API de Google Search
La API de Google Search te permite realizar busquedas web y recibir resultados estructurados. Soporta multiples tipos de busqueda, segmentacion geografica, emulacion de dispositivo y dos modos de profundidad de resultados.
Endpoint
Bash
POST https://api.scavio.dev/api/v1/googleCabeceras
| Cabecera | Valor | Requerido |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | Si |
Content-Type | application/json | Si |
Cuerpo de la Solicitud
| Parametro | Tipo | Por defecto | Descripcion |
|---|---|---|---|
query | string | -- | Requerido. La consulta de busqueda (1-500 caracteres). |
search_type | string | classic | Uno de: classic, news, maps, images, lens |
country_code | string | -- | Codigo de pais ISO 3166-1 alpha-2 (ej. us, gb, de). Ver lista completa. |
language | string | -- | Codigo de idioma ISO 639-1 (ej. en, fr, es) |
page | number | 1 | Numero de pagina de resultados (indexado desde 1) |
device | string | desktop | desktop o mobile. La busqueda de noticias solo soporta desktop. |
nfpr | boolean | false | Establecer a true para desactivar la autocorreccion de la consulta |
light_request | boolean | omitido (ligero) | Omitir para modo ligero (1 credito). Establecer a false para resultados completos (2 creditos) incluyendo knowledge graph, busquedas relacionadas y mas. |
Costo en Creditos
| Escenario | Creditos |
|---|---|
light_request omitido o no enviado | 1 |
"light_request": false | 2 |
Ejemplo Minimo
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"}'Ejemplo Completo (con todos los parametros)
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
}'Restricciones
- Cuando
search_typeesnews, solo se permitedesktopcomodevice. Enviarmobiledevolvera un error 400. - Valores invalidos de
search_type(ej.shopping,ai_mode) devolvera un error de validacion 400. devicesolo aceptadesktopomobile.tabletno esta soportado.
Formato de Respuesta
Todas las respuestas exitosas devuelven un objeto JSON. Algunos campos estan siempre presentes, mientras que otros solo aparecen cuando no estan vacios (tipicamente en modo completo).
Campos Principales (siempre presentes)
| Campo | Tipo | Descripcion |
|---|---|---|
results | array | Array de objetos de resultados de busqueda organicos |
results[].title | string | Titulo de la pagina del resultado de busqueda |
results[].url | string | URL completa del resultado |
results[].content | string | Fragmento o meta descripcion de la pagina |
results[].position | number | Posicion indexada desde 1 en los resultados |
query | string | La consulta que se ejecuto |
page | number | El numero de pagina devuelto |
country_code | string | Codigo de pais utilizado para la busqueda |
language | string | Codigo de idioma utilizado para la busqueda |
response_time | number | Tiempo de respuesta del servidor en milisegundos |
credits_used | number | Numero de creditos consumidos (1 o 2) |
credits_remaining | number | Creditos restantes en tu periodo de facturacion actual |
Campos Opcionales (presentes cuando no estan vacios)
Estos se devuelven tipicamente en modo completo ("light_request": false) pero tambien pueden aparecer en modo ligero cuando los datos estan disponibles.
| Campo | Tipo | Descripcion |
|---|---|---|
top_stories | array | Elementos del carrusel de noticias destacadas |
news_results | array | Articulos de noticias con title, link, source, snippet, date, relative_date, domain, position |
knowledge_graph | object | Panel de conocimiento con title, subtitle, y array de factoids |
questions | array | "Otras preguntas de los usuarios" con question y answer |
related_searches | array | Consultas relacionadas, cada una con query, link, type, position |
total_results | number | Total estimado de resultados para la consulta |
search_url | string | La URL original del motor de busqueda para esta consulta |
Ejemplo de Respuesta en Modo Ligero
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
}Ejemplo de Respuesta en Modo Completo
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
}Ejemplo de Resultados de Noticias
Cuando search_type es news, el campo news_results se llena:
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
}
]
}Notas
- El array
resultsesta ordenado por relevancia (la posicion 1 es la mas relevante) - Los campos opcionales solo estan presentes cuando no estan vacios -- siempre verifica su existencia antes de acceder a ellos
- El modo ligero (1 credito) devuelve resultados principales. El modo completo (2 creditos) puede incluir todos los campos opcionales.
Relacionados
- YouTube API -- busqueda y metadatos
- Amazon API -- busqueda de productos y detalles
- Codigos de Pais -- codigos de pais soportados
- Errores -- codigos de error y manejo