Docs
Log in
Use the JS token

Instagram scrapers work best with your JavaScript token.

API usage

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

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

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

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

Example input URL

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

https://www.instagram.com/apple/

Response shape

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

username
string
Profile username (without @).
full_name
string
Profile display name.
biography
string
Bio text.
followers_count
integer
Followers.
following_count
integer
Following.
posts_count
integer
Total posts on the profile.
is_verified
boolean
Verified-account flag.
is_private
boolean
Private-account flag.
profile_pic_url
string
Profile picture URL.
recent_posts
array
Up to 12 recent posts (same shape as instagram-post).

Sample response

{
  "username": "apple",
  "full_name": "Apple",
  "biography": "Welcome to @apple. The latest creativity going on around us.",
  "followers_count": 33800000,
  "following_count": 9,
  "posts_count": 1284,
  "is_verified": true,
  "is_private": false,
  "profile_pic_url": "https://scontent.cdninstagram.com/...jpg"
}