Pinterest Media Downloader avatar

Pinterest Media Downloader

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Pinterest Media Downloader

Pinterest Media Downloader

Download public Pinterest image, GIF, Story Pin, and video media with source metadata and Key-Value Store links.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

vexaloom-labs

vexaloom-labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Security

Limited permissions

Share

Turn public Pinterest Pins into a folder of usable media files. This actor saves the image, animated GIF or MP4 video into the run's Key-Value Store and writes one dataset row per file with the Pin, creator, board, destination and engagement context Pinterest publishes.

It works without a Pinterest login, without cookies and without a user-supplied proxy. Media is fetched directly from Pinterest's public CDN; the actor only escalates to an Apify proxy when a request is blocked or a search response is empty.

Modes

ModeWhat it downloads
autoPin links from pinUrls, then Pinterest results from searchTerms
pinDetailOnly the Pins in pinUrls
searchPinsMedia from Pinterest Pin search results
searchVideosVideos from Pinterest's video search vertical

Search Pins include static images, animated GIFs and video Pins. Search video results often expose only an HLS playlist; the actor derives the sibling public MP4 (/videos/iht/expMp4/..._720w.mp4) so those results are still downloadable as real files, and reports the MP4's actual pixel size and duration.

What you get

Each media row contains:

  • record_type, pin_id, pinterest_url, source_url
  • media_url (the URL actually downloaded), optional source_media_url (the original HLS or preferred URL)
  • media_type (image or video) and media_format (image, gif or video)
  • saved_as, key_value_store_key, download_url, file_size_bytes, file_sha256
  • content_type, media_width, media_height, duration_ms, thumbnail_url
  • selected_variant, downloaded_variant
  • scraped_at
  • a nested pin object with title, description, alt text, dates, destination link, image and video variants, creator, board, saves, reactions, promotion and shopping flags

The nested imageVariants and videoVariants maps keep Pinterest's own size and quality names (for example 236x, 736x, orig, V_720P). Animated GIFs are always saved from images.orig; selecting a thumbnail size would save a static JPEG instead.

When includeComments is enabled, the dataset can also contain public comment and pin_activity rows for numeric Pins.

Input

FieldTypeDefaultDescription
modechoiceautoauto, pinDetail, searchPins or searchVideos.
pinUrlsarray–Public Pin links or numeric Pin IDs.
searchTermsarray–Pinterest search phrases.
mediaTypechoiceallall, images, videos or gifs. GIFs count as images.
imageSizechoiceoriginaloriginal, 736x, 564x, 474x or 236x. Falls back to the original or the nearest available size.
videoQualitychoicebestbest, 720p, 540p, 360p or 240p. Falls back to the nearest available quality.
maxItemsinteger50Maximum files per Pin URL or search phrase. 0 follows available results.
maxPagesinteger0Maximum search pages per phrase. 0 follows Pinterest's pagination.
minSavesinteger–Keep media only when Pinterest reports at least this many saves.
minCreatorFollowersinteger–Keep media only when Pinterest reports at least this many creator followers.
verifiedOnlybooleanfalseKeep only creators Pinterest marks as verified.
requireOutboundLinkbooleanfalseKeep only Pins with a destination link.
excludeAdsbooleanfalseExclude Pins marked as promoted.
commerceOnlybooleanfalseKeep only Pins with product or shopping metadata.
includeCommentsbooleanfalseAlso emit public comment and activity rows.
maxCommentsinteger10Maximum public comment/activity rows per Pin.
proxyConfigurationobject–Optional proxy override. The actor works without one.

Example: download specific Pins

{
"mode": "pinDetail",
"pinUrls": [
"https://www.pinterest.com/pin/112027111109155913/",
"https://www.pinterest.com/pin/142567144433577360/"
],
"imageSize": "original"
}

Example: search images at a smaller size

{
"mode": "searchPins",
"searchTerms": ["minimalist kitchen", "small balcony garden"],
"mediaType": "images",
"imageSize": "736x",
"maxItems": 500
}

Example: search videos as MP4

{
"mode": "searchVideos",
"searchTerms": ["ocean waves"],
"videoQuality": "720p",
"maxItems": 100
}

Example: GIFs only

{
"mode": "pinDetail",
"pinUrls": ["142567144433577360"],
"mediaType": "gifs"
}

Example: qualified commercial media

{
"mode": "searchPins",
"searchTerms": ["running shoes"],
"mediaType": "images",
"commerceOnly": true,
"requireOutboundLink": true,
"minSaves": 25
}

Backward compatibility

Saved tasks that still send the old keys keep working. The actor maps pinterestUrls, startUrls, urls, keywords, search, queries, imageOnly, videoOnly and proxy in code. Cookie fields (cookies, cookiesJson) are accepted but ignored because the shipped actor is cookieless.

Use cases

  • Build a local reference library of public Pinterest images, GIFs and videos.
  • Archive a creator's or board's visual style with source links.
  • Collect product, recipe or design media for content research.
  • Pair downloaded files with creator, board and engagement context.
  • Feed image or video datasets into downstream tagging and analysis.

FAQ

Where are the files stored?

Each file is saved as a record in the run's Key-Value Store. The download_url field is a public link to that record; media_url points at Pinterest's source CDN.

Do I need a proxy?

No. Direct Pinterest requests are tried first. The actor falls back to Apify's free AUTO datacenter proxy only when Pinterest blocks a request or returns an empty search envelope.

Why is my GIF a still image?

That happens only when the Pin is not actually animated. Animated GIF Pins are saved from images.orig, never from a JPEG thumbnail.

Why does a search video become an MP4 when Pinterest shows HLS?

Pinterest publishes the same video under both /videos/iht/hls/ and /videos/iht/expMp4/. The actor derives the public MP4 variant so the file is directly playable. It never saves an .m3u8 playlist as a video file.

Can I choose quality?

Yes. imageSize controls image dimensions and videoQuality controls MP4 quality. If the requested size or quality is unavailable, the actor uses the original/best or the nearest available variant.

Why did a Pin produce no file?

It may be private, deleted, region-blocked, missing public media, or it may expose only a media form Pinterest does not publish for download. The actor never fabricates a file or a download URL.

Are the media URLs permanent?

Pinterest CDN URLs can change or expire. The download_url points at the copy saved by this run and is the stable link for the exported file.

Do filters use estimates?

No. Metrics filters use only values Pinterest publishes on the same Pin. If a count is missing, the Pin does not pass a minimum-count filter.

Can I get metadata without downloading files?

This actor is file-first: every media row corresponds to a saved file. For metadata-only Pin, profile and board collection, use a dedicated Pinterest data actor.

What is not supported?

Carousel/slide expansion is not performed: the primary Pin media is downloaded. Video fps, codec and audio-track flags are not reported because the lightweight image does not run ffprobe. Search result IDs can be opaque, so detail-only fields such as saves or comments are omitted for those rows rather than guessed.

Is this affiliated with Pinterest?

No. This is an independent tool that reads Pinterest's public pages and API responses. It is not operated, endorsed or sponsored by Pinterest.