How to Get Pinterest Keyword Search Volume Through the API

Pinterest API v5 • Request and response examples • No scraping • 10 min read

This guide is for building it yourself. If you only need the number for a keyword or two, the free Pinterest keyword tool answers in a second, no code or signup. Researching hundreds of keywords without writing code? Keyword Explorer does it inside Pinterest and exports to CSV.
Key takeaways
  • Does Pinterest have a keyword search volume API? Yes. The v5 endpoint GET /ad_accounts/{ad_account_id}/keywords/metrics returns search volume for up to 2,000 keywords per call, for one country, aggregated across all of Pinterest.
  • Is the number exact? No. The API returns keyword_query_volume as a bucketed string such as "5M+". Store the raw label and parse a lower bound; do not treat it as a count.
  • Do I need partner access? No partner program is involved. You need a Pinterest developer app with the ads:read scope and an ad account the token can see. New apps start on Trial access; production use needs a Standard access review.
  • Can I get long tails without scraping? Yes. /terms/suggested returns popular searches that start with your term, and /terms/related returns related terms. Feed both into the metrics call.
  • What about trends? /trends/keywords/{region}/top/{trend_type} returns up to 50 trending keywords with growth percentages and a weekly 0 to 100 series. It is relative interest, never a search count.
In this guide
  1. What you can get in code
  2. Getting API access
  3. The keyword metrics endpoint
  4. Long tails: suggested and related terms
  5. The trending keywords endpoint
  6. Third-party APIs and exports
  7. Comparison table
  8. Designing the pipeline
  9. FAQ

What you can get in code

Pinterest exposes search demand in four different shapes, and only some of them are reachable from code. Knowing which shape you are holding matters more than which vendor it came from.

Shape Where it lives Reachable from code?
Bucketed volume (e.g. "5M+") Keyword metrics endpoint, Ads Manager keyword step Yes, official API, per country
Exact monthly count Pinterest interest (topic) pages No official endpoint; shown in the Pinterest interface
Relative interest (0 to 100) Trending keywords endpoint, Pinterest Trends Yes, official API, by region
Modeled estimate Third-party providers Yes, through the provider's API

The practical consequence: the official API tells you which order of magnitude a keyword sits in and lets you filter by country. If your product needs to rank two keywords that land in the same bucket, you need another signal, such as the exact count Pinterest shows on the interest page, or a trend series.

Getting Pinterest API access

Older write-ups, including an earlier version of this one, describe keyword data as "partner access only". In API v5 it is not: the endpoints below are ordinary v5 endpoints, gated on OAuth scopes and your app's access tier.

  1. Create an app at developers.pinterest.com with a Pinterest business account.
  2. Request scopes. Keyword metrics, suggested terms and related terms need ads:read. The trending keywords endpoint needs user_accounts:read.
  3. Have an ad account. The metrics endpoint lives under /ad_accounts/{ad_account_id}, so the authorizing user must have access to one. You do not need to run ads; the metrics are aggregated across all of Pinterest, not your campaigns.
  4. Start on Trial access. Approved apps begin with Trial access, which has tighter limits and is meant for building and testing.
  5. Apply for Standard access before you ship to users. The review asks for a screen recording of your app taking a user through the OAuth flow and calling the API.

All endpoints are served from https://api.pinterest.com/v5 and take a bearer token in the Authorization header.

The keyword metrics endpoint

GET /v5/ad_accounts/{ad_account_id}/keywords/metrics returns search volume for a list of keywords in one country. Pinterest describes it as keyword metrics "aggregated across all of Pinterest".

ParameterRequiredNotes
ad_account_idyes (path)Any ad account the token can read
country_codeyesTwo-letter ISO 3166-1 alpha-2 code, e.g. US
keywordsyesComma-separated, 1 to 2,000 keywords per call

Request

curl -G "https://api.pinterest.com/v5/ad_accounts/$AD_ACCOUNT_ID/keywords/metrics" \
  -H "Authorization: Bearer $PINTEREST_TOKEN" \
  --data-urlencode "country_code=US" \
  --data-urlencode "keywords=bedroom ideas,small bedroom ideas,attic bedroom ideas"

Response

{
  "data": [
    {
      "keyword": "bedroom ideas",
      "metrics": { "keyword_query_volume": "5M+" }
    }
  ]
}

Each requested keyword comes back as one item in data with the same shape. The value is a string, and "5M+" is the example Pinterest's own API specification gives. The specification does not list every bucket label, so parse defensively and keep the raw string next to whatever number you derive:

// "5M+" -> 5000000. Returns null for any
// label it does not recognise, so an unknown format never
// turns into a wrong number silently.
function bucketLowerBound(label) {
  const m = /^([\d.]+)\s*([KMB])?\+?$/i.exec(String(label).trim().replace(/,/g, ''));
  if (!m) return null;
  const mult = { K: 1e3, M: 1e6, B: 1e9 }[(m[2] || '').toUpperCase()] || 1;
  return Math.round(parseFloat(m[1]) * mult);
}
Batching: 2,000 keywords is the documented ceiling, but 2,000 phrases in one query string makes a very long URL. Batches of a few hundred keep requests readable and let one failed batch retry cheaply. Keywords are comma-separated, so strip commas from your phrases first.

Long tails: suggested and related terms

Volume for a seed is only half the job; the opportunity usually sits in the longer phrases around it. Two official endpoints generate those phrases, both under the ads:read scope:

  • GET /v5/terms/suggested?term=... returns popular searches that begin with your term, as a plain array of strings. Pinterest's example: sport returns sports bar and sportswear, but not motor sports. limit defaults to 4 and tops out at 10.
  • GET /v5/terms/related?terms=... returns terms logically related to each input, in any word order. Pinterest's example: workout returns yoga workout and workout motivation.
curl -G "https://api.pinterest.com/v5/terms/suggested" \
  -H "Authorization: Bearer $PINTEREST_TOKEN" \
  --data-urlencode "term=bedroom ideas" \
  --data-urlencode "limit=10"

Suggested terms give you prefix expansions and related terms give you lateral ones. Union both lists, dedupe, and send the result to the metrics endpoint. That is a complete seed-to-volume loop on official endpoints, with no autocomplete scraping.

Third-party APIs and exports

If you cannot get an app approved, or you want modeled numbers for a platform mix, these are the options that fit into a pipeline. The rest of the Pinterest SEO tool market is interface-only and belongs in a research workflow, not in your code.

KeywordTool.io (API)

  • Generates Pinterest autocomplete suggestions and attaches estimated monthly volume from third-party data.
  • Offers a paid API, so it slots in where the official metrics call would.
  • keywordtool.io/pinterest

Pin Inspector (desktop export)

  • Pulls the monthly counts as displayed inside Pinterest, plus tails, at bulk scale.
  • A one-time desktop purchase with no API: export CSVs and import them into your database on a schedule.
  • pininspector.com

Interface-only tools

KeySearch, Keywords Everywhere, PinClicks and our own Keyword Explorer are built for people researching by hand. Keyword Explorer reads the counts Pinterest itself reports and, on Extended Pro, exports CSV, so it can seed a dataset, but it is not an API. Full disclosure: Keyword Explorer is ours.

If you are choosing one of these for your own pins rather than for code, our roundup of the best Pinterest keyword research tools compares them by the kind of number each one shows.

Comparison table

Source What you get Country split From code Access
Keyword metrics endpoint Official volume, bucketed ("5M+") Yes, any ISO country code REST, up to 2,000 keywords per call App with ads:read and an ad account
Suggested and related terms Official long-tail phrases, no volume Not documented REST App with ads:read
Trending keywords endpoint Top trends, growth %, weekly 0 to 100 series 18 regions REST, up to 50 per call App with user_accounts:read
Interest pages Exact monthly count Global No official endpoint Free, in the Pinterest interface
Pinterest Trends site Relative interest over time By region No; use the trends endpoint Free
KeywordTool.io Suggestions and estimated volume Per locale (modeled) Paid API Subscription
Pin Inspector Counts as displayed in Pinterest Global CSV export, then import One-time desktop app
Keyword Explorer (Pin Stats) Counts Pinterest reports, with tails Global CSV export, then import Browser extension

Designing the pipeline

  1. Expand seeds. For each seed, call /terms/suggested (limit 10) and /terms/related, then union, lowercase, trim and dedupe.
  2. Attach volume. Send the phrases to the metrics endpoint in batches, once per country you care about.
  3. Store the raw label. Keep keyword_query_volume exactly as returned, plus the parsed lower bound. If Pinterest changes a bucket label, you re-parse instead of re-fetching.
  4. Add momentum separately. Pull the trending endpoint per region and join on the keyword. Never overwrite a volume with a trend value; they are different units.
  5. Refresh on a schedule. Buckets move rarely, so weekly or monthly is plenty for volume. Trends are worth a weekly pull.
  6. Back off on 429. The metrics endpoint sits in Pinterest's ads_read rate-limit category. Retry with exponential backoff instead of hammering it.

A table shaped like this keeps every number traceable to its source:

ColumnExampleWhy
keywordsmall bedroom ideasNormalised phrase, your join key
country_codeUSVolumes are per country; never mix them
volume_label5M+Raw value, so you can re-parse later
volume_min5000000Sortable lower bound, or null if unparsed
sourcepinterest_keywords_metricsKeeps official and modeled numbers apart
fetched_at2026-09-28T10:00:00ZTells you when a number went stale

Legal note: follow Pinterest's Developer Guidelines and Terms. The endpoints above make scraping unnecessary for this use case; if you use a third-party provider, check how it sources its data.

FAQ

Does Pinterest have a keyword search volume API?

Yes. In API v5, GET /ad_accounts/{ad_account_id}/keywords/metrics returns search volume for up to 2,000 keywords per call in a chosen country, aggregated across all of Pinterest. It needs an app with the ads:read scope and an ad account the token can access.

Why does the API return "5M+" instead of an exact number?

The keyword_query_volume field is a bucketed string, not a count. Store the raw label, parse a lower bound for sorting, and use another signal, such as the exact count on a Pinterest interest page or a trend series, when two keywords share a bucket.

Can I get U.S.-only Pinterest search volume?

Yes. Pass country_code=US to the keyword metrics endpoint. It accepts any two-letter ISO 3166-1 country code. The trending keywords endpoint uses its own list of 18 regions instead.

Do I need Pinterest partner access for keyword data?

No. These are standard v5 endpoints. Apps start on Trial access for building and testing, and need a Standard access review, which includes a recording of your OAuth flow, before shipping to users.

How do I get long-tail keywords with volumes in code?

Call /terms/suggested for popular searches that begin with your seed and /terms/related for related terms, dedupe the results, then send them to the keyword metrics endpoint for volume.

Do I need to scrape Pinterest?

No. Suggested terms, related terms, keyword metrics and trending keywords are all official endpoints. If your app is not approved yet, a third-party API such as KeywordTool.io returns estimates in the meantime.

Next step: create the app, request ads:read, and run the suggested terms to keyword metrics loop on one seed while you are on Trial access. Only need a few numbers today? The free Pinterest keyword tool shows them without any setup. Naming a board? The Pinterest board name generator turns one topic into board names people search, with monthly volumes for the top ones.

About the author

Ruslan Saifullin

Ruslan Saifullin

Founder of Pin Stats · Pinterest analytics developer

Ruslan is a software engineer who has been building websites for over 15 years and works on Pinterest as a traffic channel for his own projects. Pin Stats grew out of the microtools he built for that workflow — the numbers Pinterest sends to the browser but never shows you.