SocialHolmes

API reference

Instagram API

Profiles, followers, posts, reels, stories, highlights, comments, tagged posts, hashtags and places.

POST

/api/public/v1/scrape/instagram/profile

Profile details — bio, follower counts, verification.

Returns profile_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/profile \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"}}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "profile",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/followers

Accounts that follow this profile. Use `limit` to say how many.

Returns user_feed_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/followers \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "followers",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/followers/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/following

Accounts this profile follows. Use `limit` to say how many.

Returns user_feed_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/following \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "following",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/following/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/posts

A profile's post feed. Use `limit` to say how many posts you want.

Returns post_feed_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/posts \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "posts",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/reels

Reels from a profile's Reels tab.

Returns reel_feed_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/reels \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "reels",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/reels/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/post

Details of one post — caption, counts, media, dimensions.

Returns post_detail_api

Parameters

Name Required Description Example
shortcode required The code from /p/<shortcode>/ in the post URL. C8xY_abcDEF

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/post \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"shortcode":"C8xY_abcDEF"}}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "post",
  "target": "C8xY_abcDEF",
  "url": "https://www.instagram.com/p/C8xY_abcDEF/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/comments

Comments on one post. Use `limit` to say how many you want.

Returns comment_api

Parameters

Name Required Description Example
shortcode required The code from /p/<shortcode>/ in the post URL. C8xY_abcDEF

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/comments \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"shortcode":"C8xY_abcDEF"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "comments",
  "target": "C8xY_abcDEF",
  "url": "https://www.instagram.com/p/C8xY_abcDEF/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/tagged

Posts where this profile was tagged by someone else.

Returns tagged_feed

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/tagged \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "tagged",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/tagged/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/hashtag

Posts under a hashtag. Use `limit` to say how many you want.

Returns hashtag_feed

Parameters

Name Required Description Example
tag required Tag, with or without the spacex

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/hashtag \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"tag":"spacex"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "hashtag",
  "target": "spacex",
  "url": "https://www.instagram.com/explore/tags/spacex/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/location

Posts tagged at a place. Use `limit` to say how many you want.

Returns location_api

Parameters

Name Required Description Example
location_id required Numeric id from /explore/locations/<id>/. 109524955741121

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/location \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"location_id":"109524955741121"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "location",
  "target": "109524955741121",
  "url": "https://www.instagram.com/explore/locations/109524955741121/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/stories

A profile's stories that are still live. Use `limit` to say how many.

Returns story_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/stories \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "stories",
  "target": "nasa",
  "url": "https://www.instagram.com/stories/nasa/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/highlights

A profile's highlight albums — title, cover and item count.

Returns highlight_tray_api

Parameters

Name Required Description Example
username required Username, with or without the @. nasa

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/highlights \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"username":"nasa"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "highlights",
  "target": "nasa",
  "url": "https://www.instagram.com/nasa/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}
POST

/api/public/v1/scrape/instagram/highlight

The stories saved inside one highlight. Use `limit` to say how many.

Returns story_api

Parameters

Name Required Description Example
highlight_id required Numeric id of the highlight, as returned by the `highlights` endpoint. The id from /stories/highlights/<id>/ works too. 17901234567890123

Takes limit — how many results you want. The run is sized from it, and you are billed for exactly that many.

Request

curl -X POST https://socialholmes.com/api/public/v1/scrape/instagram/highlight \
  -H "Authorization: Bearer $SOCIALHOLMES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parameters":{"highlight_id":"17901234567890123"},"limit":25}'

Response 202 Accepted

{
  "id": "8f14e45f-ceea-467a-9c2e-1b0f5a4c7d21",
  "status": "queued",
  "platform": "instagram",
  "endpoint": "highlight",
  "target": "17901234567890123",
  "url": "https://www.instagram.com/stories/highlights/17901234567890123/",
  "result_count": 0,
  "created_at": "2026-08-26T19:07:28Z"
}