Instagram post scraper API

Instagram posts and comments API

A user's posts, reels, tagged posts and the comments on each post as JSON. Send a username, get the data back. No Instagram login.

  • No card needed
  • Failed calls are free
  • Pack credits never expire
Account
Endpoint
curl "https://api.toolzerhub.com/v2/instagram/user/posts?username_or_id=instagram" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
200 OK
Real response, 15 Oct 2026
{
  "data": {
    "items": [
      {
        "code": "DeewiSPpCrm",
        "taken_at": 1791993604,
        "type": "clips",
        "caption": "when dance meets Double Dutch šŸ’ƒā£ ⁣ #InTheMoment⁣ ⁣ Video by @asuki_millecolle and @ikkyon_millecolle⁣ ⁣ Music by MagnusTheMagnus⁣ ⁣ Choreogr…",
        "like_count": 223383,
        "comment_count": 4723,
        "play_count": 7299631
      },
      {
        "code": "DecLR_vvrW6",
        "taken_at": 1791907183,
        "type": "clips",
        "caption": "ā€œWouldn’t it be fun to have something like this in a room?ā€ā£ ⁣ That’s what painter @hichiyan686 asks herself before creating three-dimension…",
        "like_count": 247628,
        "comment_count": 9130,
        "play_count": 11200096
      },
      {
        "code": "DePb6WLuVae",
        "taken_at": 1791479431,
        "type": "clips",
        "caption": "fur real, every single one of these is the best one 🐾⁣ ⁣ #InTheMoment⁣ ⁣ Video by @miso_ara⁣ ⁣ Music by Vadim Chaimovich",
        "like_count": 720827,
        "comment_count": 22340,
        "play_count": 23230313
      }
    ],
    "num_results": 12,
    "more_available": true,
    "next_max_id": "QVFEazhWSkRINHQweUJpZk1NbUg1UnEtSThxb2RDc3VNRGZ3YkZ6Zl9OWjZzTDBsYlZtaXl6MXpPS0xpNkpReGJ0TjlaRG1CTzZZYUJvRXZnSWJ3cDNxQg=="
  }
}

One page holds 12 posts; 3 shown, trimmed to the main fields. Send next_max_id back as max_id for the next page.

94.3%
finished without a server error
0.8 s
median response time
1 credit
per call, failed calls free
4
post, reel and comment endpoints

From our request logs.

Response

What comes back

Field names and types read off the real responses in the demo above.

  • Posts/v2/instagram/user/posts7 fields
    • codestring"DeewiSPpCrm"
    • taken_atnumber1,791,993,604
    • typestring"clips"
    • captionstring"when dance meets Double…"
    • like_countnumber223,383
    • comment_countnumber4,723
    • play_countnumber7,299,631
  • Reels/v2/instagram/user/reels7 fields
    • codestring"DeewiSPpCrm"
    • taken_atnumber1,791,993,604
    • typestring"clips"
    • captionstring"when dance meets Double…"
    • like_countnumber255,735
    • comment_countnumber5,693
    • play_countnumber36,418,945
  • Comments/v2/instagram/media/comments5 fields
    • idstring"18117186961811020"
    • textstring"ā¤ļø"
    • created_atnumber1,791,994,179
    • comment_like_countnumber47
    • userobject{ username, is_verified }

Use cases

What people build with it

  • 01Content performance reportsPostsReels
  • 02Comment sentiment analysisComments
  • 03Brand mentions from tagged postsTagged posts
  • 04Benchmark creators by reachPostsReels

How it works

From key to JSON

  1. 01x-api-key••••••••••Get a key100 free credits a month, no card
  2. 02GET/v2/instagram/user/postsSend a requestAny HTTP client, no SDK needed
  3. 03{ data, status }200Get JSONFailed calls cost nothing

Pricing

What it costs

Every endpoint on this page costs 1 credit per call: one page of posts, reels or comments. Failed calls cost nothing.

  • Free$0every month
    • 100 credits a month
    • No card needed
  • 10K pack$19one time
    • 10,000 credits
    • Never expire
    • $1.90 per 1,000
  • Starter$29a month
    • 20,000 credits a month
    • Cancel anytime
    • $1.45 per 1,000

Per 1,000 credits

  • 10K pack$1.90
  • Starter$1.45
  • Growth$1.32
  • Scale$1.21
  • Business$0.99
  • Customfrom $0.99

Plans renew monthly and cancel anytime. Custom plans start at 1M+ credits. Full pricing

Compare

Why not build it yourself

Three ways to get Instagram data into your app.

CompareToolzer HubOfficial Instagram APIYour own scraper
Accounts you can readAny public accountProfessional accounts that authorize your appAny public account
SetupOne API keyMeta app, App Review, Business VerificationProxies, sessions, retries
When Instagram changesWe fix itMeta keeps it workingYou fix the parser
Cost to start100 free credits a monthFree, after reviewProxies and your time

Official API access rules: Meta: Instagram Platform overview (opens in new tab)

Want to try it yourself first? Our free instagram-scraper on GitHub covers profiles, posts, comments, search (walkthrough).

FAQ

Questions

Is this the official Instagram API?
No. Toolzer Hub is not affiliated with Meta. The official Instagram API only reads professional accounts that authorize your app, after App Review.
What data does it return?
A public account's posts, reels and tagged posts with captions, like, comment and play counts, and the comments on any public post or reel, all as JSON.
Do I need an Instagram account?
No. You send your Toolzer Hub key in the x-api-key header. We do not ask for Instagram credentials, and private accounts are not returned.
What does it cost?
Every endpoint on this page is 1 credit per call. New workspaces get 100 credits a month at no cost; plans work out to $0.99 to $1.45 per 1,000 calls. Failed calls are not charged.
How do I get more than one page?
Posts return next_max_id and reels return paging_info.max_id: send it back as max_id. Comments return pagination_token: send it back as pagination_token.

Guides

Instagram posts guides

Tested walkthroughs with real requests and output.

Try the Instagram posts API free

Every new workspace gets 100 credits a month. Buy credits only when you need more.

Not affiliated with Instagram or Meta.