πŸ“Œ

Pinterest Profiles, Followers & Pins APIs

Find public Pinterest accounts, confirm profile identities and inspect available pins or relationship records. Keep follower and following inputs distinct, and treat returned collections as dated snapshots rather than complete exports.

Open the standalone Pinterest demo

Inspect the marthastewart profile

Replace <YOUR_API_KEY> with your authorized platform API key from the dashboard. Keep production calls server-side and redact key-bearing URLs from logs, shared examples and screenshots.

This read-only example sets username=marthastewart for a public profile lookup with a recorded successful observation. No Pinterest login credential is required. Profile availability and counts can change; a populated response is not guaranteed. Loading the page, navigating, opening panels or copying an example sends no data request. Submit a request only when you intend to run it.

Base URL https://api.opendata-api.com

curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/get-user-details?key=<API_KEY>&username=marthastewart'
Route-specific identifiers and collection limits
  • The userid key has different meanings: followers use a numeric Pinterest user ID represented as a string, while following uses a username. Profile lookup requires username; user search accepts name-search text in username. A display name or a follower node ID is not a substitute for the target account identifier.
  • Keep account and pin identifiers as strings through storage and requests. Profile IDs can exceed JavaScript's safe-integer range. Parse raw JSON integer tokens losslessly before conversion; String applied to an already-rounded Number cannot restore the original digits.
  • For follower continuation, use only an actually returned node_id and cursor pair, and omit userid including its default because userid takes precedence. The recorded follower cursors were null. For following, reuse data.bookmark unchanged with the same username; a token was observed but the next page was untested. Stop on absent or repeated tokens and deduplicate IDs. Search and pin lists expose no pagination input.
  • Transport success is not evidence that the target exists. Check the gateway code and message, then any status, message and collection within its data payload. An observed profile miss returned HTTP 200 with status=error and data.user empty. Do not convert that result, a missing count or a request failure into a zero-follower account.
  • Save fetched_at and distinguish returned relationship rows from profile follower and following totals. Available pins and relationship records do not establish exhaustive history, audience demographics, impressions or clicks. Confirm lawful access, retention and reuse rights; public records and image links do not grant outreach consent or content ownership.

Check business status before using profile data

Inspect HTTP status separately from the gateway's code, message and data business result. Gateway code 200 indicates business success, but HTTP 200 alone does not prove a profile exists or that a collection is usable. Check any status and message inside the operation payload as well: a profile miss was observed with status=error and an empty user object. Keep missing profiles, empty collections and request failures separate.

Choose a Pinterest data task
Find an account and confirm its profile

User search requires account-search text in username, including a partial or multiword name. Compare candidate usernames rather than accepting the first result. Profile lookup separately requires the selected account's username, not its display name. Preserve the returned numeric-looking ID losslessly before using it for a follower request. Neither lookup exposes search pagination.

Read an account's available public pins

Supply the target account in the required username field. A username was verified; account-ID input is documented but untested. Inspect available images, outbound links, board references and pinner identity without treating saved content as original authorship. No pagination input is exposed, so the returned collection is not an all-pins export.

Keep followers and following in the right direction

The follower workflow starts with a numeric Pinterest user ID as a string in userid; the following workflow uses a username under that same key. These parameters remain optional in the contract, but the documented first requests supply the corresponding identifier. Followers accept a response-provided node_id and cursor pair only after removing userid and its default. Following accepts a returned bookmark with the same username. Follower continuation was unavailable and a following next page was not tested.

Check the lightweight service route

The health operation needs no endpoint-specific inputs or request body. Its response was not live-tested, so do not require undocumented body fields. A responding health route does not confirm account availability, working profile retrieval or complete relationship coverage; diagnose those with the relevant data operation.

Followers

GET /api/project/pinterest-scraper/list-user-followers

List public Pinterest followers by numeric user ID

Full docs β†’
Details

Retrieve a bounded snapshot of accounts that follow a Pinterest profile. For the initial request, pass the numeric Pinterest user ID as the string userid; a username is not a substitute. The query parameters are individually optional in the contract, but the documented starting request uses userid. For continuation, use only a node_id and cursor actually supplied by a response, and omit userid, including its default, because userid takes precedence. Do not invent continuation values. Stop when no usable pair is available or a token repeats. Observed response: a successful recorded probe returned message: null, data.request_id and ten data.followers[] records. Each record included a node with username, fullName, entityId and id, plus cursor: null. Keep identifiers as strings. No usable continuation was observed, so these records do not establish a complete follower export. Unverified documented examples additionally show node.__typename, imageMediumUrl, imageXlargeUrl, isPrivateProfile and status. These extra fields are illustrative, not guaranteed by the probe evidence. Documented error examples show detail and headers.Error for HTTP 400, a detail[] array containing loc, msg and type for HTTP 422, and data.followers, request_id and status for HTTP 500; these error shapes were not observed in the recorded successful probe. This read lists followers, not the accounts the target follows, and does not provide private audience analytics.

Explicitly submit this Pinterest request 0 required Β· 3 optional
ParameterInValue
query
Optional route-specific continuation inputs (2)
ParameterInValue
query
query

Request cost is temporarily unavailable. No price is assumed.

View pricing
curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/list-user-followers?key=<API_KEY>&userid=125186202050495625'

Following

GET /api/project/pinterest-scraper/list-user-following

List accounts followed by a Pinterest username

Full docs β†’
Details

Retrieve the available public accounts followed by a Pinterest profile. Supply the profile username in the query parameter named userid. Despite its name, this route takes a username, not the numeric userid used by the follower route. userid remains optional in the parameter contract, while the documented first-page workflow supplies a username. Omit bookmark for the first page. If a response supplies data.bookmark, keep the same username in userid and pass that token unchanged as bookmark. Stop on absent or repeated tokens and deduplicate returned IDs. A continuation token was observed, but another page was not requested, so pagination and exhaustive collection are not verified. Observed response: a successful recorded probe returned message: null, data.request_id, data.status set to ok, a nonempty data.bookmark and fifty data.followings[] records. Each record included node.username and node.id with cursor: null. Preserve IDs as strings; the observed collection-level bookmark, not those null record cursors, is the documented next-page input. Unverified documented examples additionally show node.__typename, entityId, fullName, imageMediumUrl, imageXlargeUrl, isPrivateProfile, type, board_count, follower_count, pin_count, domain_verified, is_default_image, is_verified_merchant, last_pin_save_time, pin_thumbnail_urls and recent_pin_images. Treat these example fields as illustrative rather than guaranteed. Documented error examples show detail for HTTP 400 and 500, and detail[] entries with loc, msg and type for HTTP 422; these errors were not observed in the successful probe. Following relationships describe accounts the target follows, not its followers, and do not establish endorsement, audience overlap or private interests.

Explicitly submit this Pinterest request 0 required Β· 2 optional
ParameterInValue
query
Optional route-specific continuation inputs (1)
ParameterInValue
query

Request cost is temporarily unavailable. No price is assumed.

View pricing
curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/list-user-following?key=<API_KEY>&userid=example_user'

Profiles

GET /api/project/pinterest-scraper/get-user-details

Get public Pinterest profile details by username

Full docs β†’
Details

Look up public profile metadata using the required username query parameter. Use the Pinterest account username, not its display name; the recorded successful request used a username. Availability can depend on profile visibility and data availability. Observed success: HTTP 200 with status: ok, request_id, message: null and a nonempty data.user. Probe metadata confirmed data.user.id, username, full_name, pin_count, follower_count, following_count and last_pin_save_time. The observed id was the quoted decimal string "32088353503445352". Preserve its exact digits as a string for a numeric-ID follower request; do not convert it to a JavaScript number. If another response encodes an ID as an unquoted JSON integer, parse its raw token losslessly before string conversion. Observed not-found result: an HTTP 200 response contained status: error, request_id, a message explaining that no data was found and data.user: {}. Check the business status and profile content rather than interpreting transport success or an empty object as a valid zero-count account. Keep missing counts distinct from zero. Unverified documented examples additionally include about, first_name, board_count, created_at, domain_verified, eligible_profile_tabs, image_medium_url, image_xlarge_url, indexed, interest_following_count, is_ads_only_profile, is_gco_account, is_inspirational_merchant, is_partner, is_primary_website_verified, is_private_profile, is_verified_merchant, node_id, partner, profile_cover.url, seo_description, seo_title and type. These additional fields were not individually confirmed by the supplied probe metadata and may be unavailable. Documented error examples show detail for HTTP 400, detail[] entries with loc, msg and type for HTTP 422, and data.user, request_id and status for HTTP 500; those HTTP error cases were not probed. Follower and following totals are profile metadata, not relationship lists or proof of exhaustive enumeration. This response is a snapshot; any count history must come from your own repeated observations.

Explicitly submit this Pinterest request 1 required Β· 0 optional
ParameterInValue
query

Request cost is temporarily unavailable. No price is assumed.

View pricing
curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/get-user-details?key=<API_KEY>&username=example_user'

Service Health

GET /api/project/pinterest-scraper/check-api-health

Check service reachability

Full docs β†’
Details

Send GET /ping to check whether the service responds to a lightweight request. This operation takes no endpoint-specific query parameters or request body and returns no Pinterest profile, pin or relationship collection. Response evidence: the supplied HTTP 200 documentation example is an empty JSON object. No live probe was recorded for this operation, so no particular response fields, status strings, request identifiers or timing metrics are confirmed. Inspect the HTTP status and any returned body rather than requiring an undocumented JSON property. Use a bounded client timeout and low-frequency polling. A successful health request establishes only that the health route responded; it does not confirm Pinterest data access, the availability of a particular account, other endpoints, pagination or complete content coverage. Test a representative data operation separately when diagnosing those capabilities.

Explicitly submit this Pinterest request 0 required Β· 0 optional

Request cost is temporarily unavailable. No price is assumed.

View pricing
curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/check-api-health?key=<API_KEY>'

Public Pins

GET /api/project/pinterest-scraper/list-user-pins

List an account's available public pins

Full docs β†’
Details

Retrieve the available public pin records for the account identified by the required string query parameter username. The parameter documentation permits a Pinterest username or account ID, but the recorded probe verified only a username. The default example_user is an illustrative value; replace it with the intended account. No pagination parameter is exposed. Observed response: a successful request for marthastewart returned HTTP 200 with status set to ok, request_id, message set to null and data.pins containing 25 records. The probe confirmed pin IDs, public board URLs, the account's pinner identity, images and outbound links. This is evidence of a returned collection, not a fixed page size or a complete account export. Additional documented fields, not individually confirmed by the probe metadata: each pin may include id, title, description, description_html, alt_text, created_at, domain, link, seo_title and seo_url; board contains id and name, pinner contains id and username, and images may contain a size-keyed entry such as images["236x"].url. The source example also includes comment_count, repin_count, reaction_counts.like, comments, grid_title, grid_description, dominant_color and flags such as is_video, is_repin, is_promoted and privacy. Treat these example fields as optional rather than a guaranteed record schema, preserve IDs as strings and handle absent text, images or links. Counts, where present, are record attributes rather than engagement history. The documentation also illustrates HTTP 400 with a detail string, HTTP 422 with detail entries containing loc, msg and type, and HTTP 500 with status, request_id and data.pins. These are unverified error examples, not observed failures or guaranteed error formats. Use returned source references for attribution and compare pinner identities before assigning authorship. An account's collection may contain saved content; neither inclusion nor a media URL grants ownership or reuse rights. This route does not expose pagination, private boards, restricted pins or deleted content, and its available collection must not be described as every pin associated with the account.

Explicitly submit this Pinterest request 1 required Β· 0 optional
ParameterInValue
query

Request cost is temporarily unavailable. No price is assumed.

View pricing
curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/list-user-pins?key=<API_KEY>&username=example_user'

Account Discovery

GET /api/project/pinterest-scraper/search-users

Search for public Pinterest accounts

Full docs β†’
Details

Search publicly discoverable Pinterest accounts with the required string query parameter username. Despite its name, this parameter accepts account-search text such as a username or partial name; the recorded probe used the multiword query martha stewart. Replace the illustrative example_user default with the intended search text. No page or cursor input is documented. Observed response: the recorded request returned HTTP 200 with status set to ok, request_id, message set to null and data.users containing 49 account records. The first result included username set to marthastewart, an id and full_name set to Martha Stewart; another candidate was MarthaWeddings. These observations establish candidate discovery for that query, not a fixed result count, guaranteed ranking, account ownership or an exhaustive directory. Preserve IDs as strings. Additional documented fields, not individually confirmed by the probe metadata: user records may contain image_small_url, image_medium_url, image_large_url, image_xlarge_url, board_count, pin_count, follower_count, last_pin_save_time, domain_verified, is_primary_website_verified and is_verified_merchant. The source example also includes contextual_pin_image_urls, pin_thumbnail_urls, recent_pin_images, node_id, type, blocked_by_me, explicitly_followed_by_me, is_ads_only_profile and is_default_image. Treat these as optional example fields, not a guaranteed schema; flags in this public search example are not evidence of an authenticated viewer's relationship with an account. Counts and verification flags, if present, are profile attributes rather than private analytics or independent proof of identity. The documentation illustrates HTTP 400 with a detail string, HTTP 422 with detail entries containing loc, msg and type, and HTTP 500 with status, request_id and data.users. No such error was recorded by the supplied probe, so these are documented examples rather than observed failure formats. Compare candidate usernames and available profile metadata rather than accepting the first match. A display name is not necessarily the username required by subsequent account requests. After a human or application selects a candidate, use its returned username for a separate profile lookup or pin request; search does not perform that enrichment automatically. Results may be ambiguous or incomplete, and this endpoint searches users rather than pins or boards.

Explicitly submit this Pinterest request 1 required Β· 0 optional
ParameterInValue
query

Request cost is temporarily unavailable. No price is assumed.

View pricing
curl -X GET 'https://api.opendata-api.com/api/project/pinterest-scraper/search-users?key=<API_KEY>&username=example_user'

Public profiles, pins and relationship snapshots

Retrieve structured public Pinterest account data for profile enrichment, creator discovery and content snapshots.

  • Profile lookup: resolve a username to its public account identity, profile metadata and available counts
  • User search: discover account candidates by username or name, then confirm the intended profile
  • User pins: inspect the returned public pin collection, including available images, source links and board references
  • Followers: request public follower records using a numeric user ID preserved as a string
  • Following: inspect accounts followed by a username, with a separate bookmark input for continuation

Build bounded account and relationship snapshots without treating returned rows as a complete export. Follower continuation, following pagination and full pin-history coverage are not established. Public profile counts are not private engagement analytics or audience demographics.

Guides