Sin KYC — sin ID, sin selfie, sin documentos. Paga con criptomonedas: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Español
Obtener una clave API

Docs · Referencia del API · versión 1

Referencia del API SERP: GET /search y GET /credits

Todos los parámetros, valores por defecto y códigos de error del API SerpCrypto, versión 1. URL base: https://serpcrypto.com/api/v1. Todas las peticiones usan HTTPS; todas las respuestas son JSON en UTF-8.

Última actualización: · 7 min de lectura

Respuesta rápida

¿Qué parámetros acepta el endpoint de búsqueda de SerpCrypto?

GET https://serpcrypto.com/api/v1/search acepta un parámetro obligatorio, q, y nueve opcionales: engine, gl, hl, location, google_domain, device, page, safe y period. SerpCrypto devuelve JSON y cobra 1 crédito por búsqueda exitosa en los 6 motores; los errores son gratis. Los packs empiezan en 7,50 US$ por 10.000 búsquedas, pagando con criptomonedas y sin KYC.

¿Cómo me autentico?

Envía tu clave de una de estas dos formas. La recomendada es el header Authorization: Bearer YOUR_KEY. La otra es el parámetro de consulta api_key=YOUR_KEY, práctico para una prueba rápida en una pestaña del navegador.

Una clave ausente, incorrecta o revocada devuelve 401 invalid_api_key y no cuesta nada. Claves API que puedes crear y revocar en cualquier momento desde tu dashboard, así puedes dar su propia clave a cada script o servidor y revocar una sin tocar las demás.

Ejecutar una búsqueda

GET/api/v1/search

Ejecuta una búsqueda en el motor elegido y devuelve la página de resultados en JSON. Una búsqueda exitosa usa 1 crédito, sea cual sea el motor; un error no usa ninguno. Los parámetros van en el query string, codificados en URL. El ejemplo pide a Google tostadores de café en Austin, Texas; los IDs, recuentos y resultados son ilustrativos.

Autenticación: clave API en el header Authorization: Bearer API_KEY.

Parámetros

NombreEnTipoObligatorioDescripción
qquerystringSíLa consulta de búsqueda, tal como la escribiría una persona. Los operadores de búsqueda como las comillas o site: forman parte de la consulta.
enginequerystringNogoogle (por defecto), google_news, google_images, google_maps, google_shopping o bing.
glquerystringNoPaís de los resultados: código ISO 3166-1 alpha-2 en minúsculas, como us, de o br. Por defecto, us.
hlquerystringNoIdioma de la interfaz, como en, de o pt-BR. Por defecto, en.
locationquerystringNoLugar a nivel de ciudad, escrito City, Region, Country, como Austin, Texas, United States. Consulta ubicaciones.
google_domainquerystringNoDominio de Google en el que buscar, como google.de. Por defecto: el dominio del país de gl. Se ignora cuando engine=bing.
devicequerystringNodesktop (por defecto) o mobile.
pagequeryintegerNoPágina de resultados desde 1 (por defecto) hasta 10. Cada página es una búsqueda independiente y consume 1 crédito.
safequerystringNoactive filtra los resultados explícitos; off (por defecto) no.
periodquerystringNoSolo resultados de la última hora (h), día (d), semana (w), mes (m) o año (y).
api_keyquerystringNoTu clave, si no envías el header Authorization.

Respuesta 200

{
  "search_metadata": {
    "id": "srch_7f3a9c2e41b8",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T09:14:05Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "coffee roasters",
    "gl": "us",
    "hl": "en",
    "location": "Austin, Texas, United States",
    "google_domain": "google.com",
    "device": "desktop",
    "page": 1
  },
  "search_information": {
    "total_results": 18600000,
    "query_displayed": "coffee roasters"
  },
  "local_results": [
    {
      "position": 1,
      "title": "Example Coffee Roasters",
      "address": "123 Example St, Austin, TX",
      "rating": 4.7,
      "reviews": 312,
      "type": "Coffee roasters"
    }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "The 12 best coffee roasters in Austin",
      "link": "https://www.example.com/austin/coffee-roasters",
      "displayed_link": "www.example.com › austin › coffee",
      "snippet": "From light Nordic roasts to dark espresso blends, these local roasters…",
      "date": "Sep 30, 2026"
    },
    {
      "position": 2,
      "title": "Example Roasting Co. | Fresh beans, roasted in Austin",
      "link": "https://www.example.org/",
      "displayed_link": "www.example.org",
      "snippet": "Small-batch coffee roasted every weekday and shipped the same day…"
    }
  ],
  "people_also_ask": [
    {
      "question": "What is the oldest coffee roaster in Austin?",
      "snippet": "…",
      "title": "Austin coffee history",
      "link": "https://www.example.net/austin-coffee-history"
    }
  ],
  "related_searches": [
    {
      "query": "coffee roasters near me"
    },
    {
      "query": "coffee roasters austin wholesale"
    }
  ],
  "pagination": {
    "current": 1,
    "next_page": 2
  }
}

Ejemplos de código

curl
curl -sG "https://serpcrypto.com/api/v1/search" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
  --data-urlencode "q=coffee roasters" \
  --data-urlencode "location=Austin, Texas, United States" \
  -d gl=us -d hl=en -d device=desktop
Python
import os

import requests

r = requests.get(
    "https://serpcrypto.com/api/v1/search",
    params={
        "q": "coffee roasters",
        "location": "Austin, Texas, United States",
        "gl": "us",
        "hl": "en",
    },
    headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
    timeout=60,
)
r.raise_for_status()
print(r.json()["organic_results"][0]["link"])
Node.js
const params = new URLSearchParams({
  q: "coffee roasters",
  location: "Austin, Texas, United States",
  gl: "us",
  hl: "en",
});
const res = await fetch("https://serpcrypto.com/api/v1/search?" + params, {
  headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const data = await res.json();
console.log(data.organic_results?.[0]?.link);

¿Qué valores de engine existen y qué devuelve cada uno?

El frame (search_metadata, search_parameters, search_information) es el mismo en todos los engines. Un bloque aparece solo cuando la página lo muestra.

engineFuenteBloques principales de la respuesta
googleGoogle Searchai_overview, organic_results, ads, people_also_ask, local_results, knowledge_graph, top_stories, inline_videos, shopping_results, related_searches, pagination
google_newsGoogle Newsnews_results: title, link, source, date, snippet, thumbnail
google_imagesGoogle Imagesimages_results: URL y tamaño originales, thumbnail, página de origen
google_mapsGoogle Mapslocal_results: name, address, phone, website, rating, reviews, category, hours, coordinates
google_shoppingGoogle Shoppingshopping_results: title, price, extracted price, currency, merchant, delivery, rating
bingBingorganic_results, related_searches

Consultar tus créditos

GET/api/v1/credits

Devuelve los créditos que quedan en tu cuenta, los créditos usados desde medianoche UTC y el número de búsquedas que tu cuenta puede ejecutar al mismo tiempo. Esta llamada es gratis. Los valores siguientes son ejemplos.

Autenticación: clave API en el header Authorization: Bearer API_KEY.

Respuesta 200

{
  "credits_remaining": 84210,
  "credits_used_today": 1290,
  "concurrency_limit": 10
}

Ejemplos de código

curl
curl -s "https://serpcrypto.com/api/v1/credits" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY"
Python
import os

import requests

r = requests.get(
    "https://serpcrypto.com/api/v1/credits",
    headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
    timeout=30,
)
r.raise_for_status()
print(r.json()["credits_remaining"])
Node.js
const res = await fetch("https://serpcrypto.com/api/v1/credits", {
  headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const { credits_remaining } = await res.json();
console.log(credits_remaining);

¿Qué errores puede devolver la API?

Todos los errores tienen el body {"error": {"code": "…", "message": "…"}}. La página de errores explica cada uno y muestra el código de reintento.

HTTPcodeCuándo ocurreSe cobra
400invalid_parameterFalta un parámetro obligatorio o un valor está fuera de la lista permitidaNo
401invalid_api_keyLa clave falta, es incorrecta o fue revocadaNo
402insufficient_creditsTu cuenta no tiene créditos disponiblesNo
429concurrency_limitHay demasiadas búsquedas en ejecución al mismo tiempo en tu cuentaNo
502search_failedEl engine o la recopilación falló en esta solicitud; reinténtalaNo
504search_timeoutNo hay respuesta a tiempo; reinténtalaNo

¿Qué se cobra, exactamente?

  • Una búsqueda exitosa = un crédito, en todos los engines, incluidos Google Maps y Google Shopping.
  • Cada página de resultados es una búsqueda. Unos 10 resultados orgánicos por página, tal como Google los sirve desde que dejó de respetar num=100 en septiembre de 2025; cada página adicional es un crédito más.
  • Los errores son gratis: toda respuesta con un estado HTTP distinto de 200 no consume créditos.
  • Consultar tus créditos es gratis.

Los créditos de búsqueda prepagados no caducan nunca: las consultas sin usar se quedan en tu cuenta hasta que las uses. Los packs van desde 7,50 US$ por 10.000 búsquedas hasta 0,30 US$/1K búsquedas en el más grande; consulta precios.

¿Cómo debo codificar la consulta?

Envía q codificado como URL, igual que cualquier valor de query string: un espacio se convierte en %20 o +, y las letras acentuadas se codifican como UTF-8. curl lo hace con --data-urlencode, Python requests y httpx lo hacen con params=, y Node.js lo hace con URLSearchParams.

Escribe la consulta exactamente como la escribiría una persona en el cuadro de búsqueda. Las comillas, el signo menos o site: permanecen dentro de q; el engine decide cómo aplicarlos, igual que lo haría para un visitante.

¿La API tiene versionado?

Sí. La versión forma parte del path: /api/v1/. En las respuestas de la versión 1 pueden aparecer campos o bloques nuevos, así que tu código debería ignorar las claves que no conozca. Eliminar o renombrar un campo llegaría con una nueva versión en el path, no como un cambio en v1.

Preguntas sobre la referencia de la API

¿Puedo enviar una solicitud POST con un cuerpo JSON?

No en la versión 1: ambos endpoints aceptan solicitudes GET con los parámetros en la cadena de consulta. Así toda llamada es fácil de reproducir con curl o un navegador, y fácil de registrar sin el cuerpo.

¿Cuántos resultados devuelve una búsqueda?

Unos 10 resultados orgánicos por página, tal como Google los sirve desde que dejó de respetar num=100 en septiembre de 2025; cada página adicional es un crédito más. Para reunir 30 resultados, solicita page=1, page=2 y page=3: tres búsquedas, tres créditos.

¿Qué pasa cuando se me acaban los créditos?

La siguiente búsqueda devuelve 402 insufficient_credits y no consume nada. Compra otro pack con tu saldo en la página de precios; tu clave sigue funcionando y las búsquedas se reanudan al instante.

¿Puedo usar la misma clave desde varios servidores?

Sí. Una clave no está ligada a una dirección IP. Lo que está limitado es el número de búsquedas que se ejecutan a la vez en la cuenta: concurrency_limit en GET /credits da la cifra.

Desde 0,30 US$/1K búsquedas · sin KYC

Obtener una clave API