Instagram Post
Extract Instagram post metadata: caption, owner, media URLs, hashtags, mentions, and engagement counts.
Use the JS token
Instagram scrapers work best with your JavaScript token.
API usage
Add &scraper=instagram-post to a Crawling API request. URL-encode the target URL in the url parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.instagram.com/p/B5LQhLiFFCX' \
--data-urlencode 'scraper=instagram-post' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.instagram.com/p/B5LQhLiFFCX',
{'scraper': 'instagram-post'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://www.instagram.com/p/B5LQhLiFFCX',
{ scraper: 'instagram-post' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.instagram.com/p/B5LQhLiFFCX', scraper: 'instagram-post')
data = JSON.parse(res.body)Example input URL
The URL passed in the url parameter (URL-decoded for readability):
https://www.instagram.com/p/B5LQhLiFFCXResponse shape
JSON response body. Field types may be null when the source page omits the value.
Post shortcode.
Caption text.
Author username.
image, video, or carousel.Direct URLs to image(s) or video(s).
Hashtags from the caption.
@-mentioned usernames.
Tagged location.
Likes.
Comments.
ISO 8601 timestamp.
Sample response
{
"id": "B5LQhLiFFCX",
"caption": "New product launch! #design #craft",
"owner_username": "apple",
"media_type": "image",
"media_urls": ["https://scontent.cdninstagram.com/...jpg"],
"hashtags": ["design", "craft"],
"mentions": [],
"like_count": 142000,
"comment_count": 3210,
"posted_at": "2026-04-15T14:22:00Z"
}
