¿Cómo obtengo una clave API?
Inicia sesión en IndexBooster → ve a la sección API. Habilita el acceso y genera una clave. Puedes regenerarla si es necesario.
La API pública te permite añadir URLs para su indexación de forma programática, crear proyectos, listar proyectos/URLs y consultar tu saldo de créditos.
URL base: https://app.indexbooster.net/api
Autenticación: cada solicitud debe incluir el encabezado X-API-Key con tu clave API.
Genera tu clave API en el panel de control: Iniciar sesión → API IndexBooster. Luego añade este encabezado a las solicitudes:
X-API-Key: YOUR_API_KEY
Consejo: al llamar a POST /v1/submit-url sin especificar un proyecto, se utilizará o creará automáticamente tu proyecto personal llamado API.
curl -X POST "https://app.indexbooster.net/api/v1/submit-url" \
-H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{
"urls": ["https://example.com/", "https://example.com/page-1"]
}'
curl -X POST "https://app.indexbooster.net/api/v1/projects/create" \
-H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{
"name": "Mi proyecto API",
"description": "Creado mediante API",
"urls": ["https://example.com/","https://example.com/page-1"]
}'
curl -X POST "https://app.indexbooster.net/api/v1/projects/123/submit-url" \
-H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{
"urls": ["https://example.com/new-page"]
}'
curl -X GET "https://app.indexbooster.net/api/v1/credits"
-H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json"
import requests
API_BASE = "https://app.indexbooster.net/api"
API_KEY = "YOUR_API_KEY"
headers = {"X-API-Key": API_KEY, "Content-Type": "application/json"}
# 1) Enviar URLs al proyecto API predeterminado
r = requests.post(f"{API_BASE}/v1/submit-url", json={
"urls": ["https://example.com/", "https://example.com/page-1"]
}, headers=headers)
print("submit default:", r.status_code, r.json())
# 2) Crear un proyecto + añadir URLs
r = requests.post(f"{API_BASE}/v1/projects/create", json={
"name": "Mi proyecto API",
"description": "Creado desde un script",
"urls": ["https://example.com/a","https://example.com/b"]
}, headers=headers)
print("create project:", r.status_code, r.json())
# 3) Añadir URLs a un proyecto existente (id=123)
r = requests.post(f"{API_BASE}/v1/projects/123/submit-url", json={"urls": ["https://example.com/new"]}, headers=headers)
print("add to project:", r.status_code, r.json())
# 4) Saldo de créditos
r = requests.get(f"{API_BASE}/v1/credits", headers=headers)
print("credits:", r.status_code, r.json())
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
const API_BASE = "https://app.indexbooster.net/api";
const API_KEY = "YOUR_API_KEY";
const headers = { "X-API-Key": API_KEY, "Content-Type": "application/json" };
(async () => {
// Proyecto API predeterminado
let res = await fetch(API_BASE + "/v1/submit-url", {
method: "POST", headers, body: JSON.stringify({ urls: ["https://example.com/"] })
});
console.log("submit default:", await res.json());
// Proyecto con nombre
res = await fetch(API_BASE + "/v1/projects/create", {
method: "POST", headers, body: JSON.stringify({
name: "Mi proyecto API",
description: "Creado mediante Node",
urls: ["https://example.com/x","https://example.com/y"]
})
});
console.log("create project:", await res.json());
})();
| Método | Ruta | Descripción | Notas |
|---|---|---|---|
| POST | /v1/submit-url |
Añade URLs a tu proyecto predeterminado API (creado automáticamente en el primer uso). |
Hasta 2.000 URLs por solicitud; 1 crédito por cada URL nueva; las URLs que ya estén en “Request in progress” se omiten. |
| POST | /v1/projects/create |
Crea un proyecto con nombre y añade URLs de inmediato. | El nombre del proyecto debe ser único por usuario. |
| POST | /v1/projects/<project_id>/submit-url |
Añade URLs a un proyecto existente. | Se aplican las mismas reglas que en /v1/submit-url. |
| GET | /v1/projects |
Lista tus proyectos. | Devuelve: id, name, description, created_at, updated_at (ISO). |
| GET | /v1/projects/<project_id>/urls |
Lista las URLs de un proyecto con su estado de indexación. | Los campos incluyen: indexable, indexing_status, snippet_info. |
| GET | /v1/credits |
Devuelve el saldo de créditos restante. | JSON simple: { "credits": number }. |
http:// o https://; las URLs raíz se normalizan con una barra final (https://site.com/).200): contiene contadores agregados (submitted, deducted_credits) y una lista de registros creados con id, url. Para /v1/submit-url, también se devuelve project_id./v1/submit-url usa tu proyecto personal API (creado automáticamente en la primera llamada).| Código | Motivo | Acción |
|---|---|---|
400 | Entrada no válida | Comprueba el JSON, el formato de la URL y los límites. |
403 | Clave no válida/desactivada o créditos insuficientes | Verifica X-API-Key, habilita la API y recarga créditos. |
404 | Proyecto no encontrado | Asegúrate de que el project_id te pertenezca. |
429 | Límite de solicitudes excedido | Reduce la frecuencia y espera a que se reinicie la ventana. |
100 solicitudes por minuto por clave API. Si se supera este límite, se devuelve 429 Too Many Requests.
Inicia sesión en IndexBooster → ve a la sección API. Habilita el acceso y genera una clave. Puedes regenerarla si es necesario.
Es tu proyecto personal llamado API, creado automáticamente en la primera llamada a POST /v1/submit-url y utilizado por defecto en las siguientes llamadas a ese endpoint.
Hasta 2.000 URLs por solicitud. Si se supera el límite, el servidor devuelve 400.
Omitimos automáticamente las URLs que ya están en estado “Request in progress”, por lo que no se vuelven a cobrar créditos por ellas.