Live private service · production acceptance passed
Search public pins, retrieve pin details, browse user boards, and read board pins.
Four authenticated endpoints for public Pinterest discovery and metadata. Follow source pagination and choose full or compact responses. Availability depends on Pinterest’s logged-out access; private and restricted resources fail explicitly.
Base URLhttp://localhost:3014
Local development example. Replace with your service origin.
Search Pinterest pins
GET/v1/pinterest/search
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.
Query parameters
Field
Type
Description
query
string
Required keyword, 1–500 characters after trimming.
cursor
string
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.
trim
string
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.
Response fields
Field
Type
Description
success
boolean
True when usable supported data was retrieved.
status
string
success, partial, failed, or challenged. Partial results carry coverage warnings.
requestId
string
Opaque operation identifier for correlation.
sourceUrl
string
Canonical public source page. This field can contain the requested search query.
fetchedAt
string
UTC retrieval time. Every call makes fresh upstream requests; Pinterest may serve its own cached data.
coverage
object
Completeness of this supported response page, not the entire account or search corpus. Check restricted_records, malformed_records, record_limit, pagination_unavailable, and missing_pin_counts. Some pin pages omit share/reaction counts; these remain absent with explicit partial coverage.
accounting
object
Upstream attempts, total decoded response bytes, and elapsed milliseconds. No competitor credits are synthesized.
pins
array
Ordered public pin records. Source nulls and nested attributes are preserved. Maximum 100 records; over-limit or malformed results produce explicit partial coverage.
cursor
string | null
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.
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. cache_max_age is unsupported.
Query parameters
Field
Type
Description
url
string
Required HTTPS pinterest.com or www.pinterest.com pin URL (/pin/<numeric-id>/). No credentials, explicit ports, short links, regional domains or encoded path segments. Tracking query parameters and fragments are removed.
trim
string
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.
Response fields
Field
Type
Description
entityId
string
Always included.
description
string | null
Always included.
pinner
object | null
Always included.
imageSpec_orig
object
Always included.
createdAt
string
Always included.
repinCount
number
Always included.
shareCount
number
Optional.
totalReactionCount
number
Optional.
success
boolean
True when usable supported data was retrieved.
status
string
success, partial, failed, or challenged. Partial results carry coverage warnings.
requestId
string
Opaque operation identifier for correlation.
sourceUrl
string
Canonical public source page. This field can contain the requested search query.
fetchedAt
string
UTC retrieval time. Every call makes fresh upstream requests; Pinterest may serve its own cached data.
coverage
object
Completeness of this supported response page, not the entire account or search corpus. Check restricted_records, malformed_records, record_limit, pagination_unavailable, and missing_pin_counts. Some pin pages omit share/reaction counts; these remain absent with explicit partial coverage.
accounting
object
Upstream attempts, total decoded response bytes, and elapsed milliseconds. No competitor credits are synthesized.
List one page of public boards, preserving order, source counts and nested metadata. Requests 25 boards. Cursor input is supported as an extension to the competitor’s documented request contract. Trimmed boards retain id, url, description, follower_count, pin_count, name, image_cover_hd_url and created_at when present. Pinterest does not supply every field for every board; absent timestamps and cover fields are not invented.
Query parameters
Field
Type
Description
handle
string
Required Pinterest username, 1–60 letters, digits or underscores; normalized to lowercase.
cursor
string
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.
trim
string
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.
Response fields
Field
Type
Description
success
boolean
True when usable supported data was retrieved.
status
string
success, partial, failed, or challenged. Partial results carry coverage warnings.
requestId
string
Opaque operation identifier for correlation.
sourceUrl
string
Canonical public source page. This field can contain the requested search query.
fetchedAt
string
UTC retrieval time. Every call makes fresh upstream requests; Pinterest may serve its own cached data.
coverage
object
Completeness of this supported response page, not the entire account or search corpus. Check restricted_records, malformed_records, record_limit, pagination_unavailable, and missing_pin_counts. Some pin pages omit share/reaction counts; these remain absent with explicit partial coverage.
accounting
object
Upstream attempts, total decoded response bytes, and elapsed milliseconds. No competitor credits are synthesized.
boards
array
Ordered public board records with canonical URLs. Maximum 100 records. Nested source fields are preserved by default.
cursor
string | null
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.
Resolve a public board and retrieve one page of its pins, requesting 25 items. Each returned pin’s board ID must match. All board sections are included where Pinterest supplies them. Pass cursor for the next page. Full records preserve source fields; trim=true uses the same compact pin fields as search. Media files and destination links are never downloaded.
Query parameters
Field
Type
Description
url
string
Required HTTPS pinterest.com or www.pinterest.com board URL (/<handle>/<slug>/). Board slugs currently accept ASCII letters, digits, underscores and hyphens. No credentials, explicit ports, short links, regional domains or encoded path segments. Tracking query parameters and fragments are removed.
cursor
string
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.
trim
string
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.
Response fields
Field
Type
Description
success
boolean
True when usable supported data was retrieved.
status
string
success, partial, failed, or challenged. Partial results carry coverage warnings.
requestId
string
Opaque operation identifier for correlation.
sourceUrl
string
Canonical public source page. This field can contain the requested search query.
fetchedAt
string
UTC retrieval time. Every call makes fresh upstream requests; Pinterest may serve its own cached data.
coverage
object
Completeness of this supported response page, not the entire account or search corpus. Check restricted_records, malformed_records, record_limit, pagination_unavailable, and missing_pin_counts. Some pin pages omit share/reaction counts; these remain absent with explicit partial coverage.
accounting
object
Upstream attempts, total decoded response bytes, and elapsed milliseconds. No competitor credits are synthesized.
pins
array
Ordered public pin records. Source nulls and nested attributes are preserved. Maximum 100 records; over-limit or malformed results produce explicit partial coverage.
cursor
string | null
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.