Pinterest Keyword Autocomplete Scraper
Pricing
from $2.99 / 1,000 autocomplete suggestions
Pinterest Keyword Autocomplete Scraper
Discover Pinterest search autocomplete suggestions for keywords and locales to support Pinterest SEO, trend research, and content planning.
Pricing
from $2.99 / 1,000 autocomplete suggestions
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
4 hours ago
Last modified
Categories
Share
What does Pinterest Keyword Autocomplete Scraper do?
This Actor collects source-backed autocomplete suggestions for complete search terms from the Pinterest search experience. It keeps a suggestion only when Pinterest’s request metadata matches the complete input keyword and the returned text remains related to every non-trivial input token. It is a public search-data extractor, not a login tool or an access-control workaround.
The Actor can process several keywords in one run and preserve the locale passed to Pinterest. Blocked requests and empty results are represented in the run log and OUTPUT_SUMMARY; the dataset contains source-backed suggestions only.
Why use Pinterest Keyword Autocomplete Scraper?
- Build Pinterest SEO and content-planning keyword lists from the same autocomplete surface that users see.
- Compare suggestions for multiple seed terms or locales in one bounded run.
- Keep query provenance, response order, locale, and optional source metadata with every suggestion.
- Detect unrelated partial-query responses instead of silently presenting them as results for the requested term.
Apify provides the dataset, run history, API access, scheduling, and optional proxy configuration. Pinterest’s response may omit optional fields such as scores, result counts, annotations, categories, or preview images; omitted values are not fabricated.
What data can Pinterest Keyword Autocomplete Scraper extract?
Normal suggestion fields
| Field | Type | Meaning and source |
|---|---|---|
entityType | string | Always pinterest_keyword_suggestion for a normal row. |
inputKeyword | string | The normalized keyword submitted by the user. |
suggestion | string | Pinterest suggestion text, normalized to lowercase for stable deduplication. |
displayText | string | Pinterest display text when available; otherwise the normalized suggestion text. |
annotation | string | Optional annotation returned by Pinterest. |
type | string | Pinterest suggestion type, or suggestion when the response does not specify one. |
category | string | Optional Pinterest category context. |
imageUrl | string | Optional HTTPS pinimg.com preview URL returned by Pinterest. |
score | number | Optional response score or weight. |
resultCount | integer | Optional non-negative result count returned by Pinterest. |
locale | string | Locale used for the request, defaulting to en_US when absent or invalid. |
position | integer | 1-based position in the accepted source order for that keyword. |
sourceUrl | string | The Pinterest search URL used for the keyword. |
scrapedAt | string | ISO 8601 UTC time when the row was written. |
When no usable suggestion is available, the dataset has no row for that request. Failures are described in the run log and OUTPUT_SUMMARY; a successful empty response is summarized as NO_RESULTS.
How to scrape Pinterest autocomplete suggestions
- Open the Pinterest Keyword Autocomplete Scraper in Apify Console.
- In Input, provide one or more complete strings in
keywords. - Optionally set
locale,maxItems, timeout/retry controls, or a delay. - Enable Proxy Configuration only when direct transport is unreliable.
- Click Start and inspect the dataset and
OUTPUT_SUMMARYafter the run. - Treat a
BLOCKEDorNO_RELEVANT_SUGGESTIONSrow as an access or source result, not as proof that Pinterest has no demand for the keyword.
For API or automation use, send the same JSON object to the Actor’s API tab or run apify call jeFwGHCWCCveQMBqI --input-file input.json. The generated dataset and OUTPUT_SUMMARY links are also exposed in the run output.
How much will it cost to scrape Pinterest autocomplete?
Apify charges for the platform resources used by a run. Cost depends on browser time, the number of unique keywords, configured retries, response size, and proxy transfer. maxItems limits emitted dataset rows; it does not guarantee that Pinterest will return that many suggestions. requestDelayMs can increase run time. The repository's deterministic fixture tests do not represent live Cloud collection cost.
Input
Input fields
| Field | Type | Default | Required | Limits and behavior |
|---|---|---|---|---|
keywords | array of strings | — | yes | 1–100 non-blank strings, each at most 200 characters. Leading/trailing whitespace is trimmed and duplicate keywords are removed while preserving first-seen order. |
locale | string | en_US | no | A two-letter language with an optional two-letter region, such as en_US, en-GB, or fr_FR. Invalid or missing values fall back to en_US; hyphenated locales are normalized to an underscore. |
maxItems | integer | 200 | no | Global maximum of 1–500 normal suggestion rows across all keywords. |
requestTimeoutSecs | integer | 90 | no | Per-keyword request timeout from 30–180 seconds. |
maxRequestRetries | integer | 0 | no | Crawlee retries for a failed keyword page request, from 0–2. A retry does not bypass a source block. |
requestDelayMs | integer | 0 | no | 0–5000 milliseconds after a keyword produces accepted suggestions. It is not a pagination control. |
proxyConfiguration | object | direct | no | Apify/custom proxy settings. A proxy is used only when useApifyProxy is true or a non-empty proxyUrls array is supplied. |
Unknown input fields are rejected. startUrls, query, category/date filters, sortBy, maxPages, detail toggles, credential fields, and arbitrary developer headers are not supported.
Minimal input
{"keywords": ["interior design", "yoga"]}
Locale and bounded run
{"keywords": ["interior design"],"locale": "en_GB","maxItems": 20,"requestTimeoutSecs": 90,"maxRequestRetries": 0,"requestDelayMs": 250}
Proxy input
{"keywords": ["wedding ideas", "yoga"],"proxyConfiguration": {"useApifyProxy": true}}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Normal suggestion record
{"entityType": "pinterest_keyword_suggestion","inputKeyword": "interior design","suggestion": "interior design living room","displayText": "Interior Design Living Room","type": "suggestion","score": 0.94,"locale": "en_US","position": 1,"sourceUrl": "https://www.pinterest.com/search/pins/?q=interior%20design","scrapedAt": "2026-09-08T16:00:00.000Z"}
Optional response-backed fields such as annotation, category, imageUrl, and resultCount are omitted when Pinterest does not provide them. This keeps normal rows schema-safe without inventing values.
Fallback behavior
The Actor first observes matching AdvancedTypeaheadResource or TypeaheadResource responses from the public search page. If none is usable, it types the complete term when a search input is available, tries the same public resource wrappers directly, and finally tries two legacy public typeahead endpoints. All fallback paths still require complete-keyword request metadata and the same relevance test; there is no fallback to credentials or stealth browser changes.
{"url": "https://www.pinterest.com/search/pins/?q=unknown","error": "Pinterest returned no autocomplete suggestions demonstrably related to the full keyword \"unknown\".","errorCode": "NO_RELEVANT_SUGGESTIONS","scrapedAt": "2026-09-08T16:00:00.000Z"}
OUTPUT_SUMMARY
{"status": "PARTIAL","hasData": true,"normalRecords": 12,"diagnosticRecords": 0,"keywordsRequested": 2,"suggestionsRequested": 20,"suggestionsCollected": 12,"proxyUsed": false,"source": "pinterest","finishedAt": "2026-09-08T16:00:00.000Z"}
normalRecords and suggestionsCollected count only dataset rows. A successful empty response is summarized as NO_RESULTS; a failure with no suggestion rows fails the run. When rows were already stored, a later failure preserves them and reports PARTIAL.
Limits, precedence, filtering, and deduplication
- Source and precedence: For every unique keyword, the runtime constructs
https://www.pinterest.com/search/pins/?q=<encoded keyword>. There is nostartUrlsinput and therefore nostartUrlsprecedence rule. - Pagination: There is no user-controlled pagination. The Actor makes one bounded search-page navigation per unique keyword and does not claim to enumerate a suggestion history or all search results.
- Request sequence: It observes the initial page’s matching public typeahead resource, optionally types the complete keyword, then tries
AdvancedTypeaheadResource,TypeaheadResource, and two legacytypeaheadrequests only when earlier stages produce no usable suggestions. - Filtering: A resource response is accepted only when its
data.options.termand, when present, itssource_urlquery match the complete input keyword after normalization. Suggestion text must equal, start with, or contain every non-trivial input token as an exact token or prefix; unrelated partial-query terms are rejected. - Deduplication: Duplicate keywords are removed before requests. Suggestions are deduplicated case-insensitively by
inputKeyword:suggestion; the globalmaxItemscap is applied after filtering and deduplication. - Ordering and sorting: Source order is preserved within each keyword and used for
position. There is nosortBy, relevance-ranking, category, date, or detail-enrichment option. - Blocked behavior: Challenge pages, visible CAPTCHA frames, access-denied text, unusual-traffic text, and similar signals are logged and reflected in run status, never written as dataset rows. The Actor does not mutate browser anti-bot signals, spoof
navigator.webdriver, or bypass sign-in or access controls. - Proxy behavior: Proxy use is opt-in. If a requested proxy cannot be created, the run fails closed rather than silently falling back to direct access.
proxyUsedinOUTPUT_SUMMARYreflects the accepted proxy configuration, not a claim that Pinterest returned data.
Tips and advanced options
- Use complete, audience-facing phrases rather than one-character prefixes when relevance matters.
- Split large campaigns into smaller runs or raise
maxItemsonly within its 500-row limit; the cap is global, not per keyword. - Use
localeconsistently when comparing markets, and preserveinputKeywordpluslocalein downstream joins. - Keep
maxRequestRetriesat 0 for deterministic outcomes; raise it only for transient navigation failures. - The repository test suite exercises the parser and relevance filter with local fixture records.
- For recursive, bounded expansion, pass the accepted suggestions into the Pinterest Keywords Discovery Tool rather than expecting this Actor to paginate.
Troubleshooting and support
No suggestions are returned
A successful empty response completes with NO_RESULTS. A blocked or failed request is reported in the run log and summary; if no suggestion rows were stored, the Actor run fails. NO_RELEVANT_SUGGESTIONS means the public response did not meet the complete-keyword contract; BLOCKED, CAPTCHA, or navigation codes indicate transport/source access issues. A proxy can change transport reliability but cannot make private or sign-in-gated data public.
Suggestions look unrelated
Confirm the input is the complete phrase you intend to research and inspect inputKeyword, suggestion, and sourceUrl together. The Actor deliberately rejects partial-query resource responses and token-unrelated suggestions. Report a reproducible case with the run ID if a returned row violates that contract.
How do I report a problem or use the API?
Use the Actor’s Issues tab for bugs and include the run ID, sanitized input shape, OUTPUT_SUMMARY, a redacted run log, and the affected keyword. The API tab exposes the same input, dataset, and key-value-store endpoints for programmatic use. Do not include cookies, credentials, or private account data in an issue.
Privacy, legal, and affiliation
Use this Actor only for information that Pinterest makes publicly accessible and in accordance with Pinterest’s Terms, robots directives, applicable law, and your own obligations. Do not use it to collect private data, evade access controls, or infer sensitive attributes. You are responsible for lawful use, rate choices, retention, and downstream processing. This Actor is an independent community tool and is not affiliated with, endorsed by, or sponsored by Pinterest.