Skip to content
scrapeatlas.Dashboard

Visual discovery

Pinterest API

Search public pins, retrieve pin details and metadata, browse user boards, and read board pins.

5 endpointsx-api-key

Discover Pinterest pins and boards, retrieve metadata, follow pagination and choose full or compact records.

API availability: Available

Base URL · local workerhttp://localhost:3014Public API: https://api.scrapeatlas.com.
Authenticationx-api-keyCustomer key from your account. See Authentication.

Endpoints

GET/v1/pinterest/search

Search Pinterest pins

Discover public pins for a keyword. Retrieves one page with a requested page size of 25; Pinterest controls the actual result count and ranking. Pass cursor to continue. Full records retain available image, destination, board, author, counter and media fields. Trimmed pins contain id, url, description, created_at, pinner and images when supplied.

Reference
GET/v1/pinterest/pin

Get a Pinterest pin

Read a public pin’s page data without executing page scripts. Full responses expose Pinterest’s camelCase fields at the top level, preserving nested media and author data. imageSpec_orig aliases images_orig when needed. Trimmed fields: entityId, seoAltText, originPinner, pinner, imageSpec_orig, description, shareCount, nativeCreator, createdAt, repinCount and totalReactionCount. Counts are never guessed; missing required pin fields fail explicitly.

Reference
GET/v1/pinterest/pin/metadata

Get pin metadata

Retrieve a public pin’s metadata, including its description, images, media, destination, author, board and engagement fields. The pin object preserves Pinterest’s source field names and nested attributes.

Reference
GET/v1/pinterest/user/boards

Get a user’s boards

List a page of public boards with counts, metadata and cursor pagination. Use trim for compact records with identifiers, URLs, descriptions, counts, cover images and timestamps.

Reference
GET/v1/pinterest/board

Get pins from a board

Retrieve a page of pins from a public board, including the board information attached to each pin. Pass cursor and an optional board_id for the next page and use trim for compact pin records.

Reference

Quick start

Create an API key on your account page, then call the public API. Values below are placeholders.

Terminal
curl "https://api.scrapeatlas.com/v1/pinterest/search?query=synthetic+recipes" \
  -H "x-api-key: YOUR_API_KEY"

Coverage & limits

  • Four concurrent operations; one 20-second deadline per operation.
  • At most three upstream HTTP attempts, including one shared transient retry. Board retrieval uses two ordinary requests on the first page and one when a continuation carries board_id; other operations use one.
  • At most 4 MiB of combined decoded successful response data, JSON depth 24 and 40,000 parsed JSON nodes.
  • Lists request 25 records per page and return up to 100, one cursor page per request.
  • Logged-out HTTPS to www.pinterest.com only. No Pinterest account, cookies, proxy, browser execution, media download or destination visits.
  • Dedicated PINTEREST_API_KEY in x-api-key. Process health confirms local readiness, not upstream availability.
  • No result retention or shared database; every response is fetched live.
  • Collection completeness describes the returned page. Optional source fields Pinterest omits stay absent; source ordering and null values are retained.
Error codes
12
HTTPfailure.codeMeaning
200partialSome records were restricted, malformed or capped, or pagination was unavailable. Inspect coverage.warnings.
400invalid_requestMissing, duplicate, unsupported or invalid parameters or URL.
401unauthorizedMissing or invalid service key.
403restricted_pageAccess-gated pin/board or no usable public records.
404not_foundPinterest explicitly reported a missing resource, or the route is unknown.
429upstream_rate_limitedPinterest rate limited retrieval.
502upstream_challengedPinterest challenged the request.
502unsupported_page upstream_errorIncomplete, changed or mismatched source data, or retrieval failure.
502response_too_large payload_too_complex request_limitA byte, parsing or request bound was exceeded.
502unsafe_redirectUpstream redirected; redirects are not followed.
503busyAll worker slots are occupied.
504timeoutThe shared deadline expired.