Docs
Log in
Use the JS token

Instagram scrapers work best with your JavaScript token.

API usage

Add &scraper=instagram-reel 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/reels/DHq4bFpID1_/' \
  --data-urlencode 'scraper=instagram-reel' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://www.instagram.com/reels/DHq4bFpID1_/',
    {'scraper': 'instagram-reel'}
)

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/reels/DHq4bFpID1_/',
  { scraper: 'instagram-reel' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://www.instagram.com/reels/DHq4bFpID1_/', scraper: 'instagram-reel')
data = JSON.parse(res.body)

Example input URL

The URL passed in the url parameter (URL-decoded for readability):

https://www.instagram.com/reels/DHq4bFpID1_/

Response shape

JSON response body. Field types may be null when the source page omits the value.

id
string
Reel shortcode (last segment of the URL).
caption
string
Reel caption text.
owner_username
string
Username of the Reel's author.
video_url
string
Direct URL to the video file.
audio
object
Linked audio details: title, artist, url.
view_count
integer
Reel view count.
like_count
integer
Likes.
comment_count
integer
Comments.
posted_at
string
ISO 8601 timestamp.

Sample response

{
  "id": "DHq4bFpID1_",
  "caption": "Behind the scenes 🎬",
  "owner_username": "craft_studio",
  "video_url": "https://scontent.cdninstagram.com/...mp4",
  "audio": {
    "title": "Original audio",
    "artist": "craft_studio"
  },
  "view_count": 142000,
  "like_count": 8432,
  "comment_count": 203
}