Instagram

Instagram data via Wire — profiles, posts, post detail, comments, hashtag search and followers as structured JSON

POSThttps://api.anakin.io/v1/wire/task

Profiles, posts, post detail, comments, hashtag search and followers. Every Instagram action is a Wire action: call POST /v1/wire/task with the action_id and params below, then poll GET /v1/wire/jobs/{id} (or pass a webhook_url). All actions read public data — no login, no cookies, auth_mode: none.

Catalog: instagram · Actions: 6 · Auth: none · Billing: only successful calls are charged

Actionaction_idCreditsReturns
Profileinstagram_profile41 item
User Postsinstagram_user_posts212 posts per page
Post Detailsinstagram_post_detail21 item
Post Commentsinstagram_post_comments213 comments per page
Hashtag Searchinstagram_hashtag_search46+up to limit posts (default 12)
Followersinstagram_followers3025 followers

Credits marked + grow with limit — the exact formula is on each action. See Pricing for what a credit costs on your plan.


Call a Instagram action

The same call works for every action on this page — swap action_id and params.

curl -X POST https://api.anakin.io/v1/wire/task \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"action_id": "instagram_profile", "params": {"username": "natgeo"}}'

The job result wraps the action's output: data.status is "ok" or "error", and data.data holds the fields shown under each action below. See the overview for the full envelope.


Profile

Get a public Instagram profile: username, full name, bio, follower, following and post counts, verified, private and business flags, category, website and avatar.

action_id: instagram_profile · Credits: 4 / call · Returns: 1 item

ParameterTypeDescription
action_id requiredstringSet to instagram_profile
params.username requiredstringInstagram username (with or without @) or profile URL.

Request

{
  "action_id": "instagram_profile",
  "params": {
    "username": "natgeo"
  }
}

Response — data.data of the completed job (trimmed):

{
  "username": "natgeo",
  "full_name": "National Geographic",
  "bio": "Step into wonder and find your inner explorer with National Geographic 🌎",
  "followers": 268360671,
  "following": 194,
  "posts": 32075,
  "verified": true,
  "private": false,
  "business": true,
  "category": "None",
  "website": "http://visitstore.bio/natgeo",
  "profile_image_url": "https://scontent.cdninstagram.com/v/t51.82787-19/683576066_18653628823019133_9051036240972105113_n.jpg?…",
  "profile_url": "https://www.instagram.com/natgeo/"
}

User Posts

Get an Instagram user's latest posts, one full page (about 12) per call: link, type, caption, date, likes, comments, views, image and video links. Use cursor for older posts.

action_id: instagram_user_posts · Credits: 2 / call · Returns: 12 posts per page

ParameterTypeDescription
action_id requiredstringSet to instagram_user_posts
params.username requiredstringInstagram username or profile URL.
params.cursorstringLeave empty for the first page. For the next page, pass the next_cursor value from the previous response (next_cursor is null when there are no more).

Request

{
  "action_id": "instagram_user_posts",
  "params": {
    "username": "natgeo"
  }
}

Response — data.data of the completed job (trimmed):

{
  "username": "natgeo",
  "posts": [
    {
      "shortcode": "DecPSQfoaRe",
      "url": "https://www.instagram.com/p/DecPSQfoaRe/",
      "type": "video",
      "caption": "Presented by National Geographic Society in partnership with @Rolex. In the face of a changing world, these explorers are not giving up hope for our seas. Na…",
      "posted_at": "2026-10-13T16:30:08Z",
      "likes": 19383,
      "comments": 105,
      "views": null,
      "image_url": "https://scontent-lax3-2.cdninstagram.com/v/t51.82787-15/847181832_18707500537019133_1918713844998405984_n.jpg?…",
      "video_url": "https://scontent-lax3-1.cdninstagram.com/o1/v/t2/f2/m86/AQM6iQ1ip15lFl6fgHwC7-oXcT6r1oH_duCkuEwF1T6kLi_3ucfYJpWwheceItNNsdppXf6kzzCTMP5-RcgVQ86lnSLle4cYTKKi-…",
      "duration_s": null,
      "owner_username": "natgeo"
    },
    {
      "shortcode": "DdG4RIxIPyf",
      "url": "https://www.instagram.com/p/DdG4RIxIPyf/",
      "type": "video",
      "caption": "Presented by @Rolex. Welcome to Africa 🌍 Africa Earth’s Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals,…",
      "posted_at": "2026-09-10T13:00:14Z",
      "likes": 79831,
      "comments": 582,
      "views": null,
      "image_url": "https://scontent-lga3-2.cdninstagram.com/v/t51.82787-15/802503979_18695767555019133_6909214034622416488_n.jpg?…",
      "video_url": "https://scontent-lga3-3.cdninstagram.com/o1/v/t2/f2/m86/AQPDJtVww4K_686Ed9TbciE3dp0nrA4iUd5M8OJJIZKcU-RmkzTGwtpi3CsZY9Pgqj7h7kSpk9qe7k5S4JdWZ-Z2s7pzWC2DxuqU8…",
      "duration_s": null,
      "owner_username": "natgeo"
    },
    "… 10 more"
  ],
  "count": 12,
  "next_cursor": "timeline:AQHTke4_VAX7zqe06GA_C3lrTXOacauXtIYGX2T1Q4U5cX57WOKaGaKm3s367fc71vn1ZkWtAr9bAvsq-yZh3geORg",
  "message": null
}

Paging: the first call returns next_cursor; pass it back as cursor for the next page (null when there are no more). Each page is a new call.


Post Details

Get one Instagram post or reel: type, caption, date, likes, comments, views, length, image and video links, and owner.

action_id: instagram_post_detail · Credits: 2 / call · Returns: 1 item

ParameterTypeDescription
action_id requiredstringSet to instagram_post_detail
params.post_url requiredstringLink to the post or reel (https://www.instagram.com/p/... or /reel/...).

Request

{
  "action_id": "instagram_post_detail",
  "params": {
    "post_url": "https://www.instagram.com/p/DdG4RIxIPyf/"
  }
}

Response — data.data of the completed job (trimmed):

{
  "shortcode": "DdG4RIxIPyf",
  "url": "https://www.instagram.com/p/DdG4RIxIPyf/",
  "type": "video",
  "caption": "Presented by @Rolex. Welcome to Africa 🌍 Africa Earth’s Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals,…",
  "posted_at": "2026-09-10T13:00:14Z",
  "likes": 79831,
  "comments": 582,
  "views": 3345170,
  "image_url": "https://scontent-mia5-1.cdninstagram.com/v/t51.82787-15/802503979_18695767555019133_6909214034622416488_n.jpg?…",
  "video_url": "https://scontent-mia3-3.cdninstagram.com/o1/v/t2/f2/m86/AQPDJtVww4K_686Ed9TbciE3dp0nrA4iUd5M8OJJIZKcU-RmkzTGwtpi3CsZY9Pgqj7h7kSpk9qe7k5S4JdWZ-Z2s7pzWC2DxuqU8…",
  "duration_s": 73,
  "owner_username": "natgeo"
}

Post Comments

Get the comments on an Instagram post or reel, one full page (about 12-15) per call: text, likes, reply count, date and commenter username. Use cursor for more.

action_id: instagram_post_comments · Credits: 2 / call · Returns: 13 comments per page

ParameterTypeDescription
action_id requiredstringSet to instagram_post_comments
params.post_url requiredstringLink to the post or reel.
params.cursorstringLeave empty for the first page. For the next page, pass the next_cursor value from the previous response (next_cursor is null when there are no more).

Request

{
  "action_id": "instagram_post_comments",
  "params": {
    "post_url": "https://www.instagram.com/p/DdG4RIxIPyf/"
  }
}

Response — data.data of the completed job (trimmed):

{
  "post_url": "https://www.instagram.com/p/DdG4RIxIPyf/",
  "comments": [
    {
      "comment_id": "18467497492190219",
      "text": "Great capture! 📷",
      "likes": 0,
      "replies": null,
      "created_at": "2026-10-15T09:51:58.000Z",
      "username": "daniella_salomon64"
    },
    {
      "comment_id": "18039948563645123",
      "text": "Amazing shot! 🌍",
      "likes": 0,
      "replies": null,
      "created_at": "2026-10-14T21:23:25.000Z",
      "username": "daniella_salomon64"
    },
    "… 11 more"
  ],
  "count": 13,
  "next_cursor": "AQHTSMm6sqIcC6zKYWORonnn77pO9ID_eNRzJfHsRdRecVh8QbjvLPp0Lk45s-BwQczuQAx6pkHA02skC0p2p4I3Ow",
  "message": null
}

Paging: the first call returns next_cursor; pass it back as cursor for the next page (null when there are no more). Each page is a new call.


Get recent Instagram posts for a hashtag (12 by default, up to 300) with caption, date, likes, comments, image and owner.

action_id: instagram_hashtag_search · Credits: 46 for up to 12 results, +5 per extra result (max 300) · Returns: up to limit posts (default 12)

ParameterTypeDescription
action_id requiredstringSet to instagram_hashtag_search
params.hashtag requiredstringHashtag, with or without #.
params.limitintegerHow many posts to return, 1 to 300. Up to 12 costs 46 credits; each post beyond 12 adds 5 credits. Default 12

Request

{
  "action_id": "instagram_hashtag_search",
  "params": {
    "hashtag": "travel",
    "limit": 12
  }
}

Response — data.data of the completed job (trimmed):

{
  "hashtag": "travel",
  "posts": [
    {
      "shortcode": "DegwKIazdOS",
      "url": "https://www.instagram.com/p/DegwKIazdOS/",
      "type": "image",
      "caption": "Thread work\n#travel #instagram #instadaily #instamood #dogsofinstagram",
      "posted_at": "2026-10-15T10:34:56.000Z",
      "likes": 0,
      "comments": 0,
      "views": null,
      "image_url": "https://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/851078821_18125865706756224_3414491670408867479_n.jpg?…",
      "video_url": null,
      "duration_s": null,
      "owner_username": "nirbanclothhouse"
    },
    {
      "shortcode": "DegwO8xBdIl",
      "url": "https://www.instagram.com/p/DegwO8xBdIl/",
      "type": "image",
      "caption": "Ahh, home sweet home… Little Man had such an amazing trip!!! #cominghome #travel",
      "posted_at": "2026-10-15T10:34:55.000Z",
      "likes": 0,
      "comments": 0,
      "views": null,
      "image_url": "https://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/848881530_17905170954657890_5196149645347592570_n.jpg?…",
      "video_url": null,
      "duration_s": null,
      "owner_username": "littlemaneveryday"
    },
    "… 10 more"
  ],
  "count": 12,
  "message": null
}

Cost: 46 credits for up to 12 results; each result beyond 12 adds 5 credits, up to limit: 300.


Followers

Get a sample of about 25 followers of a public Instagram account (the most available without a login): username, full name, verified and private flags, and avatar.

action_id: instagram_followers · Credits: 30 / call · Returns: 25 followers

ParameterTypeDescription
action_id requiredstringSet to instagram_followers
params.username requiredstringInstagram username or profile URL.

Request

{
  "action_id": "instagram_followers",
  "params": {
    "username": "natgeo"
  }
}

Response — data.data of the completed job (trimmed):

{
  "username": "natgeo",
  "followers": [
    {
      "username": "cmlevesque53",
      "full_name": "Claudia Levesque",
      "verified": false,
      "private": false,
      "profile_image_url": "https://scontent-man2-1.cdninstagram.com/v/t51.82787-19/790023971_18439985773133349_7258796779929124677_n.jpg?…"
    },
    {
      "username": "jff.blondaaa",
      "full_name": "Nico fr💋",
      "verified": false,
      "private": false,
      "profile_image_url": "https://scontent-man2-1.cdninstagram.com/v/t51.82787-19/850007926_17889753912477926_2189010726289576198_n.jpg?…"
    },
    "… 23 more"
  ],
  "count": 25,
  "message": null
}