Sem KYC — sem documento de identidade, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Obter uma chave de API

Docs · Formato de resposta · API v1

Formato de resposta da SERP API: cada bloco e campo do JSON

Um frame em cada engine, depois um bloco por parte da página de resultados. Esta página lista cada bloco, seus campos e seus tipos. Nos exemplos, IDs, contagens, preços e resultados são ilustrativos.

Última atualização: · 7 min de leitura

Resposta rápida

O que contém uma resposta da SERP API do SerpCrypto?

Cada resposta SerpCrypto é um objeto JSON: search_metadata (status, engine, créditos usados), search_parameters (as configurações aplicadas), search_information, depois um bloco por parte da página de resultados, como organic_results, ai_overview, people_also_ask ou local_results. Partes ausentes simplesmente não aparecem. Uma página custa 1 crédito, a partir de US$ 0,30/1K pesquisas; pago com cripto, sem KYC.

Como é uma resposta completa do Google?

O exemplo abaixo é uma pesquisa no Google por standing desk no Reino Unido, encurtada para um item por array. Uma resposta real tem cerca de dez resultados orgânicos e todos os outros blocos que a página mostrou para essa consulta, localização e dispositivo.

engine=google, gl=gb: valores encurtados e ilustrativos
{
  "search_metadata": {
    "id": "srch_2b81d0c6fa47",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T10:02:31Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "standing desk",
    "gl": "gb",
    "hl": "en",
    "google_domain": "google.co.uk",
    "device": "desktop",
    "page": 1
  },
  "search_information": { "total_results": 52400000, "query_displayed": "standing desk" },
  "ai_overview": {
    "text": "A standing desk lets you work while standing or sitting…",
    "references": [
      { "index": 1, "title": "How to choose a standing desk", "link": "https://www.example.co.uk/guide", "source": "Example Guide" }
    ]
  },
  "ads": [
    { "position": 1, "block": "top", "title": "Electric Standing Desks", "link": "https://shop.example.com/desks", "displayed_link": "shop.example.com", "description": "Free delivery on…" }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "Best standing desks 2026, tested",
      "link": "https://www.example.co.uk/best-standing-desks",
      "displayed_link": "www.example.co.uk › reviews",
      "snippet": "We tested 14 electric and manual desks…",
      "date": "12 Oct 2026",
      "sitelinks": [ { "title": "Budget picks", "link": "https://www.example.co.uk/best-standing-desks#budget" } ]
    }
  ],
  "people_also_ask": [
    { "question": "Is it healthy to stand all day at a desk?", "snippet": "…", "title": "Standing at work", "link": "https://www.example.org/standing" }
  ],
  "shopping_results": [
    { "position": 1, "title": "Example Desk Pro 140 cm", "price": "£299.00", "source": "Example Store", "link": "https://shop.example.com/desk-pro" }
  ],
  "related_searches": [ { "query": "standing desk electric" }, { "query": "standing desk converter" } ],
  "pagination": { "current": 1, "next_page": 2 }
}

Por que alguns blocos estão faltando na minha resposta?

Porque a página de resultados não os mostrou. O Google decide por consulta, local e dispositivo se mostra anúncios, um AI Overview, um local pack ou top stories. SerpCrypto retorna o que a página mostrou e deixa o resto de fora, em vez de enviar placeholders vazios.

Leia cada bloco com um valor padrão, como nas linhas Python abaixo. A mesma regra vale dentro de um bloco: campos opcionais como date ou sitelinks aparecem apenas nos resultados que os têm.

Python: leia blocos opcionais com segurança
data = response.json()

# A block is present only when the results page shows it: read with a default.
overview = data.get("ai_overview") or {}
organic = data.get("organic_results", [])
questions = [item["question"] for item in data.get("people_also_ask", [])]

if overview:
    print("AI Overview sources:", [ref["link"] for ref in overview.get("references", [])])
print(len(organic), "organic results,", len(questions), "questions")

O que tem em search_metadata?

CampoTipoDescrição
idstringIdentificador da pesquisa. Cite-o quando falar com o suporte.
statusstringsuccess em uma resposta 200.
enginestringA engine que executou a pesquisa.
created_atstringHorário da pesquisa, ISO 8601 em UTC.
credits_usedintegerCréditos consumidos por esta pesquisa: 1 em caso de sucesso.

O que são search_parameters e search_information?

Armazene search_parameters junto com seus resultados: ele registra exatamente de qual país, idioma, local e dispositivo veio um ranking.

CampoTipoDescrição
search_parametersobjectOs parâmetros aplicados, com os padrões preenchidos: engine, q, gl, hl, location, google_domain, device, page e os demais que você enviou.
search_information.total_resultsintegerA contagem de resultados exibida pelo mecanismo de busca, quando ele exibiu alguma. É uma estimativa, não um número exato.
search_information.query_displayedstringA consulta como a página de resultados a mostrou.

Quais campos organic_results tem?

Resultados orgânicos são os resultados da web não pagos. No Bing, organic_results tem o mesmo formato.

CampoTipoDescrição
positionintegerOrdem do resultado neste bloco nesta página, começando em 1.
titlestringO título do link azul.
linkstringA URL do resultado.
displayed_linkstringA URL ou breadcrumb como exibida abaixo do título.
snippetstringO texto exibido abaixo do título.
datestringData exibida ao lado do snippet, como escrita na página. Opcional.
sitelinksarrayLinks extras exibidos abaixo do resultado, cada um com title e link. Opcional.

Como o AI Overview é retornado?

ai_overview só está presente quando o Google mostra um AI Overview para essa consulta e local. Muitas consultas não têm nenhum.

CampoTipoDescrição
ai_overview.textstringO texto do AI Overview como exibido na página.
ai_overview.references[].indexintegerOrdem da fonte no overview.
ai_overview.references[].titlestringTítulo da página citada.
ai_overview.references[].linkstringURL da página citada.
ai_overview.references[].sourcestringNome do site, como exibido.

O que ads e people_also_ask contêm?

CampoTipoDescrição
ads[].positionintegerOrdem dentro do seu bloco.
ads[].blockstringtop ou bottom da página.
ads[].title, link, displayed_linkstringTítulo, URL de destino e URL exibida do anúncio.
ads[].descriptionstringTexto do anúncio.
people_also_ask[].questionstringA pergunta como aparece.
people_also_ask[].snippetstringO texto da resposta exibido quando a pergunta é aberta.
people_also_ask[].title, linkstringTítulo e URL da página de onde vem a resposta.

Quais outros blocos do Google podem aparecer?

BlocoCamposO que é
local_resultsposition, title, address, rating, reviews, typeO pacote local: empresas em um mapa para consultas com intenção de lugar.
knowledge_graphtitle, type, description, source.name, source.linkO painel de conhecimento sobre uma pessoa, lugar, empresa ou coisa.
top_storiestitle, link, source, dateArtigos de notícias exibidos em um carrossel.
inline_videostitle, link, source, durationResultados de vídeo exibidos dentro dos resultados da web.
shopping_resultsposition, title, price, source, linkAnúncios de produtos exibidos dentro dos resultados da web.
related_searchesqueryPesquisas sugeridas na parte inferior da página.
paginationcurrent, next_pageNúmero da página atual e da próxima, quando houver.

O que os outros motores retornam?

Cada vertical mantém a mesma estrutura e adiciona seu próprio array. No Google Maps, local_results é mais completo que o pacote local de uma pesquisa na web.

engineArray principalCampos
google_newsnews_resultsposition, title, link, source, date, snippet, thumbnail
google_imagesimages_resultsposition, title, original, original_width, original_height, thumbnail, source, link
google_mapslocal_resultsposition, title, place_id, address, phone, website, rating, reviews, type, hours, gps_coordinates.latitude, gps_coordinates.longitude
google_shoppingshopping_resultsposition, title, price, extracted_price, currency, source, link, delivery, rating, reviews
bingorganic_results, related_searchesMesmos campos dos resultados orgânicos do Google

Como preços, avaliações e datas são tipados?

Os valores mantêm a forma que a página usou quando a página os escreveu como texto. price é uma string com o símbolo da moeda, como £299.00, e o Google Shopping adiciona extracted_price como número com currency como código. rating é um número e reviews um inteiro. Datas como date ficam como escritas na página, por exemplo 12 Oct 2026 ou 3 days ago, então faça o parse no seu próprio código se precisar de um timestamp.

Como faço para montar um ranking geral em várias páginas?

Guarde o número da página junto com cada resultado. position dá a ordem dentro do bloco em uma página, e search_parameters.page indica qual página foi. Cerca de 10 resultados orgânicos por página, como o Google vem entregando desde que deixou de respeitar num=100 em setembro de 2025; cada página extra é mais um crédito.

Para rank tracking, a maioria das equipes guarda link, position, page, gl, location, device e created_at por palavra-chave e por dia. Isso basta para traçar um ranking e explicar uma mudança por local ou dispositivo. Veja rank tracking para o método completo.

Dúvidas sobre o formato da resposta

A nomenclatura dos campos é estável?

Sim, dentro da versão 1. Novos blocos ou campos podem ser adicionados, então ignore chaves que você não conhece. Remover ou renomear um campo viria com uma nova versão no caminho, como /api/v2/.

Consigo obter o HTML bruto da página?

Não. A versão 1 retorna apenas JSON já processado. Os blocos processados cobrem o que a maioria das ferramentas precisa: resultados, anúncios, perguntas, o AI Overview, o pacote local e o knowledge panel.

Por que total_results difere do que eu contei?

É a estimativa que o mecanismo exibe, não uma contagem dos resultados que você consegue paginar. As páginas acabam muito antes desse número; use pagination.next_page para saber se existe outra página.

Uma resposta sem resultados orgânicos consome um crédito?

Sim, se a pesquisa foi bem-sucedida: uma página vazia ainda é um resultado. Só os erros são gratuitos. 1 crédito = 1 solicitação de pesquisa bem-sucedida, que retorna uma página de resultados em qualquer engine compatível. Uma solicitação que falha não é cobrada.

A partir de US$ 0,30/1K pesquisas · sem KYC

Obter uma chave de API