ScrapeField

Get one post

Fetch one Instagram post or Reel by its URL or shortcode: caption, media, username, timestamp, like_count, comments_count and view_count.

2credits
GEThttps://api.scrapefield.com/v1/instagram/post
Try itno key needed2 credits on a real call · 0 here
https://api.scrapefield.com/v1/instagram/post

In your code

curl -H "Authorization: Bearer $SCRAPEFIELD_KEY" \
  "https://api.scrapefield.com/v1/instagram/post?url=example"

Parameters

ParameterWhat it does
url
string · one of the post ids
The post URL.
shortcode
string · one of the post ids
The shortcode from the URL, e.g. `C1a2B3c4D5e`.
fresh
boolean
Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.
default false

Response

Returns one instagram_post. This is a real response, not an abbreviated one — including the fields that come back null, because a field is null when the platform does not show it and you should know which ones those are before you build on them.

{
  "data": {
    "id": "3915172784134357480",
    "shortcode": "ComS7CcReiX",
    "permalink": "https://www.instagram.com/p/ComS7CcReiX/",
    "media_type": "IMAGE",
    "media_product_type": "FEED",
    "caption": "Everything I learned about this in one minute. #roastery #sourdough",
    "timestamp": "2026-07-02T00:20:55.000Z",
    "username": "example",
    "media_url": "https://cdn.example/ig/ComS7CcReiX.jpg",
    "thumbnail_url": null,
    "children": [],
    "video_duration": null,
    "like_count": 698,
    "comments_count": 15,
    "view_count": null,
    "hashtags": [
      "roastery",
      "sourdough"
    ],
    "mentions": [],
    "location": null,
    "is_paid_partnership": true
  },
  "meta": {
    "request_id": "req_7f3ac1e94b2d40f8a1c6e5d2",
    "credits_charged": 2,
    "credits_remaining": 74218,
    "cached": false,
    "fetched_at": "2026-09-20T09:12:03Z",
    "next_cursor": null
  }
}

Fields of instagram_post

A public Instagram post or Reel. Named after Instagram's Graph API.

FieldWhat it is
id
string
Instagram's numeric id for the post.
shortcode
string
The code in the URL, e.g. C1a2B3c4D5e.
permalink
URL
The post.
media_type
string, one of
As the Graph API names them.
IMAGE · VIDEO · CAROUSEL_ALBUM
media_product_type
string, one of
A grid post or a Reel.
FEED · REELS
caption
string · or null
timestamp
time, ISO 8601 UTC
When it was posted.
username
string
Who posted it.
media_url
URL
The image, or the video file. A carousel's first item.
thumbnail_url
URL · or null
The cover of a video.
children
array of objects
A carousel's items, in order. Empty for a single image or video.
children[].media_type
string, one of
IMAGE · VIDEO
children[].media_url
URL
video_duration
number · or null
Seconds.
like_count
integer · or null
null when the owner has hidden it.
comments_count
integer
view_count
integer · or null
Views, for videos and Reels.
hashtags
array of strings
The caption's hashtags, without the #.
mentions
array of strings
The usernames the caption mentions, without the @.
location
object · or null
The location tag.
location.id
string
location.name
string
is_paid_partnership
boolean
Whether it carries the "Paid partnership" label.

What it costs

2 credits per successful call, whether we fetch it or serve it from cache — you pay for the answer, not for how we produced it. Responses are cached for 3 hours and a cached one tells you when the data was actually fetched. A call we fail costs 0 and is refunded automatically.

On the smallest pack that is $1.56 per 1,000 calls; on the largest, $0.80. The full table.