Social Media Downloader API: Instagram & Pinterest avatar

Social Media Downloader API: Instagram & Pinterest

Pricing

from $2.28 / 1,000 stored media files

Go to Apify Store
Social Media Downloader API: Instagram & Pinterest

Social Media Downloader API: Instagram & Pinterest

Social media downloader without login: download media from a list of social media links on Instagram and Pinterest (photos, reels, videos, pins) into your run's storage, one output shape for both. Call it from n8n, Make or the API; unsupported or failed links are free.

Pricing

from $2.28 / 1,000 stored media files

Rating

0.0

(0)

Developer

Adriana Voss

Adriana Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Social Media Downloader: Instagram & Pinterest

Cross-platform social media post media downloader. Paste any mix of social post URLs (Instagram, Pinterest, and more) to route each post to its platform resolver, download images and video files into the run's key-value store, and return a single unified output shape for every platform.

Who it's for

Social media managers, content creators, media archiving pipelines, and data automation teams who need a single API to download high-resolution photos, video reels, carousel covers, and pin media across social networks without managing separate platform scrapers or session logins.

Why this one

  • One input list, all platforms. Submit any mix of Instagram reels/posts, Pinterest pins, boards, or profile links in a single request.
  • Unified output shape. Standardized dataset format across all platforms, including file dimensions, SHA-256 hashes, video duration, frame rates, and Key-Value Store download URLs.
  • Durable Key-Value Store storage. Media files land directly in Apify Key-Value Store for high-speed retrieval.
  • Zero-charge policy on misses. Unsupported platforms, failed downloads, or skipped duplicates return explicit error/skipped rows and trigger zero charges.

What you get

Each dataset row represents one stored media file in the Key-Value Store, providing:

  • platform: platform name (instagram, pinterest).
  • inputUrl: original input URL supplied.
  • postUrl & postId: canonical URL and post identifier.
  • kind: image, video, gif, or cover.
  • kvKey & kvUrl: Key-Value Store key and direct download URL.
  • Technical media metadata (bytes, sha256, width, height, duration_s, fps, codec, hasAudio).
  • Caption & author metadata (text, author, createdAt) and platform-specific extra attributes.

Supported platforms

PlatformDomain / URL PatternSupported?Status / Notes
Instagraminstagram.com/p/..., /reel/..., /tv/...YesPost photos, video reels, IGTV, carousel cover stills. Logged out via RESIDENTIAL proxy.
Pinterestpinterest.com/..., pin.it/...YesSingle image pins, video pins (MP4/HLS), story/idea pin pages, board feeds, profile feeds.
Redditreddit.com/..., redd.it/...NoDownloader not registered yet (error: "platform-not-supported-yet"). Never billed.
X (Twitter)x.com/..., twitter.com/...NoDownloader not registered yet (error: "platform-not-supported-yet"). Never billed.
Telegramt.me/..., telegram.me/...NoDownloader not registered yet (error: "platform-not-supported-yet"). Never billed.
Blueskybsky.app/...NoDownloader not registered yet (error: "platform-not-supported-yet"). Never billed.
TikToktiktok.com/...NoNot supported logged out (error: "platform-not-supported"). Never billed.
YouTubeyoutube.com/..., youtu.be/...NoNot supported logged out (error: "platform-not-supported"). Never billed.

How to use

  1. In the Apify Console. Open the actor page and click Start — the urls field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~social-media-downloader/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"urls":["https://www.instagram.com/p/DdG4RIxIPyf/","https://www.pinterest.com/pin/1110137376931239840/"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"urls": [
"https://www.instagram.com/p/DdG4RIxIPyf/",
"https://www.pinterest.com/pin/1110137376931239840/"
]
}

Paste any mix of post, reel, or pin URLs across supported social media platforms (Instagram, Pinterest). Each media file downloads into the key-value store with one common output shape. Accepted formats: https://www.instagram.com/p/DdG4RIxIPyf/, https://www.pinterest.com/pin/1110137376931239840/.

Output

queryfoundstatusplatforminputUrlpostUrlpostIdkindmediaIndexkvKeykvUrloriginalMediaUrlbytessha256widthheightduration_sfpscodechasAudiotextauthorcreatedAtextraerrorskippedscrapedAt
https://www.instagram.com/p/DdG4RIxIPyf/trueOK<duration (s)><caption / text>1970-01-01T00:00:00.000Z

Example runs

1. Mixed Instagram Reel & Pinterest Pin Download

{
"urls": [
"https://www.instagram.com/p/DdG4RIxIPyf/",
"https://www.pinterest.com/pin/1110137376931239840/"
],
"kinds": "all",
"maxMb": 100
}

2. Pinterest Board Video Extraction

{
"urls": [
"https://www.pinterest.com/marthastewart/scandinavian-design/"
],
"kinds": "videos",
"maxPerSource": 10
}

3. Multi-Source Ingestion with Deduplication

{
"urls": [
"https://www.instagram.com/p/DdG4RIxIPyf/",
"https://www.instagram.com/p/DdG4RIxIPyf/",
"https://www.reddit.com/r/pics/comments/example"
],
"skipDuplicates": true
}

Pricing

  • File stored: $6 per 1,000 social media media files
  • Megabyte downloaded: $0.005 per MB

Plus a $0.01 start fee per run. Each event above is billed independently, only when it actually returns data — misses (found:false) are never charged.

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~social-media-downloader/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"urls":["https://www.instagram.com/p/DdG4RIxIPyf/","https://www.pinterest.com/pin/1110137376931239840/"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~social-media-downloader/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"urls":["https://www.instagram.com/p/DdG4RIxIPyf/","https://www.pinterest.com/pin/1110137376931239840/"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~social-media-downloader/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"urls":["{{social media media file}}"]}, mapping the row's social media media file into the urls array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Social Media Downloader: Instagram & Pinterest Media API" — the agent will find and run this actor.

Use-case variant candidate: none