Docs / Instagram Data API

Instagram Data API

NabatDesk provides access to publicly available Instagram data through a stable developer API. Customers authenticate with a NabatDesk API key — never with Instagram login credentials, and never with upstream provider secrets.

Available on paid plans only. An active non-free NabatDesk subscription (Starter, Pro, or Enterprise) is required. Free and expired subscriptions receive INSTAGRAM_DATA_API_SUBSCRIPTION_REQUIRED.

Authentication

Create an organization API key with the instagram-data:read scope, then send:

Header
Authorization: Bearer YOUR_NABATDESK_API_KEY

Base URL: /api/v1

Examples

cURL
curl -sS "/api/v1/instagram/data/users/by-username?username=instagram" \
  -H "Authorization: Bearer YOUR_NABATDESK_API_KEY"
JavaScript
const res = await fetch(
  "/api/v1/instagram/data/users/by-username?username=instagram",
  { headers: { Authorization: "Bearer YOUR_NABATDESK_API_KEY" } },
);
const json = await res.json();
console.log(json);
Python
import requests

r = requests.get(
    "/api/v1/instagram/data/users/by-username",
    params={"username": "instagram"},
    headers={"Authorization": "Bearer YOUR_NABATDESK_API_KEY"},
    timeout=30,
)
print(r.status_code, r.json())

Response shape

Success
{
  "success": true,
  "data": {},
  "meta": {
    "request_id": "req_...",
    "provider": "instagram-data",
    "cached": false
  }
}
Subscription required
{
  "success": false,
  "error": {
    "code": "INSTAGRAM_DATA_API_SUBSCRIPTION_REQUIRED",
    "message": "An active paid subscription is required to use the Instagram Data API."
  },
  "meta": { "request_id": "req_..." }
}

Endpoints

User

MethodPathParams
GET
By username
/instagram/data/users/by-username

Public profile for a username.

username
GET
By id
/instagram/data/users/by-id

Public profile for a user id.

id
GET
Media by username
/instagram/data/users/media

Recent public posts (paginated).

username, count?, maxId?
GET
Media by id
/instagram/data/users/media-by-id

Recent public posts by user id.

id, count?, maxId?
GET
Clips / reels
/instagram/data/users/clips

User reels by user id.

id, count?, maxId?
GET
Followers
/instagram/data/users/followers

Follower list (paginated).

id, count?, maxId?, query?
GET
Following
/instagram/data/users/following

Following list (paginated).

id, count?, maxId?, query?
GET
Stories
/instagram/data/users/stories

Stories for one or more user ids.

ids (comma-separated)
GET
Highlights
/instagram/data/users/highlights

Highlight reel list.

id
GET
Tagged media
/instagram/data/users/tagged-media

Media where the user is tagged.

id, count?, maxId?
GET
Live
/instagram/data/users/live

Live broadcast info for a user.

id
GET
Similar accounts
/instagram/data/users/similar

Similar public accounts.

id
GET
Search users
/instagram/data/users/search

Search public Instagram users.

query
GET
Guides
/instagram/data/users/guides

User guides list.

id, maxId?

Media

MethodPathParams
GET
Media info
/instagram/data/media/info

Media details by id.

id
GET
By shortcode
/instagram/data/media/by-shortcode

Media details by shortcode.

shortcode
GET
Comments
/instagram/data/media/comments

Comments on a media item.

id, minId?, canSupportThreading?
GET
Likes
/instagram/data/media/likes

Likers by shortcode.

shortcode
GET
Id by shortcode
/instagram/data/media/id-by-shortcode

Resolve media id.

shortcode
GET
Shortcode by id
/instagram/data/media/shortcode-by-id

Resolve shortcode.

id

Hashtag / Location / Guide / Highlight / Comment / Audio

MethodPathParams
GET
Hashtag info
/instagram/data/hashtags/info

Hashtag metadata.

name
GET
Hashtag media
/instagram/data/hashtags/media

Media for a hashtag.

name, tab?, page?, maxId?
GET
Search hashtags
/instagram/data/hashtags/search

Search hashtags.

query
GET
Location info
/instagram/data/locations/info

Location metadata.

id
GET
Location media
/instagram/data/locations/media

Media at a location.

id, page?, maxId?
GET
Search locations
/instagram/data/locations/search

Search locations.

query
GET
Guide info
/instagram/data/guides/info

Guide details.

id
GET
Highlight stories
/instagram/data/highlights/stories

Stories inside highlights.

ids (comma-separated)
GET
Comment likes
/instagram/data/comments/likes

Users who liked a comment.

id, maxId?
GET
Comment replies
/instagram/data/comments/replies

Replies under a comment.

id, mediaId, maxId?
GET
Audio media
/instagram/data/audio/media

Media using an audio track.

id, maxId?
GET
Search audio
/instagram/data/audio/search

Search audio tracks.

query

Rate limits

NabatDesk enforces per-organization rate limits and daily quotas by plan (Starter / Pro / Enterprise). Exceeding limits returns 429 with a normalized error code.

NabatDesk Core APITelegram Bot APITelegram Account API