Tu espacio. Tu API.
La misma guía API del panel Business. Todos los endpoints, costes y ejemplos, sin iniciar sesión.
Abrir espacio BusinessConecta tu espacio
- Crea un proyecto de cliente en el panel. Copia su UUID.
- Verifica tu correo. Un propietario o administrador puede crear una clave con permisos en API y webhooks.
- Guarda la clave en una variable de entorno del servidor llamada INDEXTOAST_API_KEY. Nunca la pongas en código del navegador ni en una URL.
curl https://api.indextoast.com/v1/business/usage \
-H "Authorization: Bearer $INDEXTOAST_API_KEY"curl https://api.indextoast.com/v1/business/projects \
-H "Authorization: Bearer $INDEXTOAST_API_KEY"| Permiso | Acceso |
|---|---|
usage:read | GET /usage · GET /projects |
jobs:read | GET /batches · GET /batches/:id |
jobs:write | POST /batches/review · POST /batches |
Las claves caducan y pueden revocarse. Los cambios de espacio, proyectos, claves, webhooks y facturación requieren una sesión autorizada; las claves API no gestionan pagos.
Standard
Envía URLs para indexación Standard. Cada URL única usa 1 acción Standard.
La revisión es gratuita. Devuelve quantity, duplicates, unitCost, requiredUnits, available, canSubmit y URLs normalizadas. El saldo se comprueba al enviar.
curl https://api.indextoast.com/v1/business/batches/review \
-H "Authorization: Bearer $INDEXTOAST_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"projectId": "YOUR_PROJECT_UUID",
"name": "Client campaign",
"operation": "standard",
"urls": [
"https://example.com/page-one",
"https://example.com/page-two"
],
"idempotencyKey": "campaign-standard-001"
}'curl https://api.indextoast.com/v1/business/batches \
-H "Authorization: Bearer $INDEXTOAST_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"projectId": "YOUR_PROJECT_UUID",
"name": "Client campaign",
"operation": "standard",
"urls": [
"https://example.com/page-one",
"https://example.com/page-two"
],
"idempotencyKey": "campaign-standard-001"
}'Usa entre 1 y 1.000 URLs HTTP(S) públicas, un UUID de proyecto del espacio, un nombre de 1–100 caracteres y una clave de idempotencia de 8–150 caracteres. Las URLs normalizadas duplicadas se cobran una vez.
{
"id": "BATCH_UUID",
"operation": "standard",
"quantity": 2,
"status": "queued",
"successful": 0,
"failed": 0,
"results": []
}202 significa aceptado para procesamiento. No confirma indexación ni plazo. La capacidad se descuenta una vez al aceptar.
Comprobador de indexación
Comprueba si las URLs se detectan en el índice de búsqueda. Cada URL única usa 1 acción Standard, incluidos los resultados inconclusos.
La revisión es gratuita. Devuelve quantity, duplicates, unitCost, requiredUnits, available, canSubmit y URLs normalizadas. El saldo se comprueba al enviar.
curl https://api.indextoast.com/v1/business/batches/review \
-H "Authorization: Bearer $INDEXTOAST_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"projectId": "YOUR_PROJECT_UUID",
"name": "Client campaign",
"operation": "check",
"urls": [
"https://example.com/page-one",
"https://example.com/page-two"
],
"idempotencyKey": "campaign-check-001"
}'curl https://api.indextoast.com/v1/business/batches \
-H "Authorization: Bearer $INDEXTOAST_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"projectId": "YOUR_PROJECT_UUID",
"name": "Client campaign",
"operation": "check",
"urls": [
"https://example.com/page-one",
"https://example.com/page-two"
],
"idempotencyKey": "campaign-check-001"
}'Usa entre 1 y 1.000 URLs HTTP(S) públicas, un UUID de proyecto del espacio, un nombre de 1–100 caracteres y una clave de idempotencia de 8–150 caracteres. Las URLs normalizadas duplicadas se cobran una vez.
{
"id": "BATCH_UUID",
"operation": "check",
"quantity": 2,
"status": "queued",
"successful": 0,
"failed": 0,
"results": []
}202 significa aceptado para procesamiento. No confirma indexación ni plazo. La capacidad se descuenta una vez al aceptar.
Resultados del comprobador de indexación
{
"results": [
{
"url": "https://example.com/page-one",
"result": "indexed"
},
{
"url": "https://example.com/page-two",
"result": "unknown"
}
]
}indexed = detectada; not_indexed = no detectada en esta comprobación; unknown = inconclusa. Un lote completado indica procesamiento, no un resultado positivo. Lee el resultado de cada URL.
Boost
Boost usa 20 unidades Business compartidas por URL única.
La revisión es gratuita. Devuelve quantity, duplicates, unitCost, requiredUnits, available, canSubmit y URLs normalizadas. El saldo se comprueba al enviar.
curl https://api.indextoast.com/v1/business/batches/review \
-H "Authorization: Bearer $INDEXTOAST_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"projectId": "YOUR_PROJECT_UUID",
"name": "Client campaign",
"operation": "boost",
"urls": [
"https://example.com/page-one",
"https://example.com/page-two"
],
"idempotencyKey": "campaign-boost-001"
}'curl https://api.indextoast.com/v1/business/batches \
-H "Authorization: Bearer $INDEXTOAST_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"projectId": "YOUR_PROJECT_UUID",
"name": "Client campaign",
"operation": "boost",
"urls": [
"https://example.com/page-one",
"https://example.com/page-two"
],
"idempotencyKey": "campaign-boost-001"
}'Usa entre 1 y 1.000 URLs HTTP(S) públicas, un UUID de proyecto del espacio, un nombre de 1–100 caracteres y una clave de idempotencia de 8–150 caracteres. Las URLs normalizadas duplicadas se cobran una vez.
{
"id": "BATCH_UUID",
"operation": "boost",
"quantity": 2,
"status": "queued",
"successful": 0,
"failed": 0,
"results": []
}202 significa aceptado para procesamiento. No confirma indexación ni plazo. La capacidad se descuenta una vez al aceptar.
Usa unidades Business mensuales o prepagadas para Boost. No hay una cuota Boost separada.
Seguir lotes
curl https://api.indextoast.com/v1/business/batches/BATCH_UUID \
-H "Authorization: Bearer $INDEXTOAST_API_KEY"curl https://api.indextoast.com/v1/business/batches?page=1 \
-H "Authorization: Bearer $INDEXTOAST_API_KEY"Las listas contienen 20 lotes por página. Consulta hasMore antes de pedir la siguiente. Las consultas de estado son gratuitas; usa espera progresiva o un webhook.
queued → submitting → submitted / processing → completed
↘ failed / unknownfailed o unknown requiere revisión. Contacta con soporte con el ID antes de crear un reemplazo; una clave nueva puede descontar capacidad otra vez. Los reintentos de procesamiento usan la reserva original.
Verificar firmas de webhooks
Configura un endpoint HTTPS en API y webhooks. Guarda el secreto que se muestra una vez. Recibe eventos batch.finished firmados y deduplica por ID.
x-indextoast-signature: t=TIMESTAMP,v1=HEX
HMAC-SHA256(secret, timestamp + "." + rawBody)- Verifica el cuerpo original con comparación en tiempo constante antes de procesar.
- Rechaza timestamps separados más de cinco minutos del reloj del servidor, incluidos los futuros.
- Guarda el ID antes de responder 2xx. Los reintentos son limitados; reconcilia eventos faltantes consultando el estado.
Uso y facturación
| Servicio | Coste por URL única | Saldo |
|---|---|---|
| Standard | 1 acción | Standard |
| Comprobador de indexación | 1 acción | Standard |
| Boost | 20 unidades | Standard |
Enviar 100 URLs Standard y comprobar cada una usa 200 unidades. Boost para 100 URLs usa 2.000 unidades; comprobarlas añade 100, para un total de 2.100.
{
"plan": "agency",
"included": 10000,
"purchased": 0,
"standardAvailable": 10000,
"boostAvailable": 500,
"unitCosts": {
"standard": 1,
"check": 1,
"boost": 20
},
"monthlyActionLimit": null,
"acceptedThisMonth": 0,
"periodEnd": "2026-11-08T00:00:00.000Z"
}Las acciones incluidas se usan antes que las compradas. Se renuevan en el período de pago sin acumularse; los saldos prepagados no caducan. Los saldos Regular y Business son independientes.
El límite mensual cuenta todas las operaciones aceptadas en el mes UTC. Vacío usa límites de saldo; 0 pausa nuevos trabajos. Es un límite de acciones, no un presupuesto monetario.
Errores y reintentos
Reintenta un envío con timeout usando el mismo contenido y clave. Se devuelve el lote existente sin nuevo débito. Si envías la cabecera opcional Idempotency-Key, debe coincidir con el cuerpo.
| HTTP | Significado / siguiente paso |
|---|---|
| 400 / 422 | Entrada inválida. Corrige el contenido antes de reintentar. |
| 401 / 403 | Comprueba la clave, permisos y correo verificado. |
| 404 | El proyecto o lote no está disponible en este espacio. |
| 409 | STANDARD_BALANCE_REQUIRED · SPENDING_LIMIT · IDEMPOTENCY_CONFLICT |
| 429 / 5xx | Respeta Retry-After si se indica. Reintenta con espera exponencial y la misma clave. |
Límite API: 120 solicitudes por minuto por IP, compartido entre rutas. Validación, revisión y consultas no gastan acciones. Un resultado de pago del comprobador puede ser inconcluso.