{"id":22837583,"url":"https://github.com/thejoaomoura/buscape_api","last_synced_at":"2026-05-05T12:33:26.230Z","repository":{"id":263716458,"uuid":"891266976","full_name":"thejoaomoura/Buscape_API","owner":"thejoaomoura","description":"API para webscraping do Buscapé","archived":false,"fork":false,"pushed_at":"2025-10-17T19:29:30.000Z","size":76,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-18T21:25:01.457Z","etag":null,"topics":["axios","buscape-api","cheerio","cors","nodejs","vercel","webscraping"],"latest_commit_sha":null,"homepage":"https://buscape-search-api.vercel.app","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thejoaomoura.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-20T02:56:03.000Z","updated_at":"2025-10-17T19:29:34.000Z","dependencies_parsed_at":"2024-11-20T04:17:41.397Z","dependency_job_id":"ba645df6-4436-45dd-b769-a41c1d46c542","html_url":"https://github.com/thejoaomoura/Buscape_API","commit_stats":null,"previous_names":["thejoaomoura/buscape_api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thejoaomoura/Buscape_API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejoaomoura%2FBuscape_API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejoaomoura%2FBuscape_API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejoaomoura%2FBuscape_API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejoaomoura%2FBuscape_API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thejoaomoura","download_url":"https://codeload.github.com/thejoaomoura/Buscape_API/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejoaomoura%2FBuscape_API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32649578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","buscape-api","cheerio","cors","nodejs","vercel","webscraping"],"created_at":"2024-12-12T23:17:17.845Z","updated_at":"2026-05-05T12:33:26.222Z","avatar_url":"https://github.com/thejoaomoura.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Buscapé API Webscraping\n\nAPI para realizar webscraping do site Buscapé.\n\n## Instalação\n\n1. Clone o repositório\n2. Instale as dependências:\n```bash\nnpm install\n```\n3. Crie um arquivo .env baseado no exemplo e configure as variáveis de ambiente\n\n## Executando o projeto\n\nPara desenvolvimento:\n```bash\nnpm run dev\n```\n\nPara produção:\n```bash\nnpm start\n```\n\n## Endpoints\n\n### 1. GET /api/search\nBusca produtos no Buscapé\n\n**Parâmetros:**\n- q (obrigatório): termo de busca\n\n**Exemplo:**\n```\nGET /api/search?q=notebook\n```\n\n**Resposta:**\n```json\n{\n    \"query\": \"notebook\",\n    \"total\": 30,\n    \"products\": [\n        {\n            \"name\": \"Nome do Produto\",\n            \"price\": \"R$ 1.999,00\",\n            \"rating\": \"4.5 (100)\",\n            \"link\": \"https://www.buscape.com.br/produto\",\n            \"tags\": [\"Indica\", \"Oferta\"],\n            \"image\": \"url-da-imagem\",\n            \"installment\": \"até 10x de R$ 199,90\"\n        }\n    ]\n}\n```\n\n### 2. GET /api/product\nObtém detalhes específicos de um produto\n\n**Parâmetros:**\n- url (obrigatório): URL completa do produto no Buscapé\n\n**Exemplo:**\n```\nGET /api/product?url=https://www.buscape.com.br/produto\n```\n\n**Resposta:**\n```json\n{\n    \"name\": \"Nome do Produto\",\n    \"price\": \"R$ 1.999,00\",\n    \"description\": \"Descrição do produto\",\n    \"specifications\": {\n        \"Marca\": \"Valor\",\n        \"Modelo\": \"Valor\"\n    },\n    \"merchants\": [\n        {\n            \"name\": \"Nome da Loja\",\n            \"price\": \"R$ 1.999,00\",\n            \"rating\": \"4.5\",\n            \"shipping\": \"Frete Grátis\"\n        }\n    ]\n}\n```\n\n### 3. POST /api/monitor/check/:id\nVerifica manualmente o preço de um produto monitorado\n\n**Parâmetros:**\n- id (obrigatório): ID do monitor\n\n**Exemplo:**\n```\nPOST /api/monitor/check/abc123\n```\n\n**Resposta:**\n```json\n{\n    \"success\": true,\n    \"result\": {\n        \"checked\": true,\n        \"notified\": false\n    }\n}\n```\n\n### 4. GET /api/monitor/unsubscribe/:id\nCancela o monitoramento de um produto (usado no e-mail)\n\n## Sistema de Monitoramento de Preços\n\n### Funcionalidades\n- ✅ Monitoramento automático de preços a cada 6 horas\n- ✅ Notificações por e-mail quando o preço alvo é atingido\n- ✅ Interface para gerenciar produtos monitorados\n- ✅ Verificação manual de preços\n- ✅ Integração com Firebase Firestore\n- ✅ E-mails via Resend API\n\n### Configuração do Monitoramento\n\n1. **Firebase Setup:**\n   - Crie um projeto no [Firebase Console](https://console.firebase.google.com/)\n   - Ative o Firestore Database\n   - Gere uma chave de conta de serviço (Service Account)\n   - Configure as variáveis de ambiente no arquivo `.env`\n\n2. **Resend Setup:**\n   - Crie uma conta em [Resend](https://resend.com/)\n   - Gere uma API Key\n   - Configure a variável `RESEND_API_KEY` no `.env`\n\n3. **Variáveis de Ambiente:**\n   Copie o arquivo `env.example` para `.env` e preencha:\n   ```\n   FIREBASE_PROJECT_ID=seu-project-id\n   FIREBASE_PRIVATE_KEY=\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n\"\n   FIREBASE_CLIENT_EMAIL=firebase-adminsdk@...\n   RESEND_API_KEY=re_sua_chave\n   EMAIL_FROM=BuscapéAPI \u003cnoreply@seudominio.com\u003e\n   ```\n\n### Endpoints de Monitoramento\n\n#### POST /api/monitor\nAdiciona um produto ao monitoramento\n\n**Body:**\n```json\n{\n    \"userEmail\": \"usuario@email.com\",\n    \"productName\": \"Nome do Produto\",\n    \"productUrl\": \"https://www.buscape.com.br/...\",\n    \"currentPrice\": 1500.00,\n    \"targetPrice\": 1300.00,\n    \"productImage\": \"url-da-imagem\"\n}\n```\n\n#### GET /api/monitor?email=usuario@email.com\nLista todos os produtos monitorados por um e-mail\n\n#### PUT /api/monitor/:id\nAtualiza o preço alvo de um monitor\n\n**Body:**\n```json\n{\n    \"targetPrice\": 1200.00\n}\n```\n\n#### DELETE /api/monitor/:id\nRemove um monitoramento\n\n## Tecnologias utilizadas\n\n### Backend\n- Node.js\n- Express\n- Axios\n- Cheerio\n- CORS\n- Firebase Admin SDK\n- Resend\n- Node-Cron\n\n### Frontend\n- Tailwind CSS\n- HeroUI V2\n- Alpine.js\n- Lucide Icons\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthejoaomoura%2Fbuscape_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthejoaomoura%2Fbuscape_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthejoaomoura%2Fbuscape_api/lists"}