Pinterest Pin Detail avatar

Pinterest Pin Detail

Pricing

from $0.99 / 1,000 results

Go to Apify Store
Pinterest Pin Detail

Pinterest Pin Detail

Fetch full metadata for a Pinterest pin: image, video, save count, hashtags, creator, board, and product info.

Pricing

from $0.99 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Pinterest Pin Detail Scraper

Extract full metadata for any Pinterest pin in bulk — title, description, image URL, outbound link, save count, dominant color, pinner profile, and board context — in a clean structured JSON output.

Why use this actor

  • No account / no login required — just give it a Pinterest pin URL or a numeric pin ID.
  • No API key needed — Pinterest's public API is locked behind a developer review; this actor returns the same data the pin page shows.
  • Rich pin metadata — title, description, image URL with dimensions, dominant color, alt text, hashtags, outbound link, and the pin's save count.
  • Pinner + board context — every record includes the creator's username, display name, profile picture, follower count, and the board the pin lives in.
  • Bulk input — pass a list of pin URLs or IDs in one run; one clean dataset row per pin.
  • Stable JSON output suitable for pipelines, spreadsheets, and databases — every row carries _input, _source, _scrapedAt envelope fields so you can join results back to your input list.

How it works

  1. You provide a list of Pinterest pin URLs (e.g. https://www.pinterest.com/pin/424605071126047814/) or bare numeric pin IDs (424605071126047814).
  2. The actor opens each pin the same way Pinterest's web app does and reads its record — image, title, description, link, save count, pinner, and board — then assembles a flat JSON row.
  3. Results stream into your dataset, ready to download as JSON, CSV, or Excel.

You do not need to manage scrapers, browsers, or rotating IPs — all handled internally.

Input

{
"pins": [
"https://www.pinterest.com/pin/424605071126047814/",
"424605071126047814"
],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["DATACENTER"]
}
}
FieldTypeDescription
pinsarrayList of Pinterest pin URLs or numeric pin IDs. Both https://www.pinterest.com/pin/424605071126047814/ and 424605071126047814 are accepted.
proxyConfigurationobjectApify Proxy settings. Datacenter works for most pins; switch to residential if you hit blocks on a particular pin.

Output

Input: https://www.pinterest.com/pin/424605071126047814/

{
"_input": "https://www.pinterest.com/pin/424605071126047814/",
"_source": "S2-fallback",
"_scrapedAt": "2026-05-18T11:30:26.926224+00:00",
"id": "424605071126047814",
"title": "Skin Tone Ranges",
"description": " ",
"link": null,
"dominantColor": "#e3e0df",
"imageUrl": "https://i.pinimg.com/564x/b6/d0/aa/b6d0aaffbbd81bb395967401b3e5ad3d.jpg",
"imageWidth": 564,
"imageHeight": 1002,
"videoUrl": null,
"isVideo": false,
"saveCount": 698,
"commentCount": null,
"reactionCounts": null,
"closeupUnifiedDescription": null,
"createdAt": null,
"altText": null,
"hashtags": [],
"pinner": {
"id": "424605208526455283",
"username": null,
"fullName": "Pinterest",
"profileImageUrl": "https://i.pinimg.com/60x60_RS/1c/b5/61/1cb561c8e7b9c709f78d110a4b5f0863.jpg",
"followerCount": 6258732
},
"board": {
"id": "424605139806979476",
"name": "Official news",
"url": "/pinterest/official-news/",
"pinCount": 51
},
"richSummary": null,
"shopMetadata": null
}
FieldTypeDescription
_inputstringThe pin URL or ID exactly as you supplied it. Use this to join results back to your input list.
_sourcestringInternal tag for the path used to fetch the record. S1-primary means the fastest, richest path; values starting with S2-fallback / S3-fallback mean a fallback was used.
_scrapedAtstringISO-8601 UTC timestamp when the record was scraped.
idstringPinterest's numeric pin ID (stable across edits).
titlestringPin title or headline. May be null for image-only pins.
descriptionstringPinner-written caption. May be empty or whitespace if the pinner left it blank.
linkstringOutbound destination URL the pin links to (article, product page, etc.). null for self-uploaded pins with no link.
dominantColorstringHex color string Pinterest computes from the image (e.g. #e3e0df). Useful for palette / mood grouping.
imageUrlstringDirect CDN URL of the pin image at the largest available size.
imageWidthintegerWidth of imageUrl in pixels.
imageHeightintegerHeight of imageUrl in pixels.
videoUrlstringDirect video URL for video pins. null for image pins.
isVideobooleantrue if the pin is a video pin.
saveCountintegerNumber of times the pin has been saved (re-pinned).
commentCountintegerNumber of comments on the pin. May be null on the fallback path.
reactionCountsobjectMap of reaction-type id to count (e.g. {"1": 1705, "5": 1}). May be null on the fallback path.
closeupUnifiedDescriptionstringLong-form expanded description Pinterest sometimes shows on the closeup view.
createdAtstringISO timestamp when the pin was created. May be null on the fallback path.
altTextstringAccessibility alt text the pinner set on the image.
hashtagsarrayList of hashtag strings extracted from the description.
pinnerobjectCreator profile — id, username, fullName, profileImageUrl, followerCount.
boardobjectBoard context — id, name, url (relative path), pinCount.
richSummaryobjectStructured rich-pin metadata (recipe, product, article) when the pin carries it. null otherwise.
shopMetadataobjectShop / merchant metadata for shoppable pins. null otherwise.

Error envelope

Pins that don't exist or fail to fetch return a structured error instead of crashing the run:

{
"_input": "https://www.pinterest.com/pin/000000000000000000/",
"_error": "not_found",
"_scrapedAt": "2026-05-18T11:30:30.012345+00:00"
}

Other _error values: invalid_input (pin URL could not be parsed) and fetch_failed (pin record could not be retrieved after retries). Filter on _error to triage failed rows.

Pricing

This actor is billed per result: $7.50 per 1,000 pins (Tier 5). Each successful pin = 1 result. Errors (not-found, fetch-failed) are not billed.

Other Sosmed Actors

PlatformActorBest for
PinterestPinterest User Profile ScraperPinner bio, follower / following counts, pin count
PinterestPinterest Board ScraperBoard metadata + pins inside the board
InstagramInstagram Post Detail ScraperFull metadata for any Instagram post URL
ThreadsThreads Post Detail ScraperFull metadata for any Threads post
TumblrTumblr Post Detail ScraperFull metadata for any Tumblr post
RedditReddit Post Detail ScraperReddit post + body + score

Browse the full catalog at apify.com/xtracto.

Notes

  • Accepts both full pin URLs (https://www.pinterest.com/pin/<id>/) and bare numeric IDs.
  • Private and deleted pins return {"_error": "not_found", "_input": "..."} — they are not billed.
  • Video pins (including idea / story pins with video pages) populate videoUrl and set isVideo: true. Image-only pins leave videoUrl as null.
  • The link field is null for self-uploaded pins that don't point anywhere outside Pinterest.
  • Some fields (commentCount, reactionCounts, createdAt, altText) may be null when the actor falls back from S1-primary to S2-fallback — the core image, title, save count, pinner, and board are always populated when the pin exists.