Custom Search JSON API

Alternativa a Google Custom Search JSON API: migra prima del 1° gennaio 2027

Google ha chiuso la Custom Search JSON API ai nuovi clienti e la dismetterà per tutti il 1° gennaio 2027. Semscraper raccoglie la vera pagina dei risultati di Google, renderizzata in un browser: fino a 10 pagine per parola chiave, circa 100 risultati a seconda della query, a consumo con crediti prepagati e senza abbonamento.

  • La vera SERP di Google, non un indice ridotto
  • Fino a 10 pagine per parola chiave
  • 1.000 ricerche di una pagina a 0,30 €
  • 1.000 SERP gratuite
  • Nessuna carta di credito

Cosa ha annunciato Google, e quando

Secondo la documentazione di Google (developers.google.com/custom-search/v1/overview e il centro assistenza di Programmable Search Engine), consultata il 10 ottobre 2026.

Dal 20 gennaio 2026

I nuovi motori Programmable Search Engine sono limitati a 50 domini scelti: l'opzione "Cerca in tutto il Web" non è più disponibile. I motori esistenti che la usano la mantengono fino al 1° gennaio 2027.

Chiusa ai nuovi clienti

Un nuovo progetto non può più attivare la Custom Search JSON API. Per cercare su un massimo di 50 domini, Google indica Vertex AI Search; la ricerca su tutto il Web va richiesta a Google.

1° gennaio 2027

Fine della Custom Search JSON API per i clienti esistenti. Ogni applicazione che la chiama ancora deve aver completato la migrazione.

Dove Semscraper è la scelta giusta

Semscraper non è una copia identica di Custom Search: è un'API che raccoglie la pagina di Google così come la vede un utente. Sostituisce bene alcuni usi, non tutti.

Sì: monitorare Google

Monitoraggio del posizionamento, analisi della concorrenza, studi sulle SERP, AI Overviews: ottieni i risultati reali di google.it, google.com o di qualsiasi altro paese, città e dispositivo compresi.

Sì: alimentare strumenti e agenti

Dataset, arricchimento dei dati, agenti e pipeline RAG che hanno bisogno di ciò che Google mostra davvero. L'elaborazione è asincrona: calcola una ventina di secondi di raccolta per ricerca, non una risposta istantanea.

No: la ricerca interna del tuo sito

Una barra di ricerca che deve rispondere in una frazione di secondo sulle tue pagine richiede un motore di ricerca per siti, oppure Vertex AI Search, che Google propone per un massimo di 50 domini.

Custom Search JSON API o Semscraper: le differenze

CriterioCustom Search JSON APISemscraper
Origine dei risultatiIl tuo motore Programmable Search Engine. Anche se impostato su tutto il Web, Google precisa che copre solo una parte del suo indice e mette in evidenza i tuoi siti.La vera pagina dei risultati di Google, renderizzata in un vero browser.
ContenutoUn elenco di risultati web, senza le funzionalità della Ricerca Google (Onebox, ricerca universale).Ogni blocco della pagina: risultati organici, annunci, local pack, People Also Ask, AI Overviews con le loro fonti, e altro.
Numero di risultati10 per richiesta, al massimo 100 con la paginazione (start + num non può superare 100).Fino a 10 pagine Google in una sola chiamata, circa 100 risultati a seconda della query.
Paese, lingua, città, dispositivogl favorisce i risultati di un paese, hl imposta la lingua dell'interfaccia, lr e cr filtrano i documenti.Versione di Google (paese e lingua), città o coordinate GPS, desktop o mobile.
FunzionamentoSincrono: la risposta arriva nella chiamata stessa.Asincrono: crei le ricerche (fino a 1.000 per chiamata), poi recuperi i risultati tramite ID oppure li ricevi su un URL di callback. In mediana una ventina di secondi di raccolta per una pagina, una cinquantina per 10, più l'attesa nella coda del tuo account (misurato su 12 milioni di SERP, 5,3 milioni a una pagina e 260.000 a 10 pagine, dal 12 settembre al 10 ottobre 2026).
Prezzo100 query gratuite al giorno, poi 5 $ ogni 1.000, fino a 10.000 al giorno.0,30 € ogni 1.000 ricerche di una pagina, 2,10 € ogni 1.000 ricerche di 10 pagine. Nessun abbonamento, nessun limite giornaliero, e il saldo non scade mai.
Ricerca su domini specificiSì, è ormai l'unica modalità dei nuovi motori (50 domini).Nessun elenco di domini salvato: l'operatore site: nella parola chiave limita una ricerca a un dominio.
Ricerca di immaginiSì (searchType=image).No. Viene restituito solo il blocco Immagini, quando Google lo mostra nella pagina dei risultati.

Adattare i parametri

I parametri non sono intercambiabili: ecco come adattare le tue chiamate. Gli operatori di Google passano invariati nella parola chiave.

Custom SearchSemscraper
qkeyword
gllocation, la versione di Google, che non è un codice paese: gl=it diventa location=it (google.it), gl=us diventa location=en (google.com)
hllanguage, che forma una coppia valida con location: it/it, en/en, fr/fr...
num, startdepth, da 1 a 10 pagine Google, tutte restituite dalla stessa chiamata
siteSearchsite:esempio.it nella parola chiave
exactTermsLe virgolette nella parola chiave
excludeTerms-parola nella parola chiave
fileTypefiletype:pdf nella parola chiave
lr, crNessun equivalente diretto: scegli la versione di Google e la lingua
searchType=imageNessun equivalente
key, cxUna sola chiave API, inviata nell'header Authorization: Bearer

Migrare una chiamata, passo dopo passo

La stessa esigenza in Python: i primi 10 risultati organici di una query su Google. La differenza principale è il flusso in due tempi: creazione, poi recupero.

Prima: Custom Search JSON API
import requests

r = requests.get("https://www.googleapis.com/customsearch/v1", params={
    "key": "GOOGLE_API_KEY",
    "cx": "SEARCH_ENGINE_ID",
    "q": "scarpe running",
    "gl": "it",
    "hl": "it",
    "num": 10,
})
for item in r.json().get("items", []):
    print(item["link"], item["title"], item["snippet"])
Dopo: Semscraper
import time
import requests

API = "https://api.semscraper.com/v1/serp"
HEADERS = {"Authorization": "Bearer API_KEY"}

# 1. create the search (up to 1,000 keywords per call)
r = requests.post(API, headers=HEADERS, timeout=60, json=[{
    "search_engine": "google_search",
    "keyword": "scarpe running",
    "location": "it",
    "language": "it",
    "device": "desktop",
    "depth": 1,
}])
r.raise_for_status()
ids = [row["id"] for row in r.json()["data"]]

# 2. fetch the results once ready (about 20 s of collection for a depth-1 search,
#    plus queue time), 10 minutes at most
deadline = time.time() + 600
while ids and time.time() < deadline:
    time.sleep(10)
    r = requests.get(API, headers=HEADERS, timeout=60,
                     params={"ids": ",".join(ids[:100]), "output": "json"})  # 100 IDs per call
    r.raise_for_status()
    for row in r.json()["data"]:
        if row["status"] != "done":
            continue
        ids.remove(row["id"])
        for block in row["results"]:
            if block["type"] == "organic":
                for item in block["items"]:
                    print(item["url"], item["title"], item["description"])

if ids:
    print("Still pending, fetch them later by ID:", ids)

Il campo link diventa url, snippet diventa description. Ogni risultato riporta anche la sua posizione nel blocco (rank_type), la sua posizione nella pagina (rank_serp), la sua pagina Google e la sua posizione in pixel. Per migliaia di parole chiave: creale in blocchi da 1.000, recupera i risultati in blocchi da 100 ID, oppure ricevili su un URL di callback. Vedi la Bulk SERP API.

Passare a Semscraper in quattro tappe

Una migrazione si prepara: prevedi qualche giorno di test prima di spegnere la vecchia API.

1. Testa

Lancia le tue query rappresentative con le 1.000 SERP gratuite che ricevi all'iscrizione.

2. Adatta

Parametri (gl diventa location), passaggio alle chiamate asincrone e campi della risposta (link diventa url, snippet diventa description).

3. Confronta

Pertinenza, copertura dei risultati, tempi e consumi, su un campione delle tue query reali.

4. Passa a Semscraper

Sposta la tua applicazione su Semscraper una volta convalidati i risultati, con largo anticipo sul 1° gennaio 2027.

Quanto costa, a parità di volume

Prezzi pubblici: Google verificato il 10 ottobre 2026, Semscraper alla tariffa base, prima degli sconti sulle ricariche.

EsigenzaCustom Search JSON APISemscraper
1.000 parole chiave, 1 pagina (circa 10 risultati)5 $ (1.000 query a pagamento, oltre la quota gratuita giornaliera)0,30 €
1.000 parole chiave, 10 pagine (circa 100 risultati)50 $ (10 query a pagamento per parola chiave, oltre la quota gratuita giornaliera)2,10 €
Più di 10.000 query al giornoImpossibile: limite di 10.000 al giornoNessun limite giornaliero

Se le 100 query gratuite del giorno non sono ancora state usate, calcola 4,50 $ e 49,50 $. La Custom Search JSON API non è più disponibile per i nuovi clienti: questi prezzi valgono solo per gli account esistenti, fino al 1° gennaio 2027. Prezzi dettagliati di Semscraper.

FAQ

Domande frequenti

Quando verrà dismessa la Custom Search JSON API?
È chiusa ai nuovi clienti, e Google indica che i clienti esistenti hanno tempo fino al 1° gennaio 2027 per passare a un'altra soluzione.
Semscraper restituisce gli stessi risultati di Custom Search?
No, ed è spesso proprio questo il vantaggio: Custom Search interroga il tuo motore Programmable Search Engine, che copre solo una parte dell'indice di Google. Semscraper restituisce la vera pagina dei risultati di Google, con tutti i suoi blocchi, per il paese, la lingua, la città e il dispositivo che scegli.
Posso limitare la ricerca ai miei domini?
Per un dominio, aggiungi site:tuodominio.it alla parola chiave. Non esiste un elenco di domini salvato come in un motore Programmable Search Engine. Per la ricerca interna sui tuoi siti è più adatto un motore di ricerca per siti oppure Vertex AI Search.
La risposta è immediata?
No. Ogni pagina viene renderizzata in un vero browser: in mediana calcola una ventina di secondi di raccolta per una pagina, una cinquantina per 10 pagine. Tempo mediano di raccolta misurato su 12 milioni di SERP (5,3 milioni a una pagina e 260.000 a 10 pagine) dal 12 settembre al 10 ottobre 2026; a questo si aggiunge l'attesa nella coda del tuo account, che dipende dal volume inviato. Recuperi il risultato tramite il suo ID, oppure te lo inviamo sul tuo URL di callback.
Quanto costa Semscraper dopo la migrazione?
Nessun abbonamento e nessun costo di accesso: paghi ogni ricerca che crei, 0,30 € ogni 1.000 per la prima pagina. Il recupero dei risultati è gratuito. All'iscrizione ricevi 1.000 SERP gratuite per testare le tue query.

Testa le tue query prima della scadenza

1.000 SERP gratuite, senza carta di credito.