Authentication
Login, magic-link, refresh, MFA TOTP, password reset.
17 endpoints →L’API ExtentAPI est une REST HTTP/JSON, documentée en OpenAPI 3.1, avec une
référence regroupée par Solution Métier. Toutes les routes publiques utilisent
le header x-api-key ; les détails par endpoint (paramètres, réponses,
codes d’erreur, exemples curl/JS/Python) sont sur chaque page.
Authentication
Login, magic-link, refresh, MFA TOTP, password reset.
17 endpoints →Identity & Access
Identités, rôles, sessions, clés API, délégations, invitations, quotas.
29 endpoints →Scraper
Jobs de crawl, résultats, screenshots, webhooks.
9 endpoints →Extractor
Extractions, configs réutilisables, webhooks d’extraction.
12 endpoints →Billing
Solde, transactions, pricing.
2 endpoints →Enveloppe uniforme : toute réponse JSON suit le format
{ "status": "success" | "error", "code": "<http>[-<sous-code>]", "data" | "error": … }.
La ressource (ou la page de liste) est toujours dans data ; les erreurs dans
error. Des siblings système optionnels (cache, timing, deprecation)
peuvent accompagner data.
{ "status": "success", "code": "201-created", "data": { "id": "job_01H…", "status": "queued" }}Codes : code combine le statut HTTP et un sous-code lisible —
201-created, 202-queued (traitement async), 207-partial_success (bulk
partiel), 200 (lecture). Un replay idempotent rejoue le statut d’origine.
Pagination : les listes renvoient
data: { items: [...], pagination: { offset, limit, total, hasMore } }.
Paramètres offset (≥ 0) + limit ; pas de curseur. Filtres combinés via
POST /<ressource>/search.
Actions : DELETE / cancel / replay / revoke… renvoient un verbe au
participe passé — data: { "deleted": true, "deletedAt": "…" }
(cancelled, replayed, revoked, withdrawn…), jamais ok: true.
Authentification : x-api-key: ek_live_… sur chaque requête.
Idempotency : Idempotency-Key: <uuid-v4> sur toute création — replay 24 h.
Trace ID : x-request-id propagé du client au webhook.
Erreurs : enveloppe status: "error", code composite (ex.
404-job_not_found, 402-insufficient_credit, 422-unsafe_url) et bloc
error :
{ "status": "error", "code": "404-job_not_found", "error": { "message": "…", "requestId": "req_…", "details": [] }}Vous pouvez télécharger la spec OpenAPI complète :
openapi.json — spec publique complète (69 endpoints).