SocialCrawl

Pinterest

Pinterest pins, boards, user boards, keyword search, and external-URL save counts through one unified API

Pinterest pins and their boards, a user's board list, keyword search across pins, and save counts for URLs that live outside Pinterest. Every endpoint is a GET and costs 1 credit, except search and board with include=engagement, which add 1 credit for each row they fill.

Base URL: /v1/pinterest/...

url-stats matches URLs exactly. http:// and https://, and a trailing slash or not, count as different URLs and return different save counts. Pass the URL in the form people actually pin, usually the canonical one your site advertises, or you will read a real page as having zero saves.

Quickstart

1. Find pins by keyword

cURL
curl "https://www.socialcrawl.dev/v1/pinterest/search?query=kitchen%20renovation" \
  -H "x-api-key: YOUR_API_KEY"

2. Fetch a board's pins

cURL
curl "https://www.socialcrawl.dev/v1/pinterest/board?url=https://www.pinterest.com/lizmrodgers/moms-night/" \
  -H "x-api-key: YOUR_API_KEY"

3. Read computed fields

When an endpoint supports a computed field and the required source inputs are present, the unified response includes that optional field. Depending on the endpoint, optional fields can include engagement_rate, language, content_category, and estimated_reach. See Computed fields for formulas, clamping rules, and null semantics. Where an endpoint supports them, list rows also carry judged labels (computed.labels, computed.relevance) by default at no extra credits; see Labels.

Discovery

EndpointCreditsWhat it returnsKey parameters
GET /v1/pinterest/search1 to 26Pins matching a keyword: title (or description), image URL, author, date; counts only with include=engagementquery, cursor, include, limit, trim
GET /v1/pinterest/pin1The fuller record: text, save, reaction, comment and share counts, author, dateurl, trim

Search rows carry no counts of their own. Add include=engagement and each row is filled with its save, reaction, comment and share counts at 1 extra credit per row filled, up to 25 rows; rows that cannot be filled are refunded, and limit caps how many rows are served and filled. Many pins have no title or description at all, so content.text can be null on a search row.

Boards

EndpointCreditsWhat it returnsKey parameters
GET /v1/pinterest/user/boards1The boards a person has created, with title, pin count, cover imagehandle, trim
GET /v1/pinterest/board1 to 16The pins inside one board, up to 15 per page; pin dates only with include=engagementurl, cursor, include, limit, trim

That is the order: handle to boards, board URL to pins. Send pagination.next_cursor back as cursor to walk the rest of a board; has_more goes false on the last page. user/boards is a single fixed list with nothing to page.

Board pins carry their save, comment and share counts but not the date they were created, and the reaction count only when the pin has reactions. Add include=engagement and each pin is filled with its creation date and reaction count at 1 extra credit per row filled, up to 15 rows; counts the board already carried are kept, rows that cannot be filled are refunded, and limit caps how many rows are served and filled. It works on every page of the walk, with or without cursor.

List a person's boards, then pull the full record for any pin that stood out.

cURL
curl "https://www.socialcrawl.dev/v1/pinterest/user/boards?handle=pinterest" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://www.socialcrawl.dev/v1/pinterest/pin?url=https://www.pinterest.com/pin/99360735500167749/" \
  -H "x-api-key: YOUR_API_KEY"

Off-platform reach

EndpointCreditsWhat it returnsKey parameters
GET /v1/pinterest/url-stats1How many times each of up to 10 external URLs has been saved to Pinteresturls, comma-separated

This is the endpoint for measuring whether your own pages have any pull on Pinterest at all, and it works on URLs you do not control.

cURL
curl "https://www.socialcrawl.dev/v1/pinterest/url-stats?urls=https://example.com/recipe,https://example.com/guide" \
  -H "x-api-key: YOUR_API_KEY"

All endpoints

6 endpoints available.

EndpointPathCredit Tier
Get Pinterest board/v1/pinterest/boardstandard (1-16cr)metered
Get Pinterest pin details/v1/pinterest/pinstandard (1cr)
Search Pinterest pins/v1/pinterest/searchstandard (1-26cr)metered
Get Pinterest save counts for external URLs/v1/pinterest/url-statsstandard (1cr)
List Pinterest user boards/v1/pinterest/user/boardsstandard (1cr)
Get Pinterest Trends for a country/v1/pinterest/trendspremium (10cr)

Platform notes

Save counts are keyed on the exact URL string. Scheme, trailing slash, and query string each produce a different count, because URLs are passed through verbatim and never normalized.

A count of 0 is ambiguous. It means either "never pinned" or "page does not exist". Counts come from the Pinterest Save Button embed ecosystem, so pages outside it may undercount.

trim=true costs the same. It works on search, pin, board, and user/boards, and returns a lighter payload at the same price.

Pinterest feeds other surfaces too. It is one of the sources behind /v1/search/everywhere, so a cross-platform sweep picks it up without a separate call.

Next steps