POST /v1/instagram/postInstagram Post Scraper API
A single Instagram post/reel by URL or shortcode: owner, type, likes, comments, views, caption, timestamp, thumbnail and video URL, plus every photo and video of an album.
- Cost
- 1 credit
- Failed requests
- Refunded
- Cache hits
- Free
- Response fields
- 20
- Limits
- Public posts only
What the Instagram Post Scraper API does
The Instagram Post Scraper API returns a single public Instagram post by URL or shortcode: owner username, type (photo, video or album), product type, like and comment counts, plays for videos and reels, the full caption, publish time, cover image and the video URL when there is one. It accepts post, reel and IGTV links as well as a bare shortcode, so you can feed it whatever links your users or your team collect. Unlike the posts feed, the caption here is not truncated, which makes it the right call for hashtag, mention and keyword analysis. When the owner has hidden counts, like_and_view_counts_disabled tells you so. There is no Instagram login or app review involved. Each request costs 1 credit, and failed requests are refunded.
What you get
Top-level fields of the response. Every field is typed and documented; nullable fields are null when the platform does not show them.
| Field | Type | Description |
|---|---|---|
shortcode | string | Canonical 11-char shortcode (from og:url) |
media_id | string | null | '<media_pk>_<owner_id>'; null if owner id missing |
link | string | Canonical post URL |
owner_username | string | null | Username of the post owner |
owner_full_name | string | null | Author display name |
owner_profile_pic_url | string | null | Author profile picture URL |
owner_is_verified | boolean | null | Author has a verified badge |
type | string | 'photo', 'video' or 'album' |
is_video | boolean | True only if a video URL was found |
product_type | string | null | Instagram product type, e.g. 'feed', 'clips' |
like_count | integer | null | Number of likes |
like_and_view_counts_disabled | boolean | null | Owner hid counts; like/view counts unreliable |
comment_count | integer | null | Number of comments |
view_count | integer | null | Video plays/views (videos/reels) |
taken_at | integer | null | Publish time, Unix seconds |
taken_at_text | string | null | Date text from og:description, e.g. 'May 25, 2026' |
caption | string | Caption, whitespace-collapsed (not truncated) |
thumbnail_url | string | null | Cover image URL |
video_url | string | null | Playable video URL (videos/reels) |
media | array<object> (5 fields each) | Every image/video of the post: one item for a photo or video, each slide for an album (carousel) |
Request example
Send the API key as a Bearer token. The body is a small JSON object.
curl -X POST https://api.scrapeeverything.com/v1/instagram/post \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/p/DYxz0A8Kinw/"}'| Parameter | Required | Description |
|---|---|---|
url | No | Post, reel or IGTV URL (a bare shortcode also works). |
shortcode | No | Post shortcode; alias used only when url is empty. |
What it costs
Each successful request costs 1 credit. Your first 100 credits are free. With credit packs, 1,000 requests to this endpoint cost:
Builder pack
$1.56
25,000 credits for $39.00
Growth pack
$1.19
100,000 credits for $119.00
Scale pack
$0.90
500,000 credits for $449.00
See pricing for all packs and rate limits.
Use cases
- Report on sponsored posts with likes, comments and plays at the moment you check.
- Extract full captions for hashtag, mention and keyword analysis.
- Validate and enrich Instagram links that users submit to your product.
Limitations: Unofficial API: not affiliated with or endorsed by the platform. Public data only, as a logged-out visitor sees it. Private accounts return profile fields only; posts show at most 15 newest comments; items Instagram hides from logged-out visitors are missing.
- Works with post, reel and IGTV links or a bare shortcode.
- Returns 404 with PRIVATE_ACCOUNT or AGE_RESTRICTED when the post exists but is not publicly viewable.
Questions
Is the caption truncated?
No. This endpoint returns the full caption, with whitespace collapsed. The posts feed shortens captions to 300 characters.
Does it work for reels?
Yes, reel and IGTV links work too. For duration, resolution, audio and an MP4 link with its expiry time, use the Instagram reel endpoint.
What if the post is private or age-restricted?
You get 404 with code PRIVATE_ACCOUNT or AGE_RESTRICTED: the post exists but is not publicly viewable.
How much does the Instagram Post Scraper API cost?
1 credit per successful request. Credits are bought in one-time packs and never expire. New accounts get 100 free credits. No payment details needed.
Am I charged for failed requests?
No. If the platform blocks the request, it times out or something fails on our side, the credits are refunded automatically. A definitive answer such as "this account does not exist" is billed because the lookup completed.
Can I re-read a result without paying again?
Yes. Send cache_days (1 to 14) and a repeat request for the same target within that window is served from your cache for free.
More Instagram endpoints
Start with 100 free credits.
Continue with Google, create an API key and send your first request in under a minute.