IndexToast
FR
EnglishEspañolPortuguês (Brasil)DeutschFrançaisNederlands

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 Business

Connectez votre espace

  1. Créez un projet client dans le tableau de bord. Copiez son UUID.
  2. Vérifiez votre adresse e-mail. Un propriétaire ou administrateur peut créer une clé API à permissions limitées dans API et webhooks.
  3. 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.
GET /usage
curl https://api.indextoast.com/v1/business/usage \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"
GET /projects
curl https://api.indextoast.com/v1/business/projects \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"
PermissionAccès
usage:readGET /usage · GET /projects
jobs:readGET /batches · GET /batches/:id
jobs:writePOST /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.

Vérifiez d’abord. Soumettez une fois.

La vérification gratuite renvoie quantity, duplicates, unitCost, requiredUnits, available, canSubmit et les URL normalisées. Le solde est revérifié à l’envoi.

1 · POST /batches/review · jobs:write
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"
}'
2 · POST /batches · jobs:write
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.

202 Accepted · response excerpt
{
  "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é.

Vérifiez d’abord. Soumettez une fois.

La vérification gratuite renvoie quantity, duplicates, unitCost, requiredUnits, available, canSubmit et les URL normalisées. Le solde est revérifié à l’envoi.

1 · POST /batches/review · jobs:write
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"
}'
2 · POST /batches · jobs:write
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.

202 Accepted · response excerpt
{
  "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

GET /batches/:id · results excerpt
{
  "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.

Vérifiez d’abord. Soumettez une fois.

La vérification gratuite renvoie quantity, duplicates, unitCost, requiredUnits, available, canSubmit et les URL normalisées. Le solde est revérifié à l’envoi.

1 · POST /batches/review · jobs:write
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"
}'
2 · POST /batches · jobs:write
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.

202 Accepted · response excerpt
{
  "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

GET /batches/:id · jobs:read
curl https://api.indextoast.com/v1/business/batches/BATCH_UUID \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"
GET /batches · jobs:read
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.

États de traitement
queued → submitting → submitted / processing → completed
                                             ↘ failed / unknown

failed 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.

En-tête de signature
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

ServiceCoût par URL uniqueSolde
Standard1 actionStandard
Index Checker1 actionStandard
Boost20 unitésStandard

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.

GET /usage · response excerpt
{
  "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.

HTTPSignification / étape suivante
400 / 422Entrée invalide. Corrigez le contenu avant de réessayer.
401 / 403Vérifiez la validité de la clé, les permissions et l’adresse e-mail vérifiée.
404Le projet ou le lot n’est pas disponible dans cet espace.
409STANDARD_BALANCE_REQUIRED · SPENDING_LIMIT · IDEMPOTENCY_CONFLICT
429 / 5xxRespectez 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é.

Contacter le supporthello@indextoast.com