Instagram

Instagram Scraper API

Real-time Instagram data — user profiles, posts, reels, comments, hashtags, and search. All data is scraped directly from Instagram and returned as structured JSON.

7 Endpoints REST API JSON 99.9% Uptime

Try it instantly

See real data shapes from every endpoint — no signup required.

Request
GET /instagram/profile
username natgeo required
curl -G "https://api.pullapi.com/instagram/profile" \
  -H "x-rapidapi-key: YOUR_API_KEY"
Response 200 OK
{
  "success": true,
  "data": {
    "user_id": "787132",
    "username": "natgeo",
    "full_name": "National Geographic",
    "biography": "Experience the world through the eyes of National Geographic photographers.",
    "follower_count": 284000000,
    "following_count": 134,
    "media_count": 28500,
    "is_private": false,
    "is_verified": true,
    "is_business_account": true,
    "business_category": "Media/News Company",
    "category_name": "Media/News Company",
    "external_url": "https://www.nationalgeographic.com",
    "profile_pic_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/example_s150x150.jpg",
    "profile_pic_url_hd": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/example_s320x320.jpg"
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

API Endpoints

7 endpoints across 5 categories.

Profile

GET /instagram/profile

Get an Instagram user's full profile including bio, follower/following counts, post count, verification status, business category, and profile picture URLs. The username can be provided with or without the leading '@'.

Parameters

Name Type Required Description Example
username string Yes Instagram username (with or without leading @). Examples: "natgeo", "@cristiano" natgeo

Example Response

{
  "success": true,
  "data": {
    "user_id": "787132",
    "username": "natgeo",
    "full_name": "National Geographic",
    "biography": "Experience the world through the eyes of National Geographic photographers.",
    "follower_count": 284000000,
    "following_count": 134,
    "media_count": 28500,
    "is_private": false,
    "is_verified": true,
    "is_business_account": true,
    "business_category": "Media/News Company",
    "category_name": "Media/News Company",
    "external_url": "https://www.nationalgeographic.com",
    "profile_pic_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/example_s150x150.jpg",
    "profile_pic_url_hd": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/example_s320x320.jpg"
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Posts

GET /instagram/posts

Get a user's recent posts with captions, like/comment counts, media URLs, hashtags, and mentions. Supports pagination via cursor. Returns up to 50 posts per request.

Parameters

Name Type Required Description Example
username string Yes Instagram username (with or without leading @) natgeo
limit integer No Number of posts to return (1-50) 12
cursor string No Pagination cursor from the `end_cursor` field of a previous response. Omit for the first page.

Example Response

{
  "success": true,
  "data": {
    "username": "natgeo",
    "posts": [
      {
        "post_id": "3456789012345678901",
        "shortcode": "CxYzAbCdEfG",
        "post_type": "image",
        "caption": "A breathtaking view of the Northern Lights over Iceland. #nature #photography",
        "like_count": 1250000,
        "comment_count": 4500,
        "view_count": null,
        "timestamp": 1710460800,
        "display_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-15/example.jpg",
        "video_url": null,
        "is_video": false,
        "carousel_media": null,
        "location": {
          "name": "Reykjavik, Iceland"
        },
        "hashtags": [ "nature", "photography"
        ],
        "mentions": []
      }
    ],
    "has_next_page": true,
    "end_cursor": "QVFDdXJfZ0tYa0FLUmVPbFR4V3Fsc..."
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}
GET /instagram/reels

Get a user's recent reels (short-form videos) with captions, view/like/comment counts, video URLs, and metadata. Supports pagination via cursor. Returns up to 50 reels per request.

Parameters

Name Type Required Description Example
username string Yes Instagram username (with or without leading @) natgeo
limit integer No Number of reels to return (1-50) 12
cursor string No Pagination cursor from the `end_cursor` field of a previous response. Omit for the first page.

Example Response

{
  "success": true,
  "data": {
    "username": "natgeo",
    "posts": [
      {
        "post_id": "3456789012345678999",
        "shortcode": "HiJkLmNoPqR",
        "post_type": "video",
        "caption": "Watch this incredible underwater footage of a coral reef. #ocean #wildlife",
        "like_count": 850000,
        "comment_count": 2100,
        "view_count": 12500000,
        "timestamp": 1710374400,
        "display_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-15/reel_thumb.jpg",
        "video_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t50.2886-16/reel_video.mp4",
        "is_video": true,
        "carousel_media": null,
        "location": null,
        "hashtags": [ "ocean", "wildlife"
        ],
        "mentions": []
      }
    ],
    "has_next_page": true,
    "end_cursor": "QVFDdXJfZ0tYa0FLUmVPbFR4V3Fsc..."
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}
GET /instagram/post

Get full details for a single Instagram post including caption, engagement metrics, media URLs, owner info, and preview comments. The shortcode can be found in any Instagram post URL (e.g. instagram.com/p/{shortcode}/).

Parameters

Name Type Required Description Example
shortcode string Yes Post shortcode or full Instagram URL. The shortcode is the alphanumeric ID in the post URL:... CxYzAbCdEfG

Example Response

{
  "success": true,
  "data": {
    "post_id": "3456789012345678901",
    "shortcode": "CxYzAbCdEfG",
    "post_type": "image",
    "caption": "A breathtaking view of the Northern Lights over Iceland. #nature #photography",
    "like_count": 1250000,
    "comment_count": 4500,
    "view_count": null,
    "timestamp": 1710460800,
    "display_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-15/example.jpg",
    "video_url": null,
    "is_video": false,
    "carousel_media": null,
    "location": {
      "name": "Reykjavik, Iceland"
    },
    "hashtags": [ "nature", "photography"
    ],
    "mentions": [],
    "owner": {
      "user_id": "787132",
      "username": "natgeo",
      "full_name": "National Geographic",
      "profile_pic_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/example_s150x150.jpg",
      "is_verified": true
    },
    "preview_comments": [
      {
        "text": "Absolutely stunning!",
        "username": "traveler_jane"
      }
    ]
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Comments

GET /instagram/comments

Get comments on an Instagram post with usernames, text, like counts, reply counts, and timestamps. Supports pagination via cursor. Returns up to 50 comments per request.

Parameters

Name Type Required Description Example
shortcode string Yes Post shortcode or full Instagram URL. The shortcode is the alphanumeric ID in the post URL:... CxYzAbCdEfG
limit integer No Number of comments to return (1-50) 20
cursor string No Pagination cursor from the `end_cursor` field of a previous response. Omit for the first page.

Example Response

{
  "success": true,
  "data": {
    "shortcode": "CxYzAbCdEfG",
    "comments": [
      {
        "comment_id": "17890012345678901",
        "text": "This is absolutely incredible! Where was this taken?",
        "username": "traveler_jane",
        "profile_pic_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/commenter.jpg",
        "like_count": 342,
        "timestamp": 1710464400,
        "reply_count": 5
      }
    ],
    "total_count": 4500,
    "has_next_page": true,
    "end_cursor": "QVFBcllGNFhsWENKVkRlOHhJNERX..."
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Hashtag

GET /instagram/hashtag

Get an Instagram hashtag page including total media count, top posts, and recent posts. The hashtag should be provided without the leading '#' symbol.

Parameters

Name Type Required Description Example
tag string Yes Hashtag to look up (without the # symbol). Examples: "photography", "travel", "foodie" photography

Example Response

{
  "success": true,
  "data": {
    "tag_name": "photography",
    "media_count": 982000000,
    "top_posts": [
      {
        "post_id": "3456789012345670001",
        "shortcode": "AbCdEfGhIjK",
        "post_type": "image",
        "caption": "Golden hour at its finest #photography #sunset",
        "like_count": 95000,
        "comment_count": 320,
        "view_count": null,
        "timestamp": 1710460800,
        "display_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-15/top_post.jpg",
        "video_url": null,
        "is_video": false,
        "carousel_media": null,
        "location": null,
        "hashtags": [ "photography", "sunset"
        ],
        "mentions": []
      }
    ],
    "recent_posts": [
      {
        "post_id": "3456789012345670099",
        "shortcode": "LmNoPqRsTuV",
        "post_type": "image",
        "caption": "Street photography in Tokyo #photography #streetphotography",
        "like_count": 1200,
        "comment_count": 15,
        "view_count": null,
        "timestamp": 1710459900,
        "display_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-15/recent_post.jpg",
        "video_url": null,
        "is_video": false,
        "carousel_media": null,
        "location": {
          "name": "Tokyo, Japan"
        },
        "hashtags": [ "photography", "streetphotography"
        ],
        "mentions": []
      }
    ]
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Search

GET /instagram/search

Search Instagram for users and hashtags matching a query. Returns a list of matching user profiles (with follower counts and verification status) and matching hashtags (with media counts).

Parameters

Name Type Required Description Example
query string Yes Search query string. Can be a username, name, or keyword. national geographic

Example Response

{
  "success": true,
  "data": {
    "query": "national geographic",
    "users": [
      {
        "user_id": "787132",
        "username": "natgeo",
        "full_name": "National Geographic",
        "is_private": false,
        "is_verified": true,
        "profile_pic_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/example_s150x150.jpg",
        "follower_count": 284000000
      },
      {
        "user_id": "1645346814",
        "username": "natgeotravel",
        "full_name": "National Geographic Travel",
        "is_private": false,
        "is_verified": true,
        "profile_pic_url": "https://instagram.fist1-1.fna.fbcdn.net/v/t51.2885-19/travel_s150x150.jpg",
        "follower_count": 46000000
      }
    ],
    "hashtags": [
      {
        "name": "nationalgeographic",
        "media_count": 18500000
      },
      {
        "name": "nationalgeographicwild",
        "media_count": 250000
      }
    ]
  },
  "credits_used": 1,
  "cache_hit": false,
  "timestamp": "2026-03-15T12: 00: 00+00: 00"
}

Code Examples

Get started in seconds with your preferred language.

Terminal
curl -G "https://api.pullapi.com/instagram/profile?username=natgeo" \
  -H "x-rapidapi-host: instagram-scraper-api.p.rapidapi.com" \
  -H "x-rapidapi-key: YOUR_API_KEY"

Why PullAPI

</>

No Browser Needed

HTTP-based API. No Selenium, no Puppeteer, no headless browsers to manage.

Built-in Proxy Rotation

Automatic residential proxy rotation handles anti-bot detection for you.

Cached Responses

Smart Redis caching means faster repeated queries and lower costs.

$

Pay Per Request

No monthly commitment. Free tier included. Pay only for what you use.

Use Cases

What developers build with the Instagram Scraper API.

1

Influencer Analytics

2

Content Monitoring

3

Hashtag Research

4

Audience Analysis

Related Scrapers

More APIs in Social Media.

Ready to scrape Instagram data?

Start with the free tier. No credit card required.

Subscribe on RapidAPI →