API de Recherche Google
L'API de Recherche Google vous permet d'effectuer des recherches web et de recevoir des résultats structurés. Elle prend en charge plusieurs types de recherche, le ciblage géographique, l'émulation d'appareils et deux modes de profondeur de résultats.
Point d'accès
Bash
POST https://api.scavio.dev/api/v1/googleEn-têtes
| En-tête | Valeur | Requis |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | Oui |
Content-Type | application/json | Oui |
Corps de la requête
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
query | string | -- | Requis. La requête de recherche (1-500 caractères). |
search_type | string | classic | Un parmi : classic, news, maps, images, lens |
country_code | string | -- | Code pays ISO 3166-1 alpha-2 (par ex. us, gb, de). Voir la liste complète. |
language | string | -- | Code langue ISO 639-1 (par ex. en, fr, es) |
page | number | 1 | Numéro de page de résultats (indexé à partir de 1) |
device | string | desktop | desktop ou mobile. La recherche d'actualités ne prend en charge que desktop. |
nfpr | boolean | false | Définir sur true pour désactiver la correction automatique de la requête |
light_request | boolean | omis (léger) | Omettre pour le mode léger (1 crédit). Définir sur false pour des résultats complets (2 crédits) incluant le graphique de connaissances, les recherches connexes, etc. |
Coût en crédits
| Scénario | Crédits |
|---|---|
light_request omis ou non envoyé | 1 |
"light_request": false | 2 |
Exemple minimal
curl -X POST 'https://api.scavio.dev/api/v1/google' \
-H 'Authorization: Bearer sk_live_your_key' \
-H 'Content-Type: application/json' \
-d '{"query": "Scavio search API"}'Exemple complet (avec tous les paramètres)
curl -X POST 'https://api.scavio.dev/api/v1/google' \
-H 'Authorization: Bearer sk_live_your_key' \
-H 'Content-Type: application/json' \
-d '{
"query": "AI startups funding",
"search_type": "news",
"country_code": "us",
"language": "en",
"page": 1,
"device": "desktop",
"nfpr": false,
"light_request": false
}'Contraintes
- Lorsque
search_typeestnews, seuldesktopest autorisé commedevice. L'envoi demobilerenverra une erreur 400. - Les valeurs invalides de
search_type(par ex.shopping,ai_mode) renverront une erreur de validation 400. devicen'accepte quedesktopoumobile.tabletn'est pas pris en charge.
Format de réponse
Toutes les réponses réussies renvoient un objet JSON. Certains champs sont toujours présents, tandis que d'autres n'apparaissent que lorsqu'ils ne sont pas vides (généralement en mode complet).
Champs principaux (toujours présents)
| Champ | Type | Description |
|---|---|---|
results | array | Tableau d'objets de résultats de recherche organiques |
results[].title | string | Titre de la page de résultat de recherche |
results[].url | string | URL complète du résultat |
results[].content | string | Extrait ou méta-description de la page |
results[].position | number | Position (indexée à partir de 1) dans les résultats |
query | string | La requête qui a été exécutée |
page | number | Le numéro de page retourné |
country_code | string | Code pays utilisé pour la recherche |
language | string | Code langue utilisé pour la recherche |
response_time | number | Temps de réponse côté serveur en millisecondes |
credits_used | number | Nombre de crédits consommés (1 ou 2) |
credits_remaining | number | Crédits restants dans votre période de facturation actuelle |
Champs optionnels (présents lorsqu'ils ne sont pas vides)
Ceux-ci sont généralement retournés en mode complet ("light_request": false) mais peuvent aussi apparaître en mode léger lorsque les données sont disponibles.
| Champ | Type | Description |
|---|---|---|
top_stories | array | Éléments du carrousel des principales actualités |
news_results | array | Articles d'actualités avec title, link, source, snippet, date, relative_date, domain, position |
knowledge_graph | object | Panneau de connaissances avec title, subtitle, et le tableau factoids |
questions | array | "Les gens demandent aussi" avec question et answer |
related_searches | array | Requêtes connexes, chacune avec query, link, type, position |
total_results | number | Estimation du nombre total de résultats pour la requête |
search_url | string | L'URL originale du moteur de recherche pour cette requête |
Exemple de réponse en mode léger
JSON
{
"results": [
{
"title": "Scavio - Search API for Developers",
"url": "https://scavio.dev",
"content": "One API to search every platform. Structured JSON results.",
"position": 1,
"displayed_url": "https://scavio.dev",
"domain": "scavio.dev",
"date": null,
"rich_snippet": {},
"sitelinks": []
}
],
"query": "Scavio search API",
"page": 1,
"country_code": "us",
"language": "en",
"response_time": 450,
"credits_used": 1,
"credits_remaining": 999
}Exemple de réponse en mode complet
JSON
{
"results": [
{
"title": "Scavio - Search API for Developers",
"url": "https://scavio.dev",
"content": "One API to search every platform. Structured JSON results.",
"position": 1,
"displayed_url": "https://scavio.dev",
"domain": "scavio.dev",
"date": null,
"rich_snippet": {},
"sitelinks": []
}
],
"query": "Scavio search API",
"page": 1,
"country_code": "us",
"language": "en",
"response_time": 620,
"total_results": 1250000,
"search_url": "https://www.google.com/search?q=...",
"knowledge_graph": {
"title": "Scavio",
"subtitle": "Search API Platform",
"factoids": [
{ "title": "Type", "content": "Developer API" }
]
},
"related_searches": [
{ "query": "scavio api pricing", "link": null, "type": null, "position": 0 },
{ "query": "scavio search api docs", "link": null, "type": null, "position": 1 }
],
"questions": [
{
"question": "What is Scavio?",
"answer": "Scavio is a multi-platform search API..."
}
],
"credits_used": 2,
"credits_remaining": 998
}Exemple de résultats d'actualités
Lorsque search_type est news, le news_results champ est rempli :
JSON
{
"news_results": [
{
"title": "AI Startups Raise Record Funding in Q1 2026",
"link": "https://example.com/ai-funding",
"source": "TechCrunch",
"snippet": "AI companies raised over $15B in Q1 2026...",
"date": "2026-03-31T20:00:00.000Z",
"relative_date": "2 hours ago",
"domain": "techcrunch.com",
"position": 1
}
]
}Remarques
- Le tableau
resultsest trié par pertinence (la position 1 est la plus pertinente) - Les champs optionnels ne sont présents que lorsqu'ils ne sont pas vides -- vérifiez toujours leur existence avant d'y accéder
- Le mode léger (1 crédit) retourne les résultats principaux. Le mode complet (2 crédits) peut inclure tous les champs optionnels.
Liens connexes
- API YouTube -- recherche et métadonnées
- API Amazon -- recherche de produits et détails
- Codes pays -- codes pays pris en charge
- Erreurs -- codes d'erreur et gestion