Naar de inhoud
Subsido

De API gebruiken

Limieten en quota

Drie limieten, die elk gemeld worden voor je ze bereikt: requests per seconde, requests per maand en match-evaluaties per maand.

Per plan

Wat elk plan bevat
DeveloperProBusinessEnterprise
Requests per maand10.000100.000500.000Onbeperkt
Match-evaluaties per maandEén onderneming geëvalueerd tegen alle maatregelen.1001.00010.000Onbeperkt
Requests per seconde51540150
API-sleutels23550
Rijen per pagina100200200500
Ondernemingen per bulkmatchNiet inbegrepenNiet inbegrepen5005.000
Ondernemingen op watchlistsNiet inbegrepenNiet inbegrepen5.000Onbeperkt
Webhook-endpointsNiet inbegrepen51050
Change feedGET /v1/changesInbegrepenInbegrepenInbegrepenInbegrepen
Versies van elke maatregelGET /v1/subsidies/{id}/versionsNiet inbegrepenInbegrepenInbegrepenInbegrepen
Een maatregel zoals hij op een datum was?as_of=Niet inbegrepenInbegrepenInbegrepenInbegrepen
WebhooksNiet inbegrepenInbegrepenInbegrepenInbegrepen
BulkmatchingPOST /v1/match/bulkNiet inbegrepenNiet inbegrepenInbegrepenInbegrepen
WatchlistsNiet inbegrepenNiet inbegrepenInbegrepenInbegrepen
Export van de hele catalogusNDJSONNiet inbegrepenNiet inbegrepenInbegrepenInbegrepen
Herverdelingsrechten (bij contract)Niet inbegrepenNiet inbegrepenNiet inbegrepenInbegrepen

Rechtstreeks uit GET /v1/plans, de tabel die de API toepast. De prijzen staan op prijzen.

Een account zonder plan kan een sleutel aanmaken, maar die sleutel antwoordt op elke route 402 subscription_required, nog voor er een limiet geteld wordt, tot er in het dashboard een plan gekozen is.

Requests per seconde

Elk account heeft een token bucket op maat van zijn plan, gedeeld door al zijn sleutels, met een burst van één seconde aan requests: een handvol parallelle requests gevolgd door een pauze is prima, een lus zonder rem niet. Daarboven is het antwoord 429 rate_limit_exceeded met Retry-After: 1. De rate limit wordt vóór het quotum gecontroleerd, zodat een client in zo’n lus te horen krijgt dat hij moet vertragen, en niet dat zijn maand op is. De routes zonder sleutel worden in de plaats daarvan per adres van de client beperkt.

Requests per maand

Elke request naar een route met sleutel telt één keer, wat hij ook teruggeeft, het MCP-endpoint en GET /v1/key inbegrepen; een request zonder geldige sleutel of zonder plan, of een die door de rate limit of het quotum zelf geweigerd wordt, telt niet. Live- en testsleutels tellen op dezelfde manier. De maand is de UTC-kalendermaand. Is ze op, dan is het antwoord 429 quota_exceeded, met in Retry-After het aantal seconden tot de volgende maand begint. Enterprise heeft geen maandlimiet.

Match-evaluaties

Matching heeft een eigen maandelijkse hoeveelheid, los van de requests geteld. Een match-evaluatie is één onderneming, geëvalueerd tegen alle maatregelen:

CallEvaluaties
POST /v1/match1
POST /v1/match/bulkEén per onderneming met geldige gegevens; een onderneming die een eigen fout terugkrijgt, telt niet.
POST /v1/watchlists/{id}/companiesEén per aanvaarde onderneming, toegevoegd of vervangen.
MCP match_company, explain_eligibilityElk 1.
Een watchlist opnieuw evalueren als een maatregel verandertNiets. Inbegrepen in het plan.

Is de hoeveelheid op, dan antwoordt matching 429 match_quota_exceeded (met details.limit en Retry-After), en al de rest blijft werken: je kunt nog altijd maatregelen zoeken en lezen. Een bulkrequest of watchlist-upload die over de hoeveelheid zou gaan, wordt in zijn geheel geweigerd, en er wordt niets van geëvalueerd of geteld. GET /v1/key meldt match_evaluations_this_month.

Headers

Elk antwoord van een route met sleutel bevat de maandcijfers:

HeaderBetekenis
RateLimit-LimitHet maandelijkse requestquotum van je plan.
RateLimit-RemainingResterende requests deze maand, na deze. Het wordt 0 bij de laatste request die je mag doen.
RateLimit-ResetSeconden tot het quotum opnieuw begint, bij het begin van de volgende UTC-maand.
X-Quota-Limit, X-Quota-RemainingDezelfde twee cijfers onder een tweede naam.
curl -sI "https://api.subsido.be/v1/subsidies?limit=1" -H "Authorization: Bearer sb_live_..." | grep -i -E "ratelimit|quota"
  • Een onbeperkt plan stuurt geen header -Limit of -Remaining in plaats van een heel groot getal; RateLimit-Reset wordt wel gestuurd.
  • De headers beschrijven het maandelijkse requestquotum, niet de limiet per seconde en niet de match-evaluaties.
  • Browsers kunnen ze lezen: de API stelt ze open voor cross-origin JavaScript.

Andere grenzen

Per request

WatLimiet
Rijen per paginaDe max_page_size van het plan. Zie paginering.
Matches die POST /v1/match teruggeeftlimit, 1 tot 100 (standaard 25).
Ondernemingen in POST /v1/match/bulkDe max_bulk_companies van het plan; daarboven plan_required, met het plan dat het wel toelaat.
Ondernemingen per watchlist-upload1.000.
Zoektekst q200 tekens.
Downloads van de volledige exportTwee tegelijk voor de hele dienst; een derde wacht (429, Retry-After: 5).

Per account

WatLimiet
API-sleutelsDe api_keys van het plan.
Watchlists50.
Ondernemingen over alle watchlistsDe watchlist_companies van het plan.
Webhook-endpointsDe webhook_endpoints van het plan.

Meer nodig?

Een groter plan is één klik in het dashboard. Past wat je nodig hebt in geen enkel plan, schrijf ons dan: Enterprise wordt afgestemd op het gebruik.