Envía URLs a indexación estándar o instantánea desde tu propio código. Una clave de API, una cabecera, cuatro endpoints.
Puedes enviar tu primera petición en un par de minutos.
Inicia sesión, abre tu página de cuenta y copia la clave de la sección Clave de API. Puedes regenerarla allí cuando quieras.
Compartimos la URL base de la API en privado con quienes de verdad van a integrarla, así que no la publicamos en esta página. Escríbenos y te la enviamos.
Elige un endpoint, pega tu clave y tu URL base, y envía tus URLs. Los créditos se cobran solo cuando el lote se acepta.
No publicamos aquí la URL base de la API. Contáctanos y te la damos directamente, así se queda con quien realmente la necesita.
Todos los ejemplos de esta página la escriben como BASE_URL. Sustituye ese marcador por la dirección que te enviemos y deja el resto de la ruta tal cual.
Contáctanos para la URL baseAmbos endpoints aceptan el mismo cuerpo de petición. Se diferencian en la rapidez del envío y en el coste.
La opción del día a día. Ideal para publicación habitual, lotes grandes y cobertura rutinaria de todo un sitio.
La vía rápida. Úsala para páginas que necesitan atención ya: un lanzamiento, una corrección o una publicación urgente.
Cada petición lleva tu clave de API en una cabecera. No hay otras credenciales que gestionar.
X-API-Key: YOUR_API_KEYAñade cada ruta a la URL base que te enviemos. Todos los endpoints devuelven JSON.
| Método | Ruta | Qué hace |
|---|---|---|
| POST | /api/v1/indexing/submit | Envía URLs a la cola de indexación estándar |
| POST | /api/v1/indexing/status | Comprueba si las URLs aparecen actualmente en Google |
| POST | /api/v1/instant-indexing/submit | Envía URLs a la cola de indexación instantánea |
| POST | /api/v1/instant-indexing/status | Consulta el estado en vivo de tus envíos instantáneos |
| GET | /api/v1/instant-indexing/batches | Lista tus lotes de indexación instantánea, del más reciente al más antiguo |
| GET | /api/v1/account/credits | Consulta tu saldo de créditos, el precio por URL y los límites |
Elige un producto para ver su ruta y un ejemplo listo para ejecutar en tu lenguaje.
POST /api/v1/indexing/submit| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| name | string | Sí | Una etiqueta para el lote que te permita reconocerlo después. Hasta 120 caracteres. |
| urls | string[] | Sí | URLs absolutas http:// o https://, hasta 500 por petición. Los duplicados se eliminan antes de cobrarte. |
| dripfeed | number | No | Número de días para repartir el envío. Omítelo para enviarlo todo de una vez. |
curl -X POST "BASE_URL/api/v1/indexing/submit" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"name": "My first batch",
"urls": [
"https://example.com/page-1",
"https://example.com/page-2"
]
}'Ambos productos tienen un endpoint de estado. Responden preguntas distintas, así que lee la nota de cada uno.
POST /api/v1/indexing/statusPregunta a Google si cada URL está actualmente en el índice. Úsalo para confirmar el resultado de un lote enviado antes.
curl -X POST "BASE_URL/api/v1/indexing/status" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{ "urls": ["https://example.com/page-1"] }'Cuesta 5 créditos por URL y acepta hasta 100 URLs por petición.
Todas las respuestas tienen la misma forma: un indicador de éxito, un mensaje y un objeto data.
{
"success": true,
"message": "URLs submitted for indexing.",
"data": {
"batchId": "68c7dad9265f988545ebc774",
"batchName": "My first batch",
"urlsSubmitted": 2,
"submissionStatus": "Submitted",
"creditsCharged": 40,
"remainingCredits": 824,
"createdAt": "2026-09-15T09:22:33.229Z"
}
}{
"success": true,
"message": "Checked 2 URLs.",
"data": {
"results": [
{ "url": "https://example.com/page-1", "indexed": true, "checked": true },
{ "url": "https://example.com/page-2", "indexed": false, "checked": true }
],
"urlsChecked": 2,
"creditsCharged": 10,
"remainingCredits": 814
}
}Los errores ponen success en false y explican qué cambiar. El código de estado HTTP indica la categoría.
{
"success": false,
"message": "Insufficient credits. This request needs 40 credits but the account has 10.",
"creditsRequired": 40,
"creditsAvailable": 10
}Conviene saberlo antes de montar un bucle sobre estos endpoints.
30 / min
Envíos por clave de API
120 / min
Lecturas de estado y cuenta por clave de API
500
URLs por envío
100
URLs por consulta de estado
Qué significa cada código de estado y qué hacer al respecto.
| Estado | Qué significa | Qué hacer |
|---|---|---|
| 400 | Falta un campo en el cuerpo o un valor está fuera de rango | Lee el mensaje, indica el campo. Comprueba que name está presente y que urls es un array no vacío. |
| 401 | La clave de API falta, está mal formada o no se reconoce | Confirma que la cabecera X-API-Key está puesta y coincide con la clave de tu página de cuenta. |
| 402 | No hay créditos suficientes para esta petición | La respuesta indica cuántos hacían falta y cuántos tienes. Recarga, o envía menos URLs. |
| 403 | La cuenta no puede usar este endpoint | La indexación instantánea necesita un plan de pago. Si la cuenta está inactiva, contacta con soporte. |
| 404 | Nada de tu cuenta coincide con la petición | Revisa los IDs de seguimiento o las URLs. Las consultas de estado solo cubren envíos hechos con esta cuenta. |
| 422 | Todas las URLs fueron bloqueadas por nuestra política de contenido | Consulta blockedUrls en la respuesta para ver el motivo de cada URL. No se cobró ningún crédito. |
| 429 | Demasiadas peticiones en poco tiempo | Reduce el ritmo y reintenta en un minuto. Agrupa tus URLs en menos peticiones más grandes. |
| 502 | El proveedor de indexación no estaba disponible | Reintenta en breve. No se cobró nada, así que puedes reenviar el mismo lote sin riesgo. |
Escríbenos para pedir la URL base de la API, o cuéntanos qué estás construyendo y te ayudamos a integrarlo.