ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment créer un système de secours après la fin du niveau gratuit Google CSE
Tutoriel

Comment créer un système de secours après la fin du niveau gratuit Google CSE

Créez un système de secours de recherche direct avant l'arrêt du niveau gratuit de Google Custom Search Engine en janvier 2027. Migrez vers Scavio avec un simple échange de fonction.

Obtenez une clé API gratuiteDocumentation API

Le niveau gratuit de Google Custom Search Engine est limité à 50 domaines et sera complètement arrêté en janvier 2027. Si votre application dépend de Google CSE pour la recherche gratuite, vous avez besoin d'un plan de migration dès maintenant. Ce tutoriel construit une couche de secours qui essaie d'abord votre Google CSE existant, puis redirige vers Scavio lorsque Google renvoie des erreurs ou lorsque vous dépassez les limites. La dernière étape supprime complètement Google. Scavio coûte 0,005 $ par requête, avec le niveau gratuit couvrant 250 crédits par mois.

Prérequis

  • Python 3.9+ ou Node.js 18+
  • Une intégration Google CSE existante
  • Une clé API Scavio depuis scavio.dev
  • bibliothèque requests (Python) ou fetch (Node.js)

Parcours

Étape 1: Auditez votre utilisation actuelle de Google CSE

Avant la migration, mesurez le nombre de requêtes que vous envoyez et les paramètres que vous utilisez. Cela détermine le coût et aide à faire correspondre les champs Google CSE avec les champs Scavio.

Python
import os

# Your existing Google CSE config
GOOGLE_CSE_KEY = os.environ.get('GOOGLE_CSE_KEY', '')
GOOGLE_CSE_CX = os.environ.get('GOOGLE_CSE_CX', '')

# Typical Google CSE call for reference
# GET https://www.googleapis.com/customsearch/v1
#   ?key=KEY&cx=CX&q=QUERY&num=10
#
# Returns: items[].title, items[].link, items[].snippet

# Map Google CSE fields to Scavio fields:
field_map = {
    'items[].title': 'organic_results[].title',
    'items[].link': 'organic_results[].link',
    'items[].snippet': 'organic_results[].snippet',
    'items[].pagemap': 'not available (use scrape instead)',
    'searchInformation.totalResults': 'not available',
}

for google_field, scavio_field in field_map.items():
    print(f'  {google_field:40s} -> {scavio_field}')

Étape 2: Construisez la fonction de recherche avec deux fournisseurs

Créez une fonction de recherche qui essaie d'abord Google CSE et bascule vers Scavio en cas d'erreur, de limite de débit ou de résultat vide.

Python
import requests, os, time

GOOGLE_KEY = os.environ.get('GOOGLE_CSE_KEY', '')
GOOGLE_CX = os.environ.get('GOOGLE_CSE_CX', '')
SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def search_google_cse(query: str, num: int = 10) -> list:
    if not GOOGLE_KEY or not GOOGLE_CX:
        return []
    resp = requests.get('https://www.googleapis.com/customsearch/v1',
        params={'key': GOOGLE_KEY, 'cx': GOOGLE_CX, 'q': query, 'num': num},
        timeout=10)
    if resp.status_code != 200:
        print(f'Google CSE error: {resp.status_code}')
        return []
    items = resp.json().get('items', [])
    return [{'title': r['title'], 'link': r['link'],
             'snippet': r.get('snippet', '')} for r in items]

def search_scavio(query: str, num: int = 10) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': num})
    resp.raise_for_status()
    return [{'title': r['title'], 'link': r['link'],
             'snippet': r.get('snippet', '')} for r in resp.json().get('organic_results', [])]

def search(query: str, num: int = 10) -> dict:
    start = time.time()
    results = search_google_cse(query, num)
    if results:
        return {'results': results, 'provider': 'google_cse',
                'latency_ms': int((time.time() - start) * 1000), 'cost': 0}
    results = search_scavio(query, num)
    return {'results': results, 'provider': 'scavio',
            'latency_ms': int((time.time() - start) * 1000), 'cost': 0.005}

Étape 3: Testez les deux fournisseurs côte à côte

Exécutez les mêmes requêtes via les deux fournisseurs pour vérifier que Scavio renvoie des résultats équivalents avant de basculer.

Python
test_queries = [
    'best CRM software 2026',
    'python web scraping tutorial',
    'react server components explained',
]

for query in test_queries:
    google_results = search_google_cse(query, 5)
    scavio_results = search_scavio(query, 5)
    print(f'Query: {query}')
    print(f'  Google CSE: {len(google_results)} results')
    print(f'  Scavio:     {len(scavio_results)} results')
    if scavio_results:
        print(f'  Top Scavio: {scavio_results[0]["title"][:60]}')
    print()

Étape 4: Remplacement direct : supprimez complètement Google CSE

Une fois validé, remplacez votre fonction de recherche par Scavio uniquement. C'est votre état post-migration -- aucune dépendance à Google.

Python
import requests, os

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def search(query: str, num: int = 10) -> list:
    """Drop-in replacement for Google CSE. Same return format."""
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': num})
    resp.raise_for_status()
    return [{'title': r['title'], 'link': r['link'],
             'snippet': r.get('snippet', '')} for r in resp.json().get('organic_results', [])]

# Usage is identical to before:
results = search('best CRM software 2026')
for r in results:
    print(f'{r["title"]}: {r["link"]}')
print(f'Cost: $0.005 per query, 250 free/month')

Exemple Python

Python
import requests, os

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def search(query, num=10):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': num})
    resp.raise_for_status()
    return [{'title': r['title'], 'link': r['link'], 'snippet': r.get('snippet', '')}
            for r in resp.json().get('organic_results', [])]

results = search('best CRM software 2026')
for r in results:
    print(f'{r["title"]}: {r["link"]}')

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function search(query, num = 10) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us', num_results: num })
  });
  const data = await resp.json();
  return (data.organic_results || []).map(r => ({
    title: r.title, link: r.link, snippet: r.snippet || ''
  }));
}

search('best CRM software 2026').then(results =>
  results.forEach(r => console.log(`${r.title}: ${r.link}`)));

Sortie attendue

JSON
Query: best CRM software 2026
  Google CSE: 0 results
  Scavio:     10 results
  Top Scavio: Best CRM Software of 2026 - Forbes Advisor

Cost: $0.005 per query, 250 free/month

Tutoriels associés

  • Comment migrer hors de la limite de 50 domaines de Google CSE
  • Comment construire un routeur de coût pour le fournisseur de recherche le moins cher
  • Comment construire un agent de secours de recherche multi-moteur

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.9+ ou Node.js 18+. Une intégration Google CSE existante. Une clé API Scavio depuis scavio.dev. bibliothèque requests (Python) ou fetch (Node.js). Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleure API de recherche gratuite après l'arrêt de Google CSE en 2026

Read more
Solution

Migration sans temps d'arrêt depuis le niveau gratuit de Google CSE

Read more
Comparison

Google CSE (Post-2027) vs Modern Search APIs (Scavio, Tavily, SerpAPI)

Read more
Best Of

Meilleures API de remplacement pour Google Custom Search Engine en 2026

Read more
Workflow

Migrer l'intégration Google CSE vers l'API de recherche

Read more
Glossary

Comparaison des niveaux gratuits d'API de recherche

Read more

Commencer

Créez un système de secours de recherche direct avant l'arrêt du niveau gratuit de Google Custom Search Engine en janvier 2027. Migrez vers Scavio avec un simple échange de fonction.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité