All posts

How to Get a Pinterest API Key: Trial vs Standard Access

November 9, 2026

Short answer

To get a Pinterest API key, log in with a Pinterest business account at developers.pinterest.com, open My apps, accept the terms, click Connect app and submit the form for trial access. Once approved, My apps shows your app ID and app secret, which you use for OAuth tokens that last 30 days. Trial access is capped at 1,000 requests a day and its Pins and boards are sandbox-only; Standard access needs a video demo of your OAuth flow.

A Pinterest API key is your app ID and app secret, issued only after Pinterest approves your app for trial access. Your code exchanges them for an OAuth access token, which is what each v5 API call sends. The catch is the two-stage review: trial first, then Standard. For costs, see Is the Pinterest API free?, and for a wider look at your options, Pinterest API options.

What you need

  • A Pinterest business account. It administers the app.
  • A verified email on that account.
  • Two-factor authentication, if you want client credentials tokens.
  • An HTTPS redirect URI for OAuth.
  • For Standard access, a screen recording of your OAuth flow and integration.

How to get a Pinterest API key, step by step

  1. Log in with your business account, or create one, and verify your email.
  2. Open My apps at developers.pinterest.com/apps and accept the Developer Terms of Service.
  3. Click Connect app and fill in the request form. The name needs at least 3 Latin letters or numbers and cannot contain "Pinterest".
  4. Submit for trial access. Pinterest reviews it and emails you a decision (getting started).
  5. Copy the app ID and app secret from My apps once approved.
  6. Add the redirect URI. My apps > Manage > Configure > Redirect URIs, enter it, click Add. It must match redirect_uri exactly.

Pinterest gives no review time. In August 2026 it posted a known issue on its developer forum about delays for trial and Standard requests and a backlog it is working through (known issue). If you are stuck, open a Help Center ticket, and never post your app ID or tokens in the forum.

Pinterest trial vs standard access

TrialStandard
Rate limit1,000 requests a day for all callsPer minute, per user, per app (100 a second universal)
Pins and boards you createVisible only to their creator, as sandbox entitiesPublic
Meant forBuilding and testingProduction
How to get itConnect app formUpgrade on the app card, with a video demo

From Pinterest's access tiers page. The demo must show the user authorization flow and the live integration. Pinterest says it still requires a recording of the OAuth flow even if you are the only intended user; a terminal or Postman recording is accepted.

Test without OAuth: generate an access token

In My apps > Manage > Configure, the Generate Access Token section gives you a test token. A product-limited token covers pins:read, boards:read and user_accounts:read; a sandbox token covers every scope but only on https://api-sandbox.pinterest.com and lasts 30 days (quickstart tools, sandbox). Sandbox and production tokens are not interchangeable.

Get a Pinterest access token with OAuth

Send the user to the authorize URL with at least one scope (auth docs):

https://www.pinterest.com/oauth/?client_id=APP_ID&redirect_uri=https://example.com/pinterest/callback&response_type=code&scope=boards:read,pins:read,user_accounts:read&state=RANDOM

Exchange the code with Basic auth, which is base64 of app_id:app_secret:

curl -X POST "https://api.pinterest.com/v5/oauth/token" \
  -u "APP_ID:APP_SECRET" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code&code=CODE&redirect_uri=https://example.com/pinterest/callback"

Pinterest token lifetime and refresh

TokenPrefixLifetime
Access tokenpina30 days (expires_in 2592000)
Continuous refresh tokenpinr60 days, renewed on each refresh, so it can last indefinitely
Client credentials tokenpinc30 days, no refresh token, owner's account only

Refresh with grant_type=refresh_token and the refresh_token. Apps created before 25 September 2025 must add continuous_refresh=true; newer apps get continuous tokens by default. The old 365-day refresh tokens are no longer supported. Refresh before day 60, or the user must log in again.

First request in curl and Python

curl "https://api.pinterest.com/v5/user_account" -H "Authorization: Bearer ACCESS_TOKEN"
import os
import requests

TOKEN = os.environ["PINTEREST_TOKEN"]
API = "https://api.pinterest.com/v5"   # use https://api-sandbox.pinterest.com/v5 for sandbox tokens
H = {"Authorization": f"Bearer {TOKEN}"}

me = requests.get(f"{API}/user_account", headers=H, timeout=30)
print(me.status_code, me.headers.get("x-ratelimit-remaining"))
me.raise_for_status()
print(me.json().get("username"))

boards, bookmark = [], None
while True:
    params = {"page_size": 25, **({"bookmark": bookmark} if bookmark else {})}
    r = requests.get(f"{API}/boards", headers=H, params=params, timeout=30).json()
    boards += r["items"]
    bookmark = r.get("bookmark")
    if not bookmark:
        break
print(len(boards), "boards")

On trial access, this loop's calls count against the 1,000 a day. A user with 200 boards uses 8 calls.

Pinterest API rate limits

CategoryTrial, per dayStandard, per minute per user per app
org_read (users, boards, Pins)1,0001,000
org_write300100
org_analytics1,00060
ads_read1,0001,000
ads_write300400
trends_read1,00060

Watch x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset (rate limits).

Common Pinterest API errors

ResponseCauseFix
401, code 2Access token expired or invalidRefresh it
Redirect error at loginRedirect URI not registered exactlyAdd it under Configure > Redirect URIs
403 PINNER_DATA_ACCESS_DENIEDApps registered on or after 14 September 2026 asking for a non-business user's board or Pin without Pinterest's authorizationRequest the access from Pinterest, or read business accounts only
Token works in sandbox onlySandbox token sent to productionUse a production token on api.pinterest.com
Calls stop for the dayTrial's 1,000 daily requests usedWait, or apply for Standard

If you just need public data

The API is built for managing your own or your users' Pinterest accounts. If you need public pins, boards or search results, ScrapeIO reads them without an app or review: the Pinterest pin API, board API, search API and user boards API, at 1 credit a call. Compare tools in best Pinterest scrapers, or connect an agent with the Pinterest MCP server.

curl "https://scrapeio.com/v1/pinterest/search?query=kitchen+ideas" \
  -H "x-api-key: YOUR_KEY"

FAQ

Does Pinterest have an API key?

Not a single static key. You get an app ID and app secret after trial approval and use them to get OAuth access tokens.

How long does Pinterest API approval take?

Pinterest gives no fixed time and has acknowledged a backlog in 2026. Use a sandbox token while you wait.

What can I do with Pinterest trial access?

Read and create most resources, up to 1,000 requests a day, but Pins and boards you create stay visible only to you.

How long does a Pinterest access token last?

30 days. Refresh tokens last 60 days and renew when you use them.

Do I need a business account for the Pinterest API?

Yes. Pinterest asks you to administer your app from a business account.

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