Busca no Brasil
Consulta spotify na storefront brasileira com saída de rede no Brasil.
{
"target": "apps.apple.com",
"type": "plp",
"keyword": "spotify",
"region": "BR"
} // docs
Consulta resultados orgânicos e anúncios da busca nativa do App Store no Brasil e nos Estados Unidos. 5 créditos por chamada.
A consulta inclui os anúncios publicados pela App Store e pode aguardar antes de repetir uma tentativa quando a origem limita as requisições. Configure um timeout de pelo menos 120 segundos no seu cliente. Se a limitação persistir, a API retorna HTTP 429 com errorCode=UPSTREAM_RATE_LIMITED, o cabeçalho Retry-After e retryAfterSeconds no corpo; aguarde esse intervalo antes de tentar novamente. Chamadas que terminam nessa falha têm os créditos devolvidos. Respostas com ads=[] são válidas e não provocam novas tentativas.
Testar este endpoint no sandboxTempo de resposta: A consulta usa a busca do aplicativo App Store, sem Apple ID. A disponibilidade de anúncios varia por palavra-chave, país e momento; ads=[] é válido. Não há paginação nesta versão. A resposta preserva o JSON nativo, cujo formato pode variar. Exemplo reduzido de uma coleta real em 27/10/2026: exibe dois recursos orgânicos e um anúncio; metadados de eventos e demais atributos foram omitidos somente do exemplo. Não representa uma promessa de anúncio ou ranking em novas consultas.
Nota importante: alguns campos podem retornar null em produção,
dependendo da página de origem. Consulte o schema e a descrição de cada campo
para tratar valores ausentes; os exemplos mostram uma resposta possível.
Quando a entidade consultada não existe na origem, o extract e a tool MCP retornam
200 com data: null e
notFound: true. Esse caso é tratado como resposta concluída,
não como erro de servidor.
curl -X POST https://api.geckoapi.com.br/v1/extract \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"target": "apps.apple.com",
"type": "plp",
"keyword": "spotify",
"region": "BR"
}'
A mesma seam também aparece no MCP hospedado como uma tool dedicada.
Os argumentos reaproveitam os campos do extract, mas target e type
já ficam fixos pela tool.
Endpoint
POST /v1/mcp
Tool name
apps_apple_com_plp
Auth
Bearer ou X-API-Key
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "apps_apple_com_plp",
"arguments": {
"keyword": "spotify",
"region": "BR",
"executionId": "exec_example_123"
}
}
}
Campos suportados nesta API do POST /v1/extract,
com regras específicas de obrigatoriedade e condicionais.
| Campo | Tipo | Status | Regra | Default | Exemplo |
|---|---|---|---|---|---|
| keyword Palavra-chave para buscas PLP. Em Google Search ela representa a query enviada ao Google; em Booking PLP é obrigatória; em outros PLPs pode substituir a URL. | string | Obrigatório | Termo de busca com 1 a 200 caracteres, após remover espaços externos. | - | spotify |
| region Região da consulta. O formato depende da API; Temu PDP aceita br (Brasil), us (Estados Unidos), uk (Reino Unido) e co (Colômbia); PLP aceita br, us e uk. O padrão da Temu sem país na URL é br e OLX aceita uma região textual. | string | Opcional | BR (Brasil) ou US (Estados Unidos). Define a storefront, idioma e país de saída da consulta. | BR | BR |
| target Fonte alvo da extração. | enum | Obrigatório | Use apps.apple.com. | apps.apple.com | apps.apple.com |
| type Tipo da extração: pdp, idp, plp, ilp, quote, review ou places. | enum | Obrigatório | Use plp. | plp | plp |
Consulta spotify na storefront brasileira com saída de rede no Brasil.
{
"target": "apps.apple.com",
"type": "plp",
"keyword": "spotify",
"region": "BR"
} Consulta weather na storefront americana com saída de rede nos Estados Unidos.
{
"target": "apps.apple.com",
"type": "plp",
"keyword": "weather",
"region": "US"
} Mapa de paths de saída com tipo esperado para esta API.
{
"requestId": "string",
"executionId": "string",
"data.source": "string",
"data.type": "string",
"data.query": "string",
"data.region": "string",
"data.extractedAt": "string",
"data.organicCount": "number",
"data.adCount": "number",
"data.ads[]": "object",
"data.ads[].id": "string",
"data.ads[].type": "string",
"data.ads[].attributes": "object",
"data.ads[].attributes.name": "string",
"data.ads[].attributes.artistName": "string",
"data.ads[].attributes.url": "string",
"data.ads[].attributes.userRating": "object",
"data.ads[].meta": "object | undefined",
"data.nativeResponse": "object",
"data.nativeResponse.results.search.data[]": "object",
"data.nativeResponse.results.ads-result": "object | undefined",
"data.nativeResponse.meta": "object | undefined"
} {
"requestId": "example-request",
"executionId": "example-execution",
"data": {
"source": "apps.apple.com",
"type": "plp",
"query": "spotify",
"region": "BR",
"extractedAt": "2026-10-27T20:20:02.330783Z",
"organicCount": 248,
"adCount": 1,
"ads": [
{
"id": "6477489729",
"type": "apps",
"attributes": {
"name": "Google Gemini",
"artistName": "Google",
"url": "https://apps.apple.com/br/app/google-gemini/id6477489729",
"userRating": {
"ariaLabelForRatings": "4.8 estrelas",
"ratingCount": 934598,
"ratingCountList": [
32496,
7257,
11342,
29137,
854366
],
"value": 4.8
},
"genreDisplayName": "Produtividade"
},
"meta": {}
}
],
"nativeResponse": {
"results": {
"ads-result": {
"data": [
{
"id": "6477489729",
"type": "apps",
"attributes": {
"name": "Google Gemini",
"artistName": "Google",
"url": "https://apps.apple.com/br/app/google-gemini/id6477489729",
"userRating": {
"ariaLabelForRatings": "4.8 estrelas",
"ratingCount": 934598,
"ratingCountList": [
32496,
7257,
11342,
29137,
854366
],
"value": 4.8
},
"genreDisplayName": "Produtividade"
},
"meta": {}
}
]
},
"search": {
"data": [
{
"id": "324684580",
"type": "apps",
"attributes": {
"name": "Spotify: músicas e podcasts",
"artistName": "Spotify",
"url": "https://apps.apple.com/br/app/spotify-m%C3%BAsicas-e-podcasts/id324684580",
"userRating": {
"ariaLabelForRatings": "4.9 estrelas",
"ratingCount": 11224403,
"ratingCountList": [
159871,
70689,
163290,
468298,
10362255
],
"value": 4.9
},
"genreDisplayName": "Música"
}
},
{
"id": "544007664",
"type": "apps",
"attributes": {
"name": "YouTube",
"artistName": "Google",
"url": "https://apps.apple.com/br/app/youtube/id544007664",
"userRating": {
"ariaLabelForRatings": "4.7 estrelas",
"ratingCount": 7412698,
"ratingCountList": [
196396,
88862,
187458,
499737,
6440245
],
"value": 4.7
},
"genreDisplayName": "Foto e vídeo"
}
}
]
}
},
"meta": {}
}
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| data.adCount | number | Quantidade de anúncios retornados nesta consulta; zero é um resultado válido. | 1 |
| data.ads[] | object | Recurso patrocinado nativo, preservado sem normalização destrutiva. | {"id":"6477489729","type":"apps","attributes":{"name":"Google Gemini","artistName":"Google","url":"https://apps.apple.com/br/app/google-gemini/id6477489729","userRating":{"ariaLabelForRatings":"4.8 estrelas","ratingCount":934598,"ratingCountList":[32496,7257,11342,29137,854366],"value":4.8},"genreDisplayName":"Produtividade"},"meta":{}} |
| data.ads[].attributes | object | Atributos nativos, incluindo imagens e informações específicas de plataforma quando publicados. | {"name":"Google Gemini","artistName":"Google","url":"https://apps.apple.com/br/app/google-gemini/id6477489729","userRating":{"ariaLabelForRatings":"4.8 estrelas","ratingCount":934598,"ratingCountList":[32496,7257,11342,29137,854366],"value":4.8},"genreDisplayName":"Produtividade"} |
| data.ads[].attributes.artistName | string | Nome do desenvolvedor publicado. | |
| data.ads[].attributes.name | string | Nome do aplicativo anunciado. | Google Gemini |
| data.ads[].attributes.url | string | URL pública do aplicativo. | https://apps.apple.com/br/app/google-gemini/id6477489729 |
| data.ads[].attributes.userRating | object | Objeto de avaliações publicado pela App Store. | {"ariaLabelForRatings":"4.8 estrelas","ratingCount":934598,"ratingCountList":[32496,7257,11342,29137,854366],"value":4.8} |
| data.ads[].id | string | Identificador do aplicativo anunciado. | 6477489729 |
| data.ads[].meta | object | undefined | Metadados publicitários nativos, incluindo extraAdInfo quando disponível. Campos opcionais e dinâmicos; URLs de eventos não são acionadas pela GeckoAPI. | {} |
| data.ads[].type | string | Tipo de recurso retornado pela Apple. | apps |
| data.extractedAt | string | Data e hora da coleta em UTC. | 2026-10-27T20:20:02.330783Z |
| data.nativeResponse | object | Resposta JSON completa da busca do aplicativo App Store, incluindo resultados, relacionamentos e metadados nativos. | {"results":{"ads-result":{"data":[{"id":"6477489729","type":"apps","attributes":{"name":"Google Gemini","artistName":"Google","url":"https://apps.apple.com/br/app/google-gemini/id6477489729","userRating":{"ariaLabelForRatings":"4.8 estrelas","ratingCount":934598,"ratingCountList":[32496,7257,11342,29137,854366],"value":4.8},"genreDisplayName":"Produtividade"},"meta":{}}]},"search":{"data":[{"id":"324684580","type":"apps","attributes":{"name":"Spotify: músicas e podcasts","artistName":"Spotify","url":"https://apps.apple.com/br/app/spotify-m%C3%BAsicas-e-podcasts/id324684580","userRating":{"ariaLabelForRatings":"4.9 estrelas","ratingCount":11224403,"ratingCountList":[159871,70689,163290,468298,10362255],"value":4.9},"genreDisplayName":"Música"}},{"id":"544007664","type":"apps","attributes":{"name":"YouTube","artistName":"Google","url":"https://apps.apple.com/br/app/youtube/id544007664","userRating":{"ariaLabelForRatings":"4.7 estrelas","ratingCount":7412698,"ratingCountList":[196396,88862,187458,499737,6440245],"value":4.7},"genreDisplayName":"Foto e vídeo"}}]}},"meta":{}} |
| data.nativeResponse.meta | object | undefined | Metadados de busca publicados pela origem, quando presentes. | {} |
| data.nativeResponse.results.ads-result | object | undefined | Bloco nativo de publicidade, quando presente. | {"data":[{"id":"6477489729","type":"apps","attributes":{"name":"Google Gemini","artistName":"Google","url":"https://apps.apple.com/br/app/google-gemini/id6477489729","userRating":{"ariaLabelForRatings":"4.8 estrelas","ratingCount":934598,"ratingCountList":[32496,7257,11342,29137,854366],"value":4.8},"genreDisplayName":"Produtividade"},"meta":{}}]} |
| data.nativeResponse.results.search.data[] | object | Recurso orgânico na ordem retornada pela origem. Pode representar apps ou outros tipos de conteúdo. | {"id":"324684580","type":"apps","attributes":{"name":"Spotify: músicas e podcasts","artistName":"Spotify","url":"https://apps.apple.com/br/app/spotify-m%C3%BAsicas-e-podcasts/id324684580","userRating":{"ariaLabelForRatings":"4.9 estrelas","ratingCount":11224403,"ratingCountList":[159871,70689,163290,468298,10362255],"value":4.9},"genreDisplayName":"Música"}} |
| data.organicCount | number | Quantidade de recursos na busca orgânica. Pode incluir apps e conteúdo editorial. | 248 |
| data.query | string | Palavra-chave utilizada na busca. | spotify |
| data.region | string | Storefront consultada: BR ou US. A saída de rede acompanha o país selecionado. | BR |
| data.source | string | Origem: apps.apple.com. | apps.apple.com |
| data.type | string | Tipo: plp. | plp |
| executionId | string | Identificador da execução. | example-execution |
| requestId | string | Identificador da requisição HTTP na GeckoAPI. | example-request |
Respostas com notFound: true não entram nesta tabela,
porque retornam sucesso HTTP 200.
| Status | errorCode | Quando acontece |
|---|---|---|
| 400 | INVALID_PAYLOAD | JSON inválido ou violação das regras de validação do payload. |
| 401 | UNAUTHORIZED | Header Authorization ausente ou token/chave inválida. |
| 402 | INSUFFICIENT_CREDITS | Saldo de créditos insuficiente para a API solicitada. |
| 403 | FORBIDDEN | Usuário sem acesso ou API temporariamente desabilitada. |
| 409 | EXECUTION_CONFLICT | executionId conflita com uma execução em estado incompatível. |
| 429 | RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS | Limite de taxa ou limite de requisições em voo excedido. |
| 5xx | UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_INVOCATION_FAILED / WORKER_FUNCTION_ERROR / WORKER_INVALID_RESPONSE / INTERNAL_ERROR | Falha de servidor no worker, provider/proxy ou gateway. Nesses casos os créditos são estornados automaticamente. |