Skip to content
scrapeatlas.Dashboard

Search Pinterest pins

Try in Playground

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.

GET/v1/pinterest/searchx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
3
querystringrequiredquery

Required keyword, 1–500 characters after trimming.

min 1 chars · max 500 chars

Examplesynthetic recipes
cursorstringquery

Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters.

min 1 chars · max 16384 chars

trimenumquery

Optional true or false (default false). True selects the documented compact fields; false preserves the public source record and nested extensions. Missing source fields remain absent.

one of: true, false

Response fields
19
successboolean

True when usable supported data was retrieved.

statusenum

success, partial, failed, or challenged. Partial results carry coverage warnings.

one of: success, partial

requestIdstring

Opaque operation identifier for correlation.

sourceUrlstring

Canonical public source page. This field can contain the requested search query.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time. Every call makes fresh upstream requests; Pinterest may serve its own cached data.

Completeness of the returned page. Warnings: restricted_records, malformed_records, record_limit, pagination_unavailable and missing_pin_counts (pins whose page publishes no share or reaction counts).

coverage.sourceenum

Always included.

one of: public_resource, public_page

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

Upstream attempts, total decoded response bytes, and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

0 – 3

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

Ordered public pin records. Source nulls and nested attributes are preserved. Maximum 100 records; over-limit or malformed results produce explicit partial coverage.

up to 100 items

pins.idstring

Always included.

pins.descriptionstringnullable

Always included.

pins.imagesobject

Always included.

pins.pinnerobjectnullable

Always included.

cursorstringnullable

Optional source bookmark returned by the previous response. Reuse with the same query, handle, or board. Null means end of results unless coverage warns pagination_unavailable. Source cursors can expire. Maximum 16,384 characters.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

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.