All posts

Pinterest API Rate Limits: Trial vs Standard, by Category

November 9, 2026

Short answer

Pinterest API rate limits have two layers. Trial access allows 1,000 requests per day per app for all calls, and Standard access allows 100 requests per second per user per app. On top of that, each endpoint belongs to a category with its own limit, such as org_read at 1,000 requests a minute per user per app on Standard, and responses carry x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset headers.

Pinterest's limits are easy to state and easy to misread, because the two access tiers count in different units. Trial limits are per day, per app. Standard limits are per minute, per user, per app. How to get each tier and what the API can read is covered in Is the Pinterest API free?; this post is about the numbers and planning around them.

Pinterest API rate limits: the universal caps

  • Trial access: 1,000 requests per day for all API requests source.
  • Standard access: 100 requests per second per user per app for all API requests.

Pinterest says all rate limits can change without notice.

Pinterest API rate limits by category

Each endpoint belongs to one category, shown on its page in the API reference. The category limit applies on top of the universal cap.

CategoryWhat it coversTrial (per day, per app)Standard (per minute, per user, per app)
org_readReading accounts, boards, sections, pins1,0001,000
org_writeCreating, editing, deleting boards, sections, pins300100
org_analyticsAccount analytics, top pins1,00060
trends_readTrending keywords1,00060
ads_readAds, ad groups, campaigns, ad accounts1,0001,000
ads_writeCreating or changing ad entities300400
ads_analyticsAd performance data1,000300
ads_conversionsConversion event batches (OAuth token)1,000 per ad account120,000 per ad account
catalogs_read / catalogs_writeCatalog items1,000 / 1,000100 / 100
advanced_auction_read / writeBid options1,000 / 1,00050 / 25

For conversions, Pinterest recommends a conversion access token, which allows unlimited conversion events. Test conversion requests with is_test are limited to 10 per second per app.

Reading the rate limit headers

Pinterest returns rate limit state on every response:

x-ratelimit-limit: 100, 100;w=1, 1000;w=60
x-ratelimit-remaining: 99
x-ratelimit-reset: 1

The limit header lists policies with their windows in seconds. In Pinterest's example for GET /v5/pins, an org_read call, that reads as 100 requests per 1-second window, matching the universal Standard cap, and 1,000 per 60-second window, matching the org_read category. remaining is how many requests you have left and reset is the seconds until the window refills. The ;w= notation is the one used in the IETF RateLimit header drafts.

How many calls can you really make per day?

On Trial: you mirror 40 of your own boards with about 1,500 pins each. Board pins are org_read with up to 250 items per page per Pinterest's OpenAPI spec. That is 6 pages per board, 240 calls, plus 1 to list the boards: 241 of your 1,000 daily calls. Pulling analytics on 500 pins one at a time would take 500 more and leave little room. Ask for summaries, not per-pin calls.

On Standard: an agency manages 50 client accounts, each authorized with its own token. Because Standard limits are per user per app, each account has its own 1,000 org_read calls a minute. A full nightly sync of 50 accounts is limited by your own concurrency, not Pinterest. The tight categories are the analytics ones: org_analytics and trends_read allow 60 a minute per user, one a second.

Writes: on Trial, org_write allows 300 a day across the app; pins created on Trial are visible only to you. On Standard it is 100 a minute per user.

Python: pace by the headers

import random, time, requests

def pin_get(path, token, **params):
    url = "https://api.pinterest.com/v5/" + path
    for attempt in range(6):
        r = requests.get(url, params=params, timeout=30,
                         headers={"Authorization": "Bearer " + token})
        remaining = int(r.headers.get("x-ratelimit-remaining", 1))
        reset = float(r.headers.get("x-ratelimit-reset", 1))
        if r.status_code == 429:
            time.sleep(max(reset, 1) + random.random())
            continue
        r.raise_for_status()
        if remaining <= 1:
            time.sleep(reset + 0.1)     # wait out the window before the next call
        return r.json()
    raise RuntimeError("rate limited")

def all_pins(board_id, token):
    bookmark = None
    while True:
        params = {"page_size": 250}
        if bookmark:
            params["bookmark"] = bookmark
        page = pin_get("boards/" + board_id + "/pins", token, **params)
        yield from page["items"]
        bookmark = page.get("bookmark")
        if not bookmark:
            break

How to request a Pinterest rate limit change

  1. First move from Trial to Standard if you have not. That alone changes limits from per day to per minute.
  2. Open Pinterest's Help Center, search "API" and choose API Technical Support.
  3. Click "Still need more help?" and describe the endpoint, category, current usage and the limit you need.

Pinterest's access tiers page explains the Trial to Standard upgrade, which needs a video of your OAuth flow.

When a paid API is simpler

The official API reads your own pins and boards and those of accounts that authorize you. If you need public pins, boards or search results from accounts that are not yours, the limits do not matter because the scope is not there. ScrapeIO allows 300 requests a minute per API key, with no daily or monthly cap beyond the credits you hold. A 429 from ScrapeIO costs nothing, and neither do failed calls, private or not-found answers, or cached repeats.

ScrapeIO's pinterest search API, pinterest board API and pinterest pin API read public Pinterest data at 1 credit a call, with saves and outbound links. Agents can use the Pinterest MCP server. See also Pinterest API options.

FAQ

Is the Pinterest rate limit per app or per user?

On Trial, per app per day. On Standard, per user per app per minute, with a universal cap of 100 requests per second per user per app.

What is the Pinterest Trial access limit?

1,000 requests a day for all calls, with org_write and ads_write capped at 300 a day.

How many pins can I create per day with the API?

On Trial, up to 300 org_write calls a day per app. On Standard, 100 a minute per user per app.

Which headers show my remaining Pinterest quota?

x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset. Use curl -v to see them.

How do I get a higher Pinterest API limit?

Upgrade to Standard, then ask API Technical Support through the Help Center.

Sources

Checked on 9 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key