De Pinterest API v5 maakt pins voor je aan, inclusief video-pins, maar pas nadat je app een review heeft doorstaan. Tot die tijd staat je app op trial-toegang, waarbij elke pin en elk bord die je app aanmaakt een sandbox-entiteit is die alleen zichtbaar is voor de maker. Dat ene feit bepaalt of de API bruikbaar is voor jou, dus het hoort bovenaan, niet ergens verstopt in een sectie over scopes.
Wat kan de Pinterest API eigenlijk publiceren?
Ze maakt pins aan op borden van de geauthenticeerde account: image-pins en video-pins, met een titel, beschrijving en bestemmingslink. Het is een publicatie-API, geen browse-API, en beperkt tot accounts die je app hebben geautoriseerd.
De beperkingen die ertoe doen bij het evalueren:
| Beperking | Wat het voor jou betekent |
|---|---|
| Trial-toegang is de standaard | Pins en borden die je app aanmaakt zijn sandbox-entiteiten, alleen zichtbaar voor hun maker |
| Standaardtoegang vereist review | Je dient een video-opname in van je app die de API gebruikt, inclusief de OAuth-flow |
| Video-pins vereisen een aparte upload-stap | Videobytes doorlopen een media-registratie en upload-flow vóór de pin-call |
| Rate limits verschillen per niveau | Trial wordt per dag per app gemeten, standaard per minuut per gebruiker per app |
Een intern hulpmiddel dat je op je eigen account gebruikt, kan dus voor onbepaalde tijd op trial-toegang blijven draaien. Een product dat namens klanten publiceert kan dat niet, omdat trial-pins nooit zichtbaar worden.
Let op: de cijfers hier zijn geverifieerd tegen developers.pinterest.com per september 2026. Platforms wijzigen dit zonder aankondiging.
Wat vereist de Pinterest app-review, en hoe lang duurt het?
Je registreert een app, krijgt goedkeuring voor trial-toegang en vraagt daarna de upgrade naar standaard aan. De documentatie van Pinterest stelt dat de upgrade vereist dat je app al trial-goedkeuring heeft, voldoet aan de Developer Guidelines, en dat je een video-opname aanlevert van je app die een actie voltooit via de Pinterest API, met de gebruikersauthenticatie-flow zichtbaar in de opname. Schermopnames van terminal-calls of Postman worden geaccepteerd.
De meest genoemde afwijzingsreden die Pinterest noemt, is een demo die de OAuth-flow niet toont, of die geen live Pinterest-integratie binnen de applicatie laat zien.
Over de duur: Pinterest zegt dat aanvragen voor de standaard-upgrade “regelmatig worden beoordeeld” en dat je per e-mail wordt geïnformeerd zodra er een beslissing is. Ze suggereren rekening te houden met een paar dagen. Er wordt geen specifieke doorlooptijd gepubliceerd, dus behandel elk precies getal dat je elders leest als een gok. Plan je lanceerdatum rond een onbekende, niet rond een beloofde SLA.
Het authenticatiemodel zelf is gewone OAuth 2.0: stuur de gebruiker door naar Pinterest, wissel de code in voor een toegangstoken en een refreshtoken, sla beide op per account, ververs voor het verloopt. Niets exotisch. Het exotische deel is de reviewdrempel ervoor.
Wat is de daadwerkelijke volgorde om een pin aan te maken?
Voor een image-pin uit een openbare URL is het één call. Voor een video-pin zijn het vier stappen, omdat de bytes geregistreerd, geüpload en verwerkt moeten worden voordat een pin ernaar kan verwijzen.
- Registreer de media-upload.
POST /v5/mediamet het mediatype. Het antwoord bevat een media-ID, een upload-URL en een set formulierparameters. - Upload de bytes.
POSTeen multipart-formulier naar die upload-URL, waarbij je eerst de teruggegeven parameters als formuliervelden stuurt en het bestand als laatste. Dit is een S3-achtige presigned form post, geen Pinterest-endpoint, dus de foutmeldingen zijn XML in plaats van JSON. - Poll de mediastatus. Lees het media-record uit totdat de verwerking is geslaagd. Een 2xx bij de upload betekent niet dat de video bruikbaar is.
- Maak de pin aan.
POST /v5/pinsverwijzend naar de verwerkte media, plus het bord, de titel, beschrijving en link.
# 1. register
curl -X POST https://api.pinterest.com/v5/media \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_type":"video"}'
# 2. upload the bytes to the returned upload_url,
# sending every returned upload parameter as a form field first
curl -X POST "$UPLOAD_URL" \
-F key="$KEY" -F policy="$POLICY" -F "x-amz-signature=$SIG" \
-F file=@clip.mp4
# 3. poll until the media reports a succeeded status
# 4. create the pin referencing that media id
Let op: we konden de exacte veldnamen van het verzoek en antwoord voor
POST /v5/mediaofPOST /v5/pinsniet verifiëren tegen de officiële Pinterest API-referentie: die pagina’s renderen hun inhoud client-side en gaven geen documentatietekst terug bij het ophalen. Lees de live API-referentie op developers.pinterest.com voordat je ertegen bouwt, en behandel de veldnamen hierboven als de vorm van de flow, niet als een kopieerbaar schema.
De stap die mensen overslaan, is de derde. Een video-pin heeft ook een omslagafbeelding nodig, wat een tweede asset is om te produceren en te valideren. We konden de exacte omslagvereiste niet bevestigen op een ophaalbare v5-referentiepagina, dus verifieer dit tegen de actuele documentatie voordat je hierop bouwt. Als je afbeeldingen aan het formatteren bent voor een van beide soorten pins, heeft onze gids Pinterest postformaten de actuele afmetingen.
Wat zijn de rate limits van de Pinterest API?
De gepubliceerde limieten verschillen sterk per niveau, wat een extra reden is waarom trial-toegang geen voorproefje is van het gedrag in productie.
| Niveau | Gedocumenteerde limiet |
|---|---|
| Trial | 1.000 verzoeken per dag voor alle API-verzoeken, toegepast per app |
| Standaard | 100 verzoeken per seconde per gebruiker per app voor alle API-verzoeken |
Individuele endpoint-categorieën hebben hun eigen, nauwere limieten bovenop de algemene: lezen, schrijven, analytics en conversies hebben elk hun eigen budget, en Pinterest’s eigen documentatie merkt op dat alle rate limits zonder aankondiging kunnen wijzigen. Controleer de categorie die aan elk endpoint dat je aanroept is toegekend, in plaats van aan te nemen dat het algemene getal geldt.
Let op: de cijfers hier zijn geverifieerd tegen developers.pinterest.com per september 2026. Platforms wijzigen dit zonder aankondiging.
Wat je écht drie weken gaat kosten
Niet de pin-call. De pin-call is een middagje werk. De drie weken zitten hier:
- De review. Je kunt niet naar klanten uitrollen op trial-toegang, en er is geen gepubliceerde doorlooptijd. Dien vroeg in, en dien een opname in die duidelijk de OAuth-flow toont, want dat is de genoemde faalreden.
- Tokenvernieuwing. Refreshtokens verlopen en intrekkingen gebeuren stilzwijgend. Je hebt een opgeslagen refreshtoken per gekoppelde account nodig, een taak die op tijd vernieuwt, en een “verbind dit account opnieuw”-status in je interface. Dit bouwen nadat het token van de eerste klant is uitgevallen, is de dure volgorde.
- Mediatranscodering. Video-pins betekenen dat je accepteert wat een gebruiker uploadt, codec en container normaliseert, een omslagafbeelding genereert, en het resultaat ergens opslaat waar de upload-stap het vandaan kan streamen. Dat is een mediapijplijn, geen API-integratie.
- Asynchrone foutafhandeling. Een 2xx van de presigned upload betekent dat de bytes zijn aangekomen. Het betekent niet dat de video is verwerkt, en het betekent niet dat er een pin bestaat. Je hebt een statuspoller nodig, een retrybeleid dat tijdelijke van permanente fouten onderscheidt, en een poststatus die
processingkan zijn in plaats van alleen gepubliceerd of mislukt. We schreven over dat statusmodel in de gids social media inplannen via API.
Vermenigvuldig alle vier met elk platform dat je toevoegt. Dat is de echte omvang van de bouw. De vergelijking zelf bouwen of kopen zet er cijfers omheen.
De korte versie
- Trial-toegang is de standaard en produceert sandbox-pins die alleen zichtbaar zijn voor hun maker. Standaardtoegang vereist een review met een videodemo van de OAuth-flow. Er wordt geen doorlooptijd gepubliceerd.
- Image-pins uit een openbare URL zijn één call. Video-pins zijn registreren, uploaden, pollen, aanmaken, plus een omslagafbeelding.
- Trial is beperkt tot 1.000 verzoeken per dag per app. Standaard is 100 verzoeken per seconde per gebruiker per app, met nauwere limieten per categorie daaronder.
- De engineeringkosten zitten in review, tokenvernieuwing, transcodering en asynchrone foutafhandeling, niet in de publicatiecall.
Dit één keer doen in plaats van per platform
Als Pinterest een van meerdere netwerken is die je nodig hebt, herhaalt het werk per platform hierboven zich elke keer in een andere vorm: andere reviewdrempels, andere media-flows, andere quotamodellen. Daarvoor bestaat onze API. BulkPublish publiceert naar 15 platforms via één REST-endpoint en één postmodel, met de OAuth, tokenvernieuwing, mediaverwerking en asynchrone statustracking aan onze kant.
De developer docs en de REST API-integratiepagina behandelen de endpoints en de levenscyclus van een post. Als je liever pins via een interface inplant dan tegen een van beide API’s aan te schrijven, behandelt hoe je Pinterest-pins inplant dat pad, en de gratis Pinterest-tekenteller houdt je titels en beschrijvingen binnen de limieten.