Pinterest profile boards API
List a Pinterest user's public boards by username — ids, names, URLs, pin counts, covers — with cursor pagination in the shared Social Fetch envelope.
GET /v1/pinterest/profiles/{handle}/boards1 credit per successful request.
About this endpoint
Brand and commerce pipelines often start with a Pinterest username, not a board URL. Merchants, agencies, and enrichment jobs need the board catalog for that account: which collections exist, how many pins each holds, and the public board link to crawl next. Hand-copying board lists from a profile page does not scale, and a Pinterest-only HTML parser is another scraper to keep alive beside Instagram and TikTok.
`GET /v1/pinterest/profiles/{handle}/boards` takes the Pinterest username in the path. On a completed lookup, branch on `data.lookupStatus` (`found` or `not_found`), then read `data.boards` and `data.page`. Each board can include id, name, url, description, pinCount, followerCount, coverImageUrl, createdAt, privacy, and an owner snapshot. Pass `cursor` when `data.page.hasMore` is true. Optional `trim=true` shrinks the payload.
This route lists boards for a profile. Pins on one board are `GET /v1/pinterest/boards/pins` (board URL). A single pin by URL is `GET /v1/pinterest/pins`. Keyword discovery is `GET /v1/pinterest/search`. Pricing is 1 credit per successful completed request; confirm with `meta.creditsCharged` on every response.
Pinterest profile boards API FAQ
How do I list Pinterest boards for a profile via API?
Call `GET /v1/pinterest/profiles/{handle}/boards` with your Social Fetch API key (`x-api-key`) and the Pinterest username in the path. Read `data.lookupStatus`, then `data.boards` and `data.page`. Full parameters and examples are in the API docs.
How much does the Pinterest profile boards endpoint cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
How does pagination work on profile boards?
Each response includes `data.page.nextCursor` and `data.page.hasMore`. When `hasMore` is true, pass `nextCursor` as the `cursor` query param on the next request. Keep the same handle across pages. The cursor is opaque — do not invent or parse it.
What fields are in each board row?
When `lookupStatus` is `found`, items in `data.boards` can include id, name, url, description, pinCount, followerCount, coverImageUrl, createdAt, privacy, and owner (id, username, fullName, avatarUrl). Fields may be null when Pinterest does not expose them.
Profile boards vs board pins vs pin by URL?
Use this route to page a handle's public boards. Use `GET /v1/pinterest/boards/pins` when you already have a board URL and need its pins. Use `GET /v1/pinterest/pins` for one pin by URL. They are separate paths on the Pinterest hub.
What does not_found mean for profile boards?
`lookupStatus` of `not_found` means the profile did not resolve to a public board list. `data.boards` is empty. HTTP 200 still means the request finished; keep `meta.requestId` if you need support on that row.
Does this include secret or private boards?
No. Only publicly visible boards. Secret boards and authenticated board management stay with Pinterest's official products.
Do I need a Pinterest OAuth app to list boards?
No. You authenticate to Social Fetch with an API key. The route reads public profile boards; it does not act on behalf of a logged-in Pinterest user.