Utiliser l'API
Limites et quotas
Trois limites, chacune signalée avant que vous ne l’atteigniez : requêtes par seconde, requêtes par mois et évaluations de matching par mois.
Par formule
| Developer | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Requêtes par mois | 10 000 | 100 000 | 500 000 | Illimité |
| Évaluations de matching par moisUne entreprise évaluée sur toutes les mesures. | 100 | 1 000 | 10 000 | Illimité |
| Requêtes par seconde | 5 | 15 | 40 | 150 |
| Clés API | 2 | 3 | 5 | 50 |
| Lignes par page | 100 | 200 | 200 | 500 |
| Entreprises par matching en masse | Non inclus | Non inclus | 500 | 5 000 |
| Entreprises sur les listes de suivi | Non inclus | Non inclus | 5 000 | Illimité |
| Endpoints de webhook | Non inclus | 5 | 10 | 50 |
| Flux de modificationsGET /v1/changes | Inclus | Inclus | Inclus | Inclus |
| Versions de chaque mesureGET /v1/subsidies/{id}/versions | Non inclus | Inclus | Inclus | Inclus |
| Une mesure telle qu’elle était à une date?as_of= | Non inclus | Inclus | Inclus | Inclus |
| Webhooks | Non inclus | Inclus | Inclus | Inclus |
| Matching en massePOST /v1/match/bulk | Non inclus | Non inclus | Inclus | Inclus |
| Listes de suivi | Non inclus | Non inclus | Inclus | Inclus |
| Export de tout le catalogueNDJSON | Non inclus | Non inclus | Inclus | Inclus |
| Droits de redistribution (par contrat) | Non inclus | Non inclus | Non inclus | Inclus |
Tiré de GET /v1/plans, la table appliquée par l’API. Les prix sont sur la page tarifs.
Un compte sans formule peut créer une clé, mais cette clé répond 402 subscription_required sur chaque route, avant tout décompte, tant qu’aucune formule n’est choisie dans le tableau de bord.
Requêtes par seconde
Chaque compte dispose d’un seau à jetons dimensionné selon sa formule, partagé par toutes ses clés, avec une rafale d’une seconde de débit : quelques requêtes parallèles suivies d’une pause passent, une boucle effrénée non. Au-delà, la réponse est 429 rate_limit_exceeded avec Retry-After: 1. La limite de débit est vérifiée avant le quota : on demande à un client en boucle effrénée de ralentir, au lieu de lui annoncer que son mois est épuisé. Les routes sans clé sont limitées par adresse du client.
Requêtes par mois
Chaque requête vers une route avec clé compte une fois, quelle que soit sa réponse, l’endpoint MCP et GET /v1/key compris ; une requête sans clé valide ou sans formule, ou refusée par la limite de débit ou par le quota lui-même, ne compte pas. Les clés de production et de test comptent de la même façon. Le mois est le mois civil UTC. Une fois le quota épuisé, la réponse est 429 quota_exceeded, avec dans Retry-After le nombre de secondes jusqu’au début du mois suivant. Enterprise n’a pas de limite mensuelle.
Évaluations de matching
Le matching a son propre quota mensuel, compté à part des requêtes. Une évaluation de matching, c’est une entreprise évaluée sur toutes les mesures :
| Appel | Évaluations |
|---|---|
| POST /v1/match | 1 |
| POST /v1/match/bulk | Une par entreprise aux informations valides ; une entreprise qui reçoit sa propre erreur n’est pas comptée. |
| POST /v1/watchlists/{id}/companies | Une par entreprise acceptée, ajoutée ou remplacée. |
| MCP match_company, explain_eligibility | 1 chacun. |
| Réévaluer une liste de suivi quand une mesure change | Rien. Compris dans la formule. |
Une fois le quota épuisé, le matching répond 429 match_quota_exceeded (avec details.limit et Retry-After), et tout le reste continue de fonctionner : vous pouvez toujours rechercher et lire des mesures. Une requête en masse ou un ajout à une liste de suivi qui dépasserait le quota est refusé en entier, et rien n’en est évalué ni compté. GET /v1/key indique match_evaluations_this_month.
En-têtes
Chaque réponse d’une route avec clé porte les chiffres mensuels :
| En-tête | Signification |
|---|---|
| RateLimit-Limit | Le quota mensuel de requêtes de votre formule. |
| RateLimit-Remaining | Requêtes restantes ce mois-ci, après celle-ci. La valeur atteint 0 à la dernière requête autorisée. |
| RateLimit-Reset | Secondes jusqu’à la remise à zéro du quota, au début du mois UTC suivant. |
| X-Quota-Limit, X-Quota-Remaining | Les deux mêmes chiffres sous un autre nom. |
curl -sI "https://api.subsido.be/v1/subsidies?limit=1" -H "Authorization: Bearer sb_live_..." | grep -i -E "ratelimit|quota"- Une formule illimitée n’envoie pas d’en-tête
-Limitni-Remainingplutôt qu’un très grand nombre ;RateLimit-Resetest toujours envoyé. - Les en-têtes décrivent le quota mensuel de requêtes, pas la limite par seconde ni les évaluations de matching.
- Les navigateurs peuvent les lire : l’API les expose au JavaScript cross-origin.
Autres plafonds
Par requête
| Quoi | Limite |
|---|---|
| Lignes par page | Le max_page_size de la formule. Voir pagination. |
| Résultats renvoyés par POST /v1/match | limit, de 1 à 100 (25 par défaut). |
| Entreprises dans POST /v1/match/bulk | Le max_bulk_companies de la formule ; au-delà, plan_required avec la formule qui le permet. |
| Entreprises par ajout à une liste | 1 000. |
| Texte de recherche q | 200 caractères. |
| Téléchargements de l’export complet | Deux à la fois pour tout le service ; un troisième attend (429, Retry-After: 5). |
Par compte
| Quoi | Limite |
|---|---|
| Clés API | Le api_keys de la formule. |
| Listes de suivi | 50. |
| Entreprises sur toutes les listes | Le watchlist_companies de la formule. |
| Endpoints de webhook | Le webhook_endpoints de la formule. |
Besoin de plus ?
