Alle rate limits van de bol API, met de geschiedenis erbij
Alle 104 rate limits van de bol Partner API, dagelijks gecontroleerd bij de bron. Inclusief een gedateerd archief van wat er wanneer veranderde.
naslagwerk · voor bouwers en beheerders van bol-koppelingen
- Alle 104 limieten op één plek, dagelijks gecontroleerd bij bol zelf. Laatste controle: 31 augustus 2026.
- bol bewaart geen geschiedenis van deze getallen. Wij wel, sinds 27 augustus 2026, inclusief wat er wanneer veranderde.
- De ruwe data staat als JSON op /data/bol-rate-limits.json, vrij te gebruiken met bronvermelding.
Op deze pagina staan alle 104 rate limits van de bol Partner API, opgehaald bij bol zelf en dagelijks opnieuw gecontroleerd. De laatste controle was op 31 augustus 2026.
bol publiceert de actuele limieten, maar bewaart geen geschiedenis: wijzigingen gaan naar de technisch contactpersoon van je account en verdwijnen daarna uit beeld. Wij leggen ze sinds 27 augustus 2026 elke dag vast, zodat je kunt terugzien wát er wanneer veranderde.
SolidDeploy houdt sinds 27 augustus 2026 dagelijks bij wat er verandert aan de rate limits van de bol Partner API. Voor zover wij weten is dit de enige openbare, gedateerde reeks; bol publiceert de actuele waarden maar bewaart geen geschiedenis.
De volledige reeks staat ook als machineleesbaar JSON-bestand op /data/bol-rate-limits.json: alle 104 limieten plus elke waargenomen wijziging, met datum. Vrij te gebruiken met bronvermelding naar deze pagina.
Waarom je dit nodig hebt
Eén limiet voor je hele koppeling aannemen gaat mis, want het verschil tussen endpoints is groot. Losse voorraadupdates mogen vijftig keer per seconde; een volledige export van je aanbod mag negen keer per uur. Dat is geen willekeur: bol duwt je richting kleine, gerichte wijzigingen en weg van het steeds opnieuw ophalen van je hele catalogus.
Let ook op het verschil tussen per seconde en per minuut. /retailer/orders mag 25 keer per minuut, dus gemiddeld eens per 2,4 seconden. Een koppeling die zo snel mogelijk door de pagina's loopt, is er in één seconde doorheen en zit dan 59 seconden op slot. Bouw een wachtrij met een vaste snelheid in plaats van het maximum te willen halen.
Retailer API (85 limieten)
| endpoint | methoden | limiet |
|---|---|---|
/retailer/commission | POST | 28 per seconde |
/retailer/commission/* | GET | 28 per seconde |
/retailer/commissions | POST | 10 per seconde |
/retailer/content/catalog-products/* | GET | 10 per seconde |
/retailer/content/chunk-recommendations | POST | 10 per seconde |
/retailer/content/products | POST | 10 per seconde |
/retailer/content/upload-report/* | GET | 10 per seconde |
/retailer/delivery-promise/profiles | GET | 100 per minuut |
/retailer/economic-operator | POST | 100 per minuut |
/retailer/economic-operator/* | GET, PUT, DELETE | 100 per minuut |
/retailer/economic-operators | GET | 100 per minuut |
/retailer/insights/offer | GET | 25 per seconde |
/retailer/insights/offer | GET | 25 per seconde |
/retailer/insights/performance/indicator | GET | 20 per minuut |
/retailer/insights/price-star-boundaries/* | GET | 50 per seconde |
/retailer/insights/product-ranks | GET | 10 per seconde |
/retailer/insights/product-ranks | GET | 10 per seconde |
/retailer/insights/sales-forecast | GET | 25 per seconde |
/retailer/insights/sales-forecast | GET | 25 per seconde |
/retailer/insights/search-terms | GET | 10 per seconde |
/retailer/insights/search-terms | GET | 10 per seconde |
/retailer/inventory | GET | 20 per minuut |
/retailer/invoices | GET | 24 per minuut |
/retailer/invoices/* | GET | 24 per minuut |
/retailer/invoices/*/specification | GET | 9 per minuut |
/retailer/offers | POST | 50 per seconde |
/retailer/offers | POST | 50 per seconde |
/retailer/offers* | GET | 25 per seconde |
/retailer/offers/* | GET | 25 per seconde |
/retailer/offers/* | GET, PATCH, DELETE | 50 per seconde |
/retailer/offers/* | PUT, DELETE | 50 per seconde |
/retailer/offers/*/price | PUT | 50 per seconde |
/retailer/offers/*/stock | PUT | 50 per seconde |
/retailer/offers/export | POST | 9 per uur |
/retailer/offers/export/* | GET | 9 per uur |
/retailer/offers/unpublished | POST | 5 per uur |
/retailer/offers/unpublished/* | GET | 9 per uur |
/retailer/offers/{offer-id}/not-for-sale-reasons | GET | 50 per seconde |
/retailer/orders | GET | 25 per minuut |
/retailer/orders/* | GET | 25 per seconde |
/retailer/orders/cancellation | PUT | 25 per minuut |
/retailer/products/*/assets | GET | 50 per minuut |
/retailer/products/*/offers | GET | 900 per minuut |
/retailer/products/*/placement | GET | 50 per minuut |
/retailer/products/*/price-star-boundaries | GET | 50 per seconde |
/retailer/products/*/product-ids | GET | 50 per minuut |
/retailer/products/*/ratings | GET | 50 per minuut |
/retailer/products/categories | GET | 1 per minuut |
/retailer/products/list | POST | 50 per minuut |
/retailer/products/list-filters | GET | 50 per minuut |
/retailer/promotions | GET | 100 per minuut |
/retailer/promotions | GET | 25 per seconde |
/retailer/promotions/* | GET | 100 per minuut |
/retailer/promotions/* | GET | 25 per seconde |
/retailer/promotions/*/products | GET | 100 per minuut |
/retailer/promotions/*/products | GET | 25 per seconde |
/retailer/refurbished-offers | POST | 50 per seconde |
/retailer/replenishments | GET, POST | 10 per minuut |
/retailer/replenishments/* | GET, PUT | 10 per minuut |
/retailer/replenishments/*/load-carrier-labels | GET | 10 per minuut |
/retailer/replenishments/*/pick-list | GET | 10 per minuut |
/retailer/replenishments/pickup-time-slots | POST | 10 per minuut |
/retailer/replenishments/product-destinations | POST | 10 per minuut |
/retailer/replenishments/product-destinations/* | GET | 10 per minuut |
/retailer/replenishments/product-labels | POST | 10 per minuut |
/retailer/retailers/* | GET | 120 per minuut |
/retailer/retailers/*/ratings | GET | 120 per minuut |
/retailer/retailers/kpi-scores | GET | 20 per minuut |
/retailer/retailers/performance-status | GET | 10 per minuut |
/retailer/returns | GET, POST | 20 per minuut |
/retailer/returns/* | PUT, GET | 20 per minuut |
/retailer/shipments | GET | 25 per minuut |
/retailer/shipments | POST | 25 per seconde |
/retailer/shipments/* | GET | 50 per minuut |
/retailer/shipments/invoices/* | POST | 25 per minuut |
/retailer/shipments/invoices/requests | GET | 25 per minuut |
/retailer/shipping-labels | POST | 240 per minuut |
/retailer/shipping-labels/* | GET | 240 per minuut |
/retailer/shipping-labels/delivery-options | POST | 240 per minuut |
/retailer/subscriptions | GET, POST | 10 per seconde |
/retailer/subscriptions/* | GET, PUT, DELETE | 10 per seconde |
/retailer/subscriptions/signature-keys | GET | 10 per uur |
/retailer/subscriptions/test/* | POST | 1 per seconde |
/retailer/transports/* | PUT | 10 per seconde |
/retailer/white-spots/export | GET | 1 per uur |
Advertiser API (7 limieten)
| endpoint | methoden | limiet |
|---|---|---|
/advertiser/reporting/bulk-reports/** | GET, POST, PUT, DELETE, PATCH | 25 per minuut |
/advertiser/sponsored-products/budget-management/** | GET, POST, PUT, DELETE, PATCH | 200 per minuut |
/advertiser/sponsored-products/campaign-management/** | GET, POST, PUT, DELETE, PATCH | 200 per minuut |
/advertiser/sponsored-products/insights/** | GET, POST, PUT, DELETE, PATCH | 100 per minuut |
/advertiser/sponsored-products/migration/** | GET, POST, PUT, DELETE, PATCH | 100 per minuut |
/advertiser/sponsored-products/reporting/bulk-reports/** | GET, POST, PUT, DELETE, PATCH | 25 per minuut |
/advertiser/sponsored-products/reporting/performance/** | GET, POST, PUT, DELETE, PATCH | 2 per seconde |
Marketing Catalog API (10 limieten)
| endpoint | methoden | limiet |
|---|---|---|
/marketing/catalog/v1/products/* | GET | 10 per seconde |
/marketing/catalog/v1/products/*/categories | GET | 10 per seconde |
/marketing/catalog/v1/products/*/media | GET | 10 per seconde |
/marketing/catalog/v1/products/*/offers/best | GET | 10 per seconde |
/marketing/catalog/v1/products/*/ratings | GET | 10 per seconde |
/marketing/catalog/v1/products/*/recommendations | GET | 10 per seconde |
/marketing/catalog/v1/products/*/to-ean | GET | 100 per seconde |
/marketing/catalog/v1/products/*/variants | GET | 10 per seconde |
/marketing/catalog/v1/products/lists/popular | GET | 10 per seconde |
/marketing/catalog/v1/products/search | GET | 10 per seconde |
Wat er tot nu toe veranderd is
Sinds 27 augustus 2026 is er nog niets veranderd. Zodra dat gebeurt, verschijnt het hier met de datum erbij, inclusief de oude en de nieuwe waarde.
Ter vergelijking: bol heeft de limieten van de Retailer API op 17 juli 2026 verhoogd. Dat is precies het soort wijziging dat je koppeling stilletjes raakt en waarvan achteraf niet meer te zien was wat de oude waarde was. Vanaf nu wel.
Wie dit bijhoudt, en hoe
Een script haalt elke dag https://api.bol.com/retailer/public/ratelimits op, vergelijkt het met de meting van de vorige dag en schrijft alleen bij verschil een nieuwe regel weg. Ongewijzigde dagen slaan alleen een datumstempel op.
Dat is geen bijzondere techniek, het is precies het soort automatisering dat wij voor klanten bouwen: iets in de gaten houden dat verandert zonder dat iemand het je vertelt. Geschikt voor: iedereen die een koppeling met bol onderhoudt en niet wil ontdekken dat er iets veranderd is doordat het stukging.
Veelgestelde vragen
Wat gebeurt er als ik over de rate limit ga?
Je krijgt een 429 Too Many Requests terug, met een Retry-After-header die aangeeft hoeveel seconden je moet wachten. Elke response bevat bovendien headers met je resterende budget en het moment waarop het wordt aangevuld. Een koppeling die die headers uitleest hoeft nooit tegen een 429 aan te lopen.
Hoe voorkom ik dat ik tegen de rate limits van de bol API aanloop?
Drie dingen. Lees de rate limit-headers uit elke response, dan weet je hoeveel budget je nog hebt voordat je eroverheen gaat. Bouw je synchronisatie op wijzigingen en niet op vergelijken, want een volledige export mag maar negen keer per uur terwijl losse voorraadupdates vijftig keer per seconde mogen. En gebruik een wachtrij met een vaste snelheid in plaats van zo snel mogelijk te gaan: /retailer/orders mag 25 keer per minuut, dus wie dat in één seconde opmaakt zit daarna 59 seconden stil.
Verandert bol deze limieten?
Ja. bol geeft zelf aan dat limieten omhoog of omlaag kunnen om de stabiliteit van de API te waarborgen, en heeft ze op 17 juli 2026 nog verhoogd. Wijzigingen worden gecommuniceerd aan de technisch contactpersoon van je account. Wie die mail mist, merkt het pas als er iets stukgaat. Daarom leggen wij de waarden dagelijks vast.
Gelden de limieten per account of per applicatie?
Per API-client. Werk je namens meerdere verkopers, dan heeft elke verkoper zijn eigen budget, maar deel je één client over meerdere processen, dan delen die processen ook het budget. Dat is de meest voorkomende oorzaak van onverwachte 429's: twee cronjobs die niets van elkaar weten.
Waarom mag een export maar negen keer per uur?
Omdat een volledige export van je aanbod aan bol's kant duur is. De boodschap achter dat getal is dat je je synchronisatie op wijzigingen moet bouwen en niet op vergelijken. Wie elke tien minuten de hele lijst ophaalt om te zien wat er anders is, zit na een uur zonder budget.
Mag ik deze gegevens overnemen?
Ja, met bronvermelding naar deze pagina. De JSON op /data/bol-rate-limits.json is daarvoor bedoeld. De onderliggende waarden komen van bol; wat wij toevoegen is de dagelijkse meting en het gedateerde overzicht van wijzigingen.
- Bol Retailer API · authenticatie, headers en het asynchrone model
- Shopify aan bol.com koppelen · wat een koppeling kost en oplevert
- Repricing en het koopblok · waar deze limieten in de praktijk knellen
Benieuwd of ons Automation Eco-System™ bij jouw bedrijf past?
In een vrijblijvend gesprek brengen we in kaart welke systemen jouw business nodig heeft.
Gratis 1-op-1 call met Job Lenselink