Votre espace. Votre API.
Le même guide API que dans votre tableau de bord Business. Tous les points d’accès, coûts et exemples, sans connexion.
Ouvrir l’espace BusinessConnectez votre espace
- Créez un projet client dans le tableau de bord. Copiez son UUID.
- Vérifiez votre adresse e-mail. Un propriétaire ou administrateur peut créer une clé API à permissions limitées dans API et webhooks.
- Conservez la clé dans une variable d’environnement serveur nommée INDEXTOAST_API_KEY. Ne l’insérez jamais dans du code navigateur ou une 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"| Permission | Accès |
|---|---|
usage:read | GET /usage · GET /projects |
jobs:read | GET /batches · GET /batches/:id |
jobs:write | POST /batches/review · POST /batches |
Les clés expirent et peuvent être révoquées. Les modifications d’espace, de projet, de clé, de webhook et de facturation nécessitent une session autorisée. Les clés API ne peuvent pas gérer la facturation.
Standard
Soumettez des URL pour l’indexation Standard. Chaque URL unique utilise 1 action Standard.
La vérification gratuite renvoie quantity, duplicates, unitCost, requiredUnits, available, canSubmit et les URL normalisées. Le solde est revérifié à l’envoi.
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"
}'Utilisez 1 à 1 000 URL HTTP(S) publiques, l’UUID d’un projet de votre espace, un nom de 1 à 100 caractères et une clé d’idempotence de 8 à 150 caractères. Les URL normalisées en double dans un lot sont facturées une seule fois.
{
"id": "BATCH_UUID",
"operation": "standard",
"quantity": 2,
"status": "queued",
"successful": 0,
"failed": 0,
"results": []
}202 signifie accepté pour traitement. Cela ne confirme ni l’indexation ni le délai d’achèvement. La capacité est débitée une seule fois à l’acceptation.
Index Checker
Vérifiez si les URL sont détectées dans l’index de recherche. Chaque URL unique utilise 1 action Standard, même si le résultat est indéterminé.
La vérification gratuite renvoie quantity, duplicates, unitCost, requiredUnits, available, canSubmit et les URL normalisées. Le solde est revérifié à l’envoi.
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"
}'Utilisez 1 à 1 000 URL HTTP(S) publiques, l’UUID d’un projet de votre espace, un nom de 1 à 100 caractères et une clé d’idempotence de 8 à 150 caractères. Les URL normalisées en double dans un lot sont facturées une seule fois.
{
"id": "BATCH_UUID",
"operation": "check",
"quantity": 2,
"status": "queued",
"successful": 0,
"failed": 0,
"results": []
}202 signifie accepté pour traitement. Cela ne confirme ni l’indexation ni le délai d’achèvement. La capacité est débitée une seule fois à l’acceptation.
Résultats Index Checker
{
"results": [
{
"url": "https://example.com/page-one",
"result": "indexed"
},
{
"url": "https://example.com/page-two",
"result": "unknown"
}
]
}indexed = détecté ; not_indexed = non détecté lors de cette vérification ; unknown = indéterminé. Un lot terminé indique un état de traitement, pas un résultat d’indexation positif. Consultez chaque résultat d’URL.
Boost
Boost utilise 20 unités Business partagées par URL unique.
La vérification gratuite renvoie quantity, duplicates, unitCost, requiredUnits, available, canSubmit et les URL normalisées. Le solde est revérifié à l’envoi.
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"
}'Utilisez 1 à 1 000 URL HTTP(S) publiques, l’UUID d’un projet de votre espace, un nom de 1 à 100 caractères et une clé d’idempotence de 8 à 150 caractères. Les URL normalisées en double dans un lot sont facturées une seule fois.
{
"id": "BATCH_UUID",
"operation": "boost",
"quantity": 2,
"status": "queued",
"successful": 0,
"failed": 0,
"results": []
}202 signifie accepté pour traitement. Cela ne confirme ni l’indexation ni le délai d’achèvement. La capacité est débitée une seule fois à l’acceptation.
Utilisez vos unités Business mensuelles ou prépayées pour Boost. Aucun quota Boost séparé.
Suivre les lots
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"Les listes contiennent 20 lots par page. Consultez hasMore avant de demander la page suivante. Les lectures de statut sont gratuites ; espacez progressivement les requêtes ou utilisez un webhook.
queued → submitting → submitted / processing → completed
↘ failed / unknownfailed ou unknown nécessite une vérification. Contactez le support avec l’ID du lot avant d’en créer un autre ; une nouvelle clé peut débiter à nouveau la capacité. Les nouvelles tentatives utilisent la réservation initiale.
Vérifier les signatures des webhooks
Configurez un point de terminaison HTTPS dans API et webhooks. Conservez le secret affiché une seule fois. Recevez des événements batch.finished signés et dédupliquez par ID d’événement.
x-indextoast-signature: t=TIMESTAMP,v1=HEX
HMAC-SHA256(secret, timestamp + "." + rawBody)- Vérifiez le corps brut avec une comparaison en temps constant avant le traitement.
- Rejetez les horodatages à plus de cinq minutes de l’horloge du serveur, y compris ceux dans le futur.
- Enregistrez l’ID d’événement avant de répondre en 2xx. Les tentatives de livraison sont limitées ; récupérez les événements manqués via le statut des lots.
Utilisation et facturation
| Service | Coût par URL unique | Solde |
|---|---|---|
| Standard | 1 action | Standard |
| Index Checker | 1 action | Standard |
| Boost | 20 unités | Standard |
100 URL Standard avec un contrôle chacune utilisent 200 unités. 100 URL Boost utilisent 2 000 unités ; un contrôle chacune ajoute 100 unités, soit 2 100 au total.
{
"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"
}Les actions Standard incluses sont utilisées avant les actions achetées. Elles sont renouvelées à la période payée sans report ; les soldes prépayés n’expirent pas. Les soldes Regular et Business sont séparés.
Le plafond mensuel compte toutes les opérations acceptées dans le mois civil UTC. Vide utilise la limite du solde ; 0 suspend les nouveaux travaux. Il s’agit d’un plafond d’actions, pas d’un budget monétaire.
Erreurs et nouvelles tentatives
Après un délai dépassé, renvoyez exactement le même contenu et la même clé d’idempotence. Le lot existant est renvoyé sans nouveau débit. L’en-tête facultatif Idempotency-Key doit correspondre au corps.
| HTTP | Signification / étape suivante |
|---|---|
| 400 / 422 | Entrée invalide. Corrigez le contenu avant de réessayer. |
| 401 / 403 | Vérifiez la validité de la clé, les permissions et l’adresse e-mail vérifiée. |
| 404 | Le projet ou le lot n’est pas disponible dans cet espace. |
| 409 | STANDARD_BALANCE_REQUIRED · SPENDING_LIMIT · IDEMPOTENCY_CONFLICT |
| 429 / 5xx | Respectez Retry-After lorsqu’il est fourni. Réessayez avec un délai exponentiel et la même clé. |
Limite API : 120 requêtes par minute et par IP, partagées entre les routes. La validation, la vérification préalable et les lectures de statut ne consomment pas d’actions. Un résultat Index Checker payant peut rester indéterminé.