Pinterest Videos Scraper | Video Downloader, MP4 Links, Stats avatar

Pinterest Videos Scraper | Video Downloader, MP4 Links, Stats

Pricing

from $2.54 / 1,000 videos

Go to Apify Store
Pinterest Videos Scraper | Video Downloader, MP4 Links, Stats

Pinterest Videos Scraper | Video Downloader, MP4 Links, Stats

Pinterest video scraper and downloader: direct MP4 links, HLS streams, duration, captions, saves, repins, comments, shares, creator and board for every video pin. Search by keyword or paste board, profile and pin links or pin ids. 20 videos in 6 seconds, 41 fields each, no Pinterest account.

Pricing

from $2.54 / 1,000 videos

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Pinterest Videos Scraper | Video Downloader, MP4 Links and Stats (2026)

1 search. 20 Pinterest videos. 41 fields per video.

From SilentFlow. Creators of Pinterest Scraper and Leboncoin Scraper, with 420,000+ combined lifetime runs.

Every Pinterest video on a topic, a board or a profile, in one table: the direct MP4 file, how long it runs, and how many people saved, shared and commented on it. Type a keyword, paste pin, board, profile or search links, or drop in pin ids. Each video becomes one row you can sort, filter and download. 20 videos for "easy dinner recipes" in about 4 seconds on the prefilled run, no Pinterest account.

Why choose this actor?

Saving Pinterest videos one by one from the app? Pasting pin links into a downloader that only takes pin links, and gives back a file with no numbers? Guessing which recipe, decor or beauty videos actually get saved, because Pinterest never shows the counts side by side?

  • Three ways in, all in the same run: keywords, links and pin ids. The most used Pinterest video downloader on the Store reads pin links and nothing else. Here you search Pinterest's video tab by keyword, paste a board, a profile, a search link, a pin or a pin.it short link, and refresh a list of pin ids. On a local run, one board, one profile, one pin and one search link returned 40 videos in 8 seconds, with the cap shared evenly between them.
  • Nothing to fill in before you press Start. The most used Pinterest video downloader makes its list of links mandatory. Here no field is required: the form comes prefilled with the keyword "easy dinner recipes", so the first run returns rows right away. On the prefilled run, 20 videos came back in about 4 seconds, and all 20 MP4 links opened as video files.
  • 38 data fields filled per video, not just a file link. The most used Pinterest video downloader returns a title and a list of media files. On the prefilled run (20 videos, 14 Oct 2026), 38 of the 40 data fields of a row carry a value on at least half the rows, 35 of them on every row: the MP4 and the stream, length, width and height, the thumbnail and cover image, title, description, alt text and topic tags, the creator with follower count and verified badge, the account that saved it, its board, saves, repins, comments, shares, reactions and the publication date.

Try Pinterest Videos Scraper

Paste this input into the Input tab (JSON view) and press Start. It is the prefilled input of the form: the first 20 videos Pinterest shows for "easy dinner recipes".

{
"searchQueries": ["easy dinner recipes"],
"maxItems": 20
}

The Apify Free plan is enough to run it and to test the actor on your own topics: no credit card, no Pinterest account, no setup. Each video becomes one row of the dataset, which you can export as JSON, CSV or Excel, or read from the API. The table opens on a view with the thumbnail, title, creator, length, saves, publication date and the MP4 link; two more views list the video files and the engagement numbers.

How it works

SilentFlow ยท Pinterest suite
ย ย Pinterest Scraper
Pins, Boards and Profiles
ย ย Pinterest Scraper
Pinterest Scraper
Pinterest Videos Scraper
You are here

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full context of this actor:

You have access to the Pinterest Videos Scraper on Apify: silentflow/pinterest-videos-scraper
It reads public Pinterest video pins: keyword searches in Pinterest's video tab, boards, profiles,
search links and single pins. One dataset row per video. No Pinterest account.
Input (no field is required, but give at least one keyword, link or pin id):
- searchQueries (array of strings): keywords searched in the video tab, e.g. ["easy dinner recipes", "nail art"].
Pinterest serves up to about 180 videos per keyword.
- startUrls (array of strings): links on any Pinterest domain: pins (https://www.pinterest.com/pin/<id>/),
pin.it short links, boards (https://www.pinterest.com/<user>/<board>/), profiles
(https://www.pinterest.com/<user>/), searches (https://www.pinterest.com/search/videos/?q=...).
Boards and profiles mix videos and images: only videos become rows.
- pinIds (array of strings): pin ids, digits, e.g. "989525349381756600".
- maxItems (integer, default 50): stop after this many videos in total, shared evenly between keywords and links.
- minDurationSeconds (integer, default 0): skip found videos shorter than this.
- maxDurationSeconds (integer, default 0 = no limit): skip found videos longer than this.
- excludePromoted (boolean, default false): leave out promoted pins (ads).
Filters apply to what keywords, boards, profiles and searches find; a pin named by link or id is always delivered.
Output per video (40 data fields + 4 about how it was found, null when Pinterest has no value):
- id (string, pin id), url (string, permanent pin page), title, description, altText (strings)
- category (string), hashtags (array), tags (array of Pinterest topic tags), link (outbound URL), domain
- creatorUsername, creatorName, creatorFollowerCount (integer), creatorUrl, creatorIsVerified (boolean)
- pinnerUsername, pinnerName, pinnerFollowerCount (integer): the account that saved this copy
- boardName, boardUrl
- saveCount, repinCount, commentCount, shareCount, reactionCount (integers)
- createdAt (RFC 3339, when the pin was published)
- videoUrl (direct MP4), videoQuality (e.g. "720p"), hlsUrl (stream), durationSeconds (number),
width, height (integers, source size), aspectRatio (number), thumbnailUrl, imageUrl
- captionsUrl (WebVTT file), captionsLanguage (e.g. "en-us"), isStoryPin, isPromoted (booleans), dominantColor (hex)
- searchQuery (keyword that found it), sourceUrl (link that found it), position (rank in its source), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript to call it and read the dataset items.

How to scrape Pinterest videos

Three inputs, from the simplest to a combined run. Each one runs as is in the JSON view of the Input tab.

Get the top videos for a topic

One keyword is enough. Pinterest ranks the videos as it does on its own video tab, and the position column keeps that rank.

{
"searchQueries": ["diy home decor"],
"maxItems": 50
}

Download every video of a board and a profile

Paste the links straight from your browser. Boards and profiles mix images and videos: only the videos become rows, and each row says which link found it in sourceUrl.

{
"startUrls": [
"https://www.pinterest.com/wellplated/well-plated-recipe-videos/",
"https://www.pinterest.com/wellplated/"
],
"maxItems": 100
}

Collect short videos only, without ads, across several topics

Keywords, length filters and the promoted filter work together. This keeps videos between 15 and 60 seconds, leaves out promoted pins, and adds two pins you already know, which are delivered whatever their length. On a local run of this shape (one keyword and three pin ids), 30 videos came back in 7 seconds and 15 videos were left out by the filters.

{
"searchQueries": ["meal prep", "healthy breakfast"],
"pinIds": ["703335666830055917", "989525349381756600"],
"minDurationSeconds": 15,
"maxDurationSeconds": 60,
"excludePromoted": true,
"maxItems": 100
}

Input parameters

FieldTypeDefaultWhat it does
searchQuerieslist of textprefilled with easy dinner recipesKeywords searched in Pinterest's video tab, one per line. Up to about 180 videos per keyword.
startUrlslist of linksnonePin, pin.it, board, profile or search links, on any Pinterest domain.
pinIdslist of textnonePin ids such as 989525349381756600. One row per id, with fresh numbers.
maxItemsnumber50Stop after this many videos in total, shared evenly between keywords and links.
minDurationSecondsnumber0Skip found videos shorter than this many seconds. 0 keeps every length.
maxDurationSecondsnumber0Skip found videos longer than this many seconds. 0 means no upper limit.
excludePromotedtrue/falsefalseLeave out promoted pins (ads) found by keywords, boards and profiles.

No field is required, but a run needs at least one keyword, link or pin id; with none, it stops at once and says so.

Accepted formats

  • Keywords: any words you would type in Pinterest's search bar, in any language: easy dinner recipes, nail art, recette facile, wohnzimmer deko. Each keyword is one search; duplicates are read once.
  • Pin links: https://www.pinterest.com/pin/989525349381756600/, the same on a country domain (fr.pinterest.com, pinterest.co.uk, pinterest.de), and pin links that carry a title before the id (/pin/sheet-pan-eggplant-parmesan--419679259045653541/).
  • Short links: https://pin.it/... links from the share button of the app. Each one is opened and read as the pin, board or profile it leads to.
  • Boards: https://www.pinterest.com/<user>/<board>/. A board section link is read as its board.
  • Profiles: https://www.pinterest.com/<user>/, also with /_created/ or /_saved/ at the end.
  • Searches: https://www.pinterest.com/search/videos/?q=meal%20prep or /search/pins/?q=...; the words after q= are searched in the video tab.
  • Pin ids: digits only, typed alone or taken from the id column of an earlier run.

A link that is not a pin, board, profile or search (an idea page, the home page, another site) is skipped and counted in the run log, and the rest of the run goes on.

What data can you extract from Pinterest?

Each row is one Pinterest video, with 40 data fields grouped the same way on every row, plus 4 fields that say how the row was found. A value Pinterest does not give is null, never an empty string.

  • Identity (4): id, the pin id that never changes; url, the permanent pin page; title; description.
  • Content (6): altText (Pinterest's description of the image, useful when a pin has no caption of its own), category, hashtags, tags (Pinterest's topic tags for the pin, such as "Chinese Healthy Recipes"), link (where the pin sends people) and its domain.
  • Creator, pinner and board (10): the account behind the video (creatorUsername, creatorName, creatorFollowerCount, creatorUrl, creatorIsVerified), the account that saved this copy (pinnerUsername, pinnerName, pinnerFollowerCount) and the board it sits on (boardName, boardUrl). When Pinterest names no creator, the pinner stands in for it.
  • Engagement (5): saveCount, repinCount, commentCount, shareCount, reactionCount, read at the time of the run.
  • Time (1): createdAt, when the pin was published, in RFC 3339 (UTC).
  • Video and media (14): videoUrl (the direct MP4 file), videoQuality, hlsUrl (the stream), durationSeconds, width, height, aspectRatio, thumbnailUrl (the first frame), imageUrl (the cover image at full size), captionsUrl and captionsLanguage (a WebVTT caption file where the video has one), isStoryPin, isPromoted, dominantColor.
  • How it was found (4): searchQuery, sourceUrl, position (rank of the video in its keyword, board or profile) and scrapedAt.

On the prefilled run, 35 data fields were filled on all 20 rows. Captions were there on 11 of the 20 videos; on a 100-video run of two keywords, on 42. category and hashtags are filled only when the creator set them, which is rare.

Output example

One real row from the prefilled run (14 Oct 2026), unchanged:

{
"id": "703335666830055917",
"url": "https://www.pinterest.com/pin/703335666830055917/",
"title": "Chicken and Broccoli",
"description": "This Chinese chicken and broccoli stir fry tastes just like, if not better, than Chinese takeout! It's saucy, super easy to make, and takes 30 minutes or less to make at home. This easy chicken stir fry recipe is great with some white rice or egg fried rice or even some shrimp lo mein. If you want a large variety of veggies, try our chicken with mixed vegetables and if you prefer beef, our beef and broccoli will be perfect.",
"altText": "a person holding chopsticks above a bowl of chicken and broccoli stir fry",
"category": "food_drink",
"hashtags": null,
"tags": [
"Chinese Lunch Recipes",
"Chicken Diet Meals",
"Chinese Healthy Recipes",
"How To Make Stir Fry",
"Chinese Food Ideas",
"Chinese Broccoli Stir Fry",
"Lunch Ideas Rice",
"Easy Chicken With Broccoli Recipes",
"Chicken Diet Recipes"
],
"link": "https://twoplaidaprons.com/chicken-and-broccoli/",
"domain": "twoplaidaprons.com",
"creatorUsername": "twoplaidaprons",
"creatorName": "Two Plaid Aprons | Tried & True Recipes",
"creatorFollowerCount": 86981,
"creatorUrl": "https://www.pinterest.com/twoplaidaprons/",
"creatorIsVerified": true,
"pinnerUsername": "twoplaidaprons",
"pinnerName": "Two Plaid Aprons | Tried & True Recipes",
"pinnerFollowerCount": 86981,
"boardName": "Asian Recipes",
"boardUrl": "https://www.pinterest.com/twoplaidaprons/asian-recipes/",
"saveCount": 80510,
"repinCount": 8948,
"commentCount": 97,
"shareCount": 1767,
"reactionCount": 5707,
"createdAt": "2023-09-13T23:04:25Z",
"videoUrl": "https://v1.pinimg.com/videos/mc/720p/3f/a1/da/3fa1da2bb95ce173770b195f446fe682.mp4",
"videoQuality": "720p",
"hlsUrl": "https://v1.pinimg.com/videos/iht/hls/3f/a1/da/3fa1da2bb95ce173770b195f446fe682.m3u8",
"durationSeconds": 33.37,
"width": 1080,
"height": 1920,
"aspectRatio": 0.563,
"thumbnailUrl": "https://i.pinimg.com/videos/thumbnails/originals/3f/a1/da/3fa1da2bb95ce173770b195f446fe682.0000000.jpg",
"imageUrl": "https://i.pinimg.com/originals/cf/0d/ae/cf0dae7be25bfb8628b8364f5cf405ad.jpg",
"captionsUrl": "https://v1.pinimg.com/videos/captions/en-us/3f/a1/da/3fa1da2bb95ce173770b195f446fe682.vtt",
"captionsLanguage": "en-us",
"isStoryPin": false,
"isPromoted": false,
"dominantColor": "#5c5640",
"searchQuery": "easy dinner recipes",
"sourceUrl": null,
"position": 14,
"scrapedAt": "2026-10-14T13:17:37Z"
}

width and height are the size of the video as uploaded; the MP4 file is the 720p version Pinterest serves to its players. id and url are stable and safe to use as keys when you merge runs.

Advanced usage

Five recipes for the jobs teams run most. Each input runs as is.

Track a competitor's new videos every week

Point the actor at a profile and schedule it weekly from the Schedules tab. Each run reads the newest pins first, so the top rows are what the account posted since the last run; join on id to see the saves and shares of older videos grow.

{
"startUrls": ["https://www.pinterest.com/wellplated/"],
"maxItems": 50
}

Build a short-form library for one niche

Several keywords of the same niche, videos under 30 seconds, no ads. The cap is shared evenly, so each keyword brings its own top videos instead of the first one filling the run. Sort by saveCount to see what people keep.

{
"searchQueries": ["nail art", "nail art tutorial", "summer nails", "french tip nails"],
"maxDurationSeconds": 30,
"excludePromoted": true,
"maxItems": 200
}

Refresh the numbers of a list of videos

Keep the pin ids of the videos you follow (your own, a client's, a campaign's) and rerun them. Each id gives one row with the current saves, repins, comments and shares, and the MP4 link to the file.

{
"pinIds": ["703335666830055917", "989525349381756600", "1688918605703303"],
"maxItems": 10
}

Turn a board into a folder of MP4 files

Run the board, then download every videoUrl with the tool of your choice. A few lines of Python with the Apify client do it in one go:

{
"startUrls": ["https://www.pinterest.com/wellplated/well-plated-recipe-videos/"],
"maxItems": 100
}
from apify_client import ApifyClient
import urllib.request
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("silentflow/pinterest-videos-scraper").call(run_input={
"startUrls": ["https://www.pinterest.com/wellplated/well-plated-recipe-videos/"],
"maxItems": 100,
})
for video in client.dataset(run["defaultDatasetId"]).iterate_items():
if video["videoUrl"]:
urllib.request.urlretrieve(video["videoUrl"], f"{video['id']}.mp4")

Feed a captioned video dataset

Search broad keywords, then keep the rows where captionsUrl is set: each one pairs an MP4 file with a WebVTT caption file, alt text and topic tags. On a 100-video run of two cooking and decor keywords, 42 videos had captions.

{
"searchQueries": ["easy dinner recipes", "diy home decor", "skincare routine", "workout at home"],
"maxItems": 400
}

FAQ

Do I need a Pinterest account? No. The actor reads public Pinterest videos only. There is no login, no API key and nothing to connect.

What exactly do I get for each video? One row with 40 data fields: the direct MP4 file and the stream, length and size, captions where they exist, title, description, alt text and topic tags, the creator, the account that saved it and its board, saves, repins, comments, shares, reactions and the publication date. The section above lists them all.

How many videos can I get per keyword? Pinterest serves up to about 180 videos for one keyword in its video tab; a test on "diy crafts" ran dry at 180. To collect more on a topic, add related keywords, boards or profiles. There is no other limit than maxItems.

Are the MP4 links real files I can download? Yes. videoUrl is the MP4 file Pinterest serves to its own players, usually in 720p. On the prefilled run, all 20 links opened as video files. You can open them in a browser, download them with any tool, or pass them to an editor.

Do the video links expire? The MP4, stream, thumbnail and image links have no expiry date in their address and keep working as long as Pinterest keeps the video. A pin its owner deletes takes its files with it, so download what you need to keep. Saves, repins, comments and shares are a snapshot of the time of the run.

Why do some boards or profiles give fewer videos than pins? Boards and profiles mix images and videos, and only the videos become rows. On the profile used in the examples, 3 of the 25 latest pins were videos. The run moves on after several pages in a row without a new video, so an account that posts only images ends quickly.

Can I search several keywords and links in one run? Yes. Keywords, links and pin ids all go in the same run. Pins you name are read first, then the boards, profiles and search links, then the keywords, and maxItems is shared evenly between them. A video found twice is delivered once.

Can I combine the filters? Yes, they add up. minDurationSeconds: 15, maxDurationSeconds: 60 and excludePromoted: true keep the videos between 15 seconds and a minute that are not ads. Videos left out are counted in the run log and never delivered. A pin you name by link or id is always delivered, whatever its length.

Why does a row have no title? Many creators publish a video with only a description, or with nothing at all. The row then carries altText, Pinterest's own description of the image, and the topic tags, so you still know what the video shows.

What is the difference between the creator and the pinner? The creator is the account that published the video; the pinner is the account that saved the copy you found, on its own board. On a brand's own pin they are the same; on a repin they differ. When Pinterest names no creator, the pinner fills both.

Why did a pin id give no row? Either the pin has no video (an image pin), or it was deleted, made private, or the id was mistyped. The run log says which, pin by pin, and the rest of the run goes on.

What is Pinterest video? Pinterest is a visual discovery platform where people save ideas to boards. Its video pins are short vertical videos, much like TikTok or Instagram Reels, but searched and saved for months: a recipe video from 2023 can still collect saves today. That long shelf life makes the save counts a strong signal of what content keeps working.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐Ÿ“ˆ Marketing

๐Ÿงฐ More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This actor extracts publicly available data from Pinterest: video pins anyone can see without an account. It does not bypass any login, paywall or CAPTCHA, and it cannot read secret boards or private profiles. Users are responsible for complying with Pinterest's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL where relevant). The output names the creators and pinners of each video; when it contains personal data, users must handle it accordingly. The videos belong to the people who made them: check the creator's rights before republishing any of them. The data returned is informational; verify accuracy for regulated use cases.

Pinterest Videos Scraper by SilentFlow: Pinterest's video pins as a dataset, with the file and the numbers of each one.