iFood Busca
#1ifood_search
Pesquisa restaurantes por keyword e CEP, percorrendo as paginas configuradas e registrando as lojas descobertas.
// docs
Busca restaurantes do iFood por keywords e CEPs, pagina os resultados e entrega uma base deduplicada de lojas com os principais dados do merchant.
Template ID
ifood-restaurants-enriched
Etapas
2
Formato final
JSON / CSV
Execução
Dashboard + API key
Este workflow serve para descoberta e enriquecimento de restaurantes no iFood. Voce informa listas de keywords e CEPs, a GeckoAPI executa as buscas paginadas, deduplica as lojas encontradas e gera um artifact final com uma linha ou objeto por merchant unico.
No Dashboard, abra Workflows e selecione este template.
Preencha as keywords, os CEPs que quer cobrir, a quantidade de paginas por busca e o formato final do arquivo.
Revise a estimativa maxima de creditos antes de iniciar a execucao.
Acompanhe o progresso das etapas de busca e enriquecimento enquanto o run estiver ativo.
Ao terminar, baixe o artifact em JSON ou CSV e trate cada item como uma loja unica enriquecida.
ifood_search
Pesquisa restaurantes por keyword e CEP, percorrendo as paginas configuradas e registrando as lojas descobertas.
ifood_store
Enriquece cada loja unica encontrada e consolida os dados finais do merchant para o artifact.
Estes são os campos usados no dashboard e no body do
POST /v1/workflows/runs.
| Campo | Tipo | Obrigatório | Como usar | Exemplo |
|---|---|---|---|---|
| Keywords keywords | multiline_list | Sim | Lista de termos usados nas buscas do iFood. Aceita uma entrada por linha ou valores separados por virgula. | marmita\npizza\nhamburguer |
| CEPs zipCodes | multiline_list | Sim | CEPs que definem as regioes onde a busca sera executada. Use CEPs reais da cobertura que voce quer analisar. | 80010-000\n01310-100 |
| Paginas por busca pages | number | Sim | Quantidade de paginas do iFood a percorrer para cada combinacao keyword x CEP. Cada pagina adicional aumenta a cobertura e tambem a estimativa maxima de creditos. | 2 |
| Formato final outputFormat | output_format | Sim | Formato do artifact final. JSON preserva a estrutura completa. CSV achata os campos principais. | json |
O payload abaixo já usa este templateId e um body real
compatível com o endpoint público. Depois da criação, acompanhe o run em
GET /v1/workflows/runs/{runId}/status e, se necessário,
cancele com POST /v1/workflows/runs/{runId}/cancel.
curl -X POST https://api.geckoapi.com.br/v1/workflows/runs \
+ -H "Authorization: Bearer SUA_CHAVE" \
+ -H "Content-Type: application/json" \
+ -d '{
"templateId": "ifood-restaurants-enriched",
"input": {
"keywords": [
"marmita",
"pizza"
],
"zipCodes": [
"80010-000"
],
"pages": 2,
"outputFormat": "csv"
}
}' Cancelar um workflow faz o resultado coletado até então se perder para consumo final, então use esse endpoint com cautela.
Cada execucao gera um artifact com metadados do run, input usado, estimativa de creditos, resumo operacional e a lista final de lojas enriquecidas.
O arquivo final sempre carrega metadados do run, o input original, a estimativa usada na criação e o resumo operacional da execução.
{
"runId": "run_ifood_123",
"correlationId": "corr_ifood_123",
"templateId": "ifood-restaurants-enriched",
"outputFormat": "json",
"generatedAt": "2026-03-23T12:00:00.000Z",
"input": {
"keywords": [
"marmita",
"pizza"
],
"zipCodes": [
"80010000"
],
"pages": 2,
"outputFormat": "json"
},
"estimate": {
"maxCredits": 4212,
"breakdown": [],
"caps": []
},
"summary": {
"status": "completed",
"completedTasks": 18,
"failedTasks": 1,
"discoveredStores": 146,
"uniqueStores": 89
},
"items": [
{
"storeId": "store-1",
"matchedKeywords": [
"pizza",
"marmita"
],
"matchedZipCodes": [
"80010000"
],
"hitCount": 3,
"firstSeen": {
"keyword": "pizza",
"zipCode": "80010000",
"page": 1,
"position": 4,
"url": "https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1",
"name": "Pizza do Centro",
"seenAt": "2026-03-23T11:58:00.000Z"
},
"merchant": {
"name": "Pizza do Centro",
"url": "https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1",
"phone": "41 3333-4444",
"mainCategoryName": "Pizza",
"address": {
"city": "Curitiba",
"state": "PR",
"zipCode": "80010000"
},
"deliveryTimeMin": 25,
"deliveryFee": 6.9,
"userRating": 4.8
}
}
]
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| correlationId | string | Correlacao interna usada para rastrear a execucao de ponta a ponta. | corr_ifood_123 |
| estimate.maxCredits | number | Estimativa maxima de creditos reservada para este run. | 4212 |
| generatedAt | ISO-8601 string | Momento em que o arquivo final foi consolidado. | 2026-03-23T12:00:00.000Z |
| input.keywords[] | string | Keywords realmente usadas para montar as buscas. | marmita |
| input.outputFormat | "json" | "csv" | Formato solicitado no momento da criacao do run. | json |
| input.pages | number | Quantidade de paginas percorridas por busca. | 2 |
| input.zipCodes[] | string | CEPs realmente usados na execucao. | 80010000 |
| items[] | WorkflowLegacyExportItem | Lista final de lojas enriquecidas exportadas pelo workflow. | {"storeId":"store-1","matchedKeywords":["pizza","marmita"],"matchedZipCodes":["80010000"],"hitCount":3,"firstSeen":{"keyword":"pizza","zipCode":"80010000","page":1,"position":4,"url":"https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1","name":"Pizza do Centro","seenAt":"2026-03-23T11:58:00.000Z"},"merchant":{"name":"Pizza do Centro","url":"https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1","phone":"41 3333-4444","mainCategoryName":"Pizza","address":{"city":"Curitiba","state":"PR","zipCode":"80010000"},"deliveryTimeMin":25,"deliveryFee":6.9,"userRating":4.8}} |
| outputFormat | "json" | "csv" | Formato do artifact baixado pelo usuario. | json |
| runId | string | Identificador unico do run criado no dashboard. | run_ifood_123 |
| summary.completedTasks | number | Total de tarefas concluídas com sucesso. | 18 |
| summary.discoveredStores | number | Quantidade total de lojas vistas antes da deduplicacao. | 146 |
| summary.failedTasks | number | Total de tarefas que falharam na execucao. | 1 |
| summary.status | WorkflowRunStatus | Status final do workflow. | completed |
| summary.uniqueStores | number | Quantidade de lojas unicas exportadas no arquivo final. | 89 |
| templateId | string | Template de workflow usado na execucao. | ifood-restaurants-enriched |
Cada item representa uma loja unica do iFood, com rastreabilidade de onde ela foi encontrada e os principais dados retornados no enrichment da loja.
{
"storeId": "store-1",
"matchedKeywords": [
"pizza",
"marmita"
],
"matchedZipCodes": [
"80010000"
],
"hitCount": 3,
"firstSeen": {
"keyword": "pizza",
"zipCode": "80010000",
"page": 1,
"position": 4,
"url": "https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1",
"name": "Pizza do Centro",
"seenAt": "2026-03-23T11:58:00.000Z"
},
"merchant": {
"name": "Pizza do Centro",
"url": "https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1",
"phone": "41 3333-4444",
"mainCategoryName": "Pizza",
"address": {
"city": "Curitiba",
"state": "PR",
"zipCode": "80010000"
},
"deliveryTimeMin": 25,
"deliveryFee": 6.9,
"userRating": 4.8
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| firstSeen.keyword | string | Primeira keyword em que a loja apareceu. | pizza |
| firstSeen.name | string | null | Nome observado na primeira aparicao. | Pizza do Centro |
| firstSeen.page | number | Pagina da primeira aparicao. | 1 |
| firstSeen.position | number | null | Posicao aproximada da primeira aparicao na listagem. | 4 |
| firstSeen.seenAt | ISO-8601 string | Momento em que a loja foi vista pela primeira vez. | 2026-03-23T11:58:00.000Z |
| firstSeen.url | string | null | URL observada quando a loja foi vista pela primeira vez. | https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1 |
| firstSeen.zipCode | string | Primeiro CEP em que a loja apareceu. | 80010000 |
| hitCount | number | Numero de aparicoes desta loja durante o run. | 3 |
| matchedKeywords[] | string | Keywords nas quais esta loja apareceu durante a coleta. | pizza |
| matchedZipCodes[] | string | CEPs em que a loja foi encontrada. | 80010000 |
| merchant.address.city | string | null | Cidade associada ao merchant. | Curitiba |
| merchant.address.state | string | null | UF associada ao merchant. | PR |
| merchant.address.zipCode | string | null | CEP associado ao merchant. | 80010000 |
| merchant.deliveryFee | number | null | Taxa de entrega capturada no enrichment. | 6.9 |
| merchant.deliveryTimeMin | number | null | Tempo estimado de entrega em minutos. | 25 |
| merchant.mainCategoryName | string | null | Categoria principal exibida pelo iFood. | Pizza |
| merchant.name | string | Nome consolidado da loja enriquecida. | Pizza do Centro |
| merchant.phone | string | null | Telefone do merchant quando disponivel. | 41 3333-4444 |
| merchant.url | string | URL final da loja no iFood. | https://www.ifood.com.br/delivery/curitiba-pr/pizza-do-centro/store-1 |
| merchant.userRating | number | null | Nota publica da loja quando disponivel. | 4.8 |
| storeId | string | Identificador da loja unica no artifact final. | store-1 |
Use o template no dashboard para estimar créditos, acompanhar a execução por etapa e baixar o artifact final.