Senza KYC — nessun documento d'identità, nessun selfie, nessun documento. Paga in criptovalute: BTC, USDT, USDC, ETH, SOL, LTC
Lingua: Italiano
Ottieni una chiave API

Docs · Formato della risposta · API v1

Formato della risposta della SERP API: ogni blocco e campo del JSON

Un frame su ogni engine, poi un blocco per ogni parte della pagina dei risultati. Questa pagina elenca ogni blocco, i suoi campi e i loro tipi. Negli esempi, ID, conteggi, prezzi e risultati sono illustrativi.

Ultimo aggiornamento: · 7 min di lettura

Risposta rapida

Cosa contiene una risposta della SERP API di SerpCrypto?

Ogni risposta SerpCrypto è un oggetto JSON: search_metadata (stato, engine, crediti usati), search_parameters (le impostazioni applicate), search_information, poi un blocco per ogni parte della pagina dei risultati, come organic_results, ai_overview, people_also_ask o local_results. Le parti assenti sono semplicemente mancanti. Una pagina costa 1 credito, da 0,30 USD/1K ricerche; paghi in criptovalute, senza KYC.

Come appare una risposta completa di Google?

L'esempio qui sotto è una ricerca Google per standing desk nel Regno Unito, ridotta a un elemento per array. Una risposta reale ha circa dieci risultati organici e ogni altro blocco che la pagina ha mostrato per quella query, località e dispositivo.

engine=google, gl=gb: valori ridotti, illustrativi
{
  "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 }
}

Perché mancano alcuni blocchi dalla mia risposta?

Perché la pagina dei risultati non li mostrava. Google decide per query, località e dispositivo se mostrare ads, un AI Overview, un local pack o top stories. SerpCrypto restituisce ciò che la pagina mostrava e omette il resto, invece di inviare segnaposto vuoti.

Leggi ogni blocco con un valore di default, come nelle righe Python qui sotto. La stessa regola vale dentro un blocco: i campi opzionali come date o sitelinks compaiono solo sui risultati che li hanno.

Python: leggi i blocchi opzionali in sicurezza
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")

Cosa c'è in search_metadata?

CampoTipoDescrizione
idstringIdentificatore della ricerca. Citarlo quando contatti il supporto.
statusstringsuccess su una risposta 200.
enginestringL'engine che ha eseguito la ricerca.
created_atstringOra della ricerca, ISO 8601 in UTC.
credits_usedintegerCrediti addebitati per questa ricerca: 1 in caso di successo.

Cosa sono search_parameters e search_information?

Salva search_parameters insieme ai tuoi risultati: registra esattamente da quale paese, lingua, luogo e dispositivo proviene un posizionamento.

CampoTipoDescrizione
search_parametersobjectI parametri applicati, con i valori predefiniti inseriti: engine, q, gl, hl, location, google_domain, device, page e gli altri che hai inviato.
search_information.total_resultsintegerIl numero di risultati visualizzato dal motore, quando ne mostra uno. Una stima, non un dato esatto.
search_information.query_displayedstringLa query così come l'ha mostrata la pagina dei risultati.

Quali campi ha organic_results?

I risultati organici sono i risultati web non a pagamento. Su Bing, organic_results ha la stessa struttura.

CampoTipoDescrizione
positionintegerOrdine del risultato in questo blocco su questa pagina, a partire da 1.
titlestringIl titolo del link blu.
linkstringL'URL del risultato.
displayed_linkstringL'URL o il breadcrumb come mostrato sotto il titolo.
snippetstringIl testo mostrato sotto il titolo.
datestringData mostrata accanto allo snippet, così come scritta sulla pagina. Facoltativa.
sitelinksarrayLink aggiuntivi mostrati sotto il risultato, ciascuno con title e link. Facoltativi.

Come viene restituito l'AI Overview?

ai_overview è presente solo quando Google mostra un AI Overview per quella query e quel luogo. Molte query non ne hanno nessuno.

CampoTipoDescrizione
ai_overview.textstringIl testo dell'AI Overview così come mostrato sulla pagina.
ai_overview.references[].indexintegerOrdine della fonte nell'overview.
ai_overview.references[].titlestringTitolo della pagina citata.
ai_overview.references[].linkstringURL della pagina citata.
ai_overview.references[].sourcestringNome del sito, come mostrato.

Cosa contengono ads e people_also_ask?

CampoTipoDescrizione
ads[].positionintegerOrdine all'interno del suo blocco.
ads[].blockstringtop o bottom della pagina.
ads[].title, link, displayed_linkstringTitolo, URL di destinazione e URL mostrato dell'annuncio.
ads[].descriptionstringTesto dell'annuncio.
people_also_ask[].questionstringLa domanda come viene mostrata.
people_also_ask[].snippetstringIl testo della risposta mostrato quando si apre la domanda.
people_also_ask[].title, linkstringTitolo e URL della pagina da cui proviene la risposta.

Quali altri blocchi di Google possono comparire?

BloccoCampiCos'è
local_resultsposition, title, address, rating, reviews, typeIl local pack: attività commerciali su una mappa per query con intento di località.
knowledge_graphtitle, type, description, source.name, source.linkIl knowledge panel su una persona, un luogo, un'azienda o una cosa.
top_storiestitle, link, source, dateArticoli di notizie mostrati in un carosello.
inline_videostitle, link, source, durationRisultati video mostrati all'interno dei risultati web.
shopping_resultsposition, title, price, source, linkAnnunci di prodotti mostrati all'interno dei risultati web.
related_searchesqueryRicerche suggerite in fondo alla pagina.
paginationcurrent, next_pageNumero della pagina corrente e quello della successiva, quando esiste.

Cosa restituiscono gli altri motori?

Ogni verticale mantiene la stessa struttura e aggiunge un proprio array. Su Google Maps, local_results è più ricco del local pack di una ricerca web.

engineArray principaleCampi
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_searchesGli stessi campi dei risultati organici di Google

Come vengono tipizzati prezzi, valutazioni e date?

I valori mantengono la forma usata dalla pagina quando questa li ha scritti come testo. price è una stringa con il simbolo della valuta, ad esempio £299.00, e Google Shopping aggiunge extracted_price come numero con currency come codice. rating è un numero e reviews un intero. Le date come date restano come scritte sulla pagina, per esempio 12 Oct 2026 o 3 days ago, quindi analizzale nel tuo codice se ti serve un timestamp.

Come costruisco una posizione complessiva su più pagine?

Salva il numero di pagina insieme a ogni risultato. position dà l'ordine all'interno del suo blocco su una pagina, e search_parameters.page ti dice di quale pagina si tratta. Circa 10 risultati organici per pagina, come Google serve da quando ha smesso di rispettare num=100 a settembre 2025; ogni pagina in più costa un altro credito.

Per il rank tracking, la maggior parte dei team conserva link, position, page, gl, location, device e created_at per keyword e per giorno. È sufficiente per tracciare un grafico del posizionamento e spiegare una variazione per luogo o dispositivo. Vedi rank tracking per il metodo completo.

Domande sul formato della risposta

La denominazione dei campi è stabile?

Sì, all'interno della versione 1. Si possono aggiungere nuovi blocchi o campi, quindi ignora le chiavi che non conosci. La rimozione o la rinomina di un campo arriverebbe con una nuova versione nel path, come /api/v2/.

Posso ottenere l'HTML grezzo della pagina?

No. La versione 1 restituisce solo JSON analizzato. I blocchi analizzati coprono ciò che serve alla maggior parte degli strumenti: risultati, annunci, domande, l'AI Overview, il local pack e il knowledge panel.

Perché total_results differisce da quello che avevo contato?

È la stima che stampa il motore, non un conteggio dei risultati su cui puoi sfogliare. Le pagine finiscono molto prima di quel numero; usa pagination.next_page per sapere se esiste un'altra pagina.

Una risposta senza risultati organici costa un credito?

Sì, se la ricerca è andata a buon fine: una pagina vuota è comunque un risultato. Solo gli errori sono gratuiti. 1 credito = 1 richiesta di ricerca andata a buon fine, che restituisce una pagina di risultati su qualsiasi motore supportato. Una richiesta non riuscita non viene addebitata.

Da 0,30 USD/1K ricerche · senza KYC

Ottieni una chiave API