String docs
Site integrations

Instagram

Instagram profile overview, post history, a single post, a profile's reels with their play counts, and a location's first feed page, as its logged-out web protocol answers.

Call these actions with your String API key; see Authentication. Every call answers with the envelope described in Responses & errors, whose data holds the rows below.

  • Site: instagram
  • Version: 1.0.0
  • Reads from: instagram.com
ActionDescriptionListed price
profileRead an Instagram profile: its name and biography, follower, following and post counts, verified and private flags, bio link and picture.Billed per request at your plan's rates
postRead one Instagram post or reel: its shortcode, publish time, author, caption text, like count, location, media urls, tagged accounts and alt text.Billed per request at your plan's rates
reelsRead an Instagram profile's reels, newest first with each one's play count, shortcode, time, author, caption, like count, image and alt text.Billed per request at your plan's rates

profile

Read an Instagram profile: its name and biography, follower, following and post counts, verified and private flags, bio link and picture.

POST https://request.usestring.ai/v1/integrations/instagram/profile

Input

Unknown fields are rejected.

FieldTypeDescription
handlestringRequired. The profile handle, such as nasa, or its instagram.com URL. At least 1 character.

Output

data is an array of rows, one per result. Each row has:

FieldTypeDescription
handlestring—
usernamestringAs the page answers it, lowercase.
fullNamestring | null—
biographystring | null—
followerCountinteger | null—
followingCountinteger | null—
postCountinteger | nullThe total posts counter, as the page words it.
externalLinkstring | null—
profilePicUrlstring | null—
isVerifiedboolean | null—
isPrivateboolean | null—

Example

curl https://request.usestring.ai/v1/integrations/instagram/profile \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "handle": "nasa"
  }'

data starts with these rows:

[
  {
    "handle": "nasa",
    "username": "nasa",
    "fullName": "NASA",
    "biography": "Making the seemingly impossible, possible. ✨",
    "followerCount": 104370625,
    "followingCount": 90,
    "postCount": 4981,
    "externalLink": null,
    "profilePicUrl": "https://scontent-mia3-1.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_cat=1&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=5z5oMO3RoxYQ7kNvwE0rcKO&_nc_oc=Adp0dE-19sqmLqP7Upg9dNiyPvblnb0XBcjSmdu6hcxYLUK4iP7x5lXZFjhwI7Ra5RE&_nc_zt=24&_nc_ht=scontent-mia3-1.cdninstagram.com&_nc_ss=79689&oh=00_AQNiJd4sjq6l3N3JtIPVdHmQBzQQPxP9aTkp6uUDNqWe2g&oe=6AE6F169",
    "isVerified": true,
    "isPrivate": false
  }
]

Requests and billing

  • Requests: 1 Web Access request per entry in items.
  • Billing: passthrough. Each request the action makes bills at its own rate on your plan; there is no separate charge for the action. See Pricing.

post

Read one Instagram post or reel: its shortcode, publish time, author, caption text, like count, location, media urls, tagged accounts and alt text.

POST https://request.usestring.ai/v1/integrations/instagram/post

Input

Unknown fields are rejected.

FieldTypeDescription
poststringRequired. The post: its shortcode, or its instagram.com/p/, /reel/ or /reels/ URL. At least 1 character.

Output

data is an array of rows, one per result. Each row has:

FieldTypeDescription
codestringThe post's shortcode, as its URL carries.
takenAtstring | nullWhen the post was published, RFC 3339 in UTC.
usernamestring | nullThe author's handle.
captionstring | null—
likeCountinteger | null—
locationstring | nullThe location the post is tagged with, when it names one.
imageUrlstring | nullThe media's published image.
mediaCountinteger1 for a single photo or video, or the carousel's children.
taggedstring[] | nullThe accounts tagged in the media, plus the coauthors, without repeats. May be absent.
altstring | nullThe media's accessibility alt text, which often carries the text in the image.
isPaidPartnershipboolean | nullWhether the post carries a paid-partnership label.
playCountinteger | nullA reel's plays; the reels surface publishes what the post-level surfaces answer null. May be absent.

Example

curl https://request.usestring.ai/v1/integrations/instagram/post \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "post": "De7XCa_TJ4h"
  }'

data starts with these rows:

[
  {
    "code": "De7XCa_TJ4h",
    "takenAt": "2026-10-25T18:35:11Z",
    "username": "nasaadmin",
    "caption": "This is how @nasa does game day. Roll Tide! 🚀🏈",
    "likeCount": 45303,
    "location": "Bryant-Denny Stadium",
    "imageUrl": "https://scontent-mia5-1.cdninstagram.com/v/t51.82787-15/858088880_1909652077075572_3321833479248057878_n.jpg?stp=dst-jpg_e15_tt6&_nc_cat=101&ig_cache_key=NDAxNTkwNDgxNDIxODkxMTI2NTE5MDk2NTIwNzM3NDIyMzk%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNMSVBTLnhwaWRzLjEyMTUuc2RyLnZpZGVvX2RlZmF1bHRfY292ZXJfZnJhbWUuQzMifQ%3D%3D&_nc_ohc=3eTSUFhT_YkQ7kNvwE2h7HV&_nc_oc=AdqseJsCbV71a2uDmNjb0BokDdMesehW-e08A8qayZl50p2FIDPmEiIntq_sFewN2cc&_nc_zt=23&_nc_ht=scontent-mia5-1.cdninstagram.com&_nc_gid=CyWiV57iZEhkMSY0WyBFMA&_nc_ss=79a8c&oh=00_AQO0w3Jw1w0EMgms-Z4HIF8T2wfVI8XG4xGFGLo2Rj_OXg&oe=6AE6E22D",
    "mediaCount": 1,
    "tagged": ["ua_athletics", "alabamafbl", "nasa", "univofalabama", "secrollins"],
    "alt": "Video by NASA Administrator Jared Isaacman on October 25, 2026. May be an image of stadium and text.",
    "isPaidPartnership": null
  }
]

Requests and billing

  • Requests: 1 Web Access request per entry in items, plus up to 1 setup request per call.
  • Billing: passthrough. Each request the action makes bills at its own rate on your plan; there is no separate charge for the action. See Pricing.

reels

Read an Instagram profile's reels, newest first with each one's play count, shortcode, time, author, caption, like count, image and alt text.

POST https://request.usestring.ai/v1/integrations/instagram/reels

Input

Unknown fields are rejected.

FieldTypeDescription
handlestringRequired. The profile handle, such as nasa, or its instagram.com URL. At least 1 character.
pagesintegerThe most pages of reels to read, 1 to 10, 12 a page, newest first. Defaults to 2. From 1 to 10.

Output

data is an array of rows, one per result. Each row has:

FieldTypeDescription
codestring—
likeCountinteger | null—
playCountinteger | nullThe reel's plays, which this surface publishes and the post-level ones answer null.

Example

curl https://request.usestring.ai/v1/integrations/instagram/reels \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "handle": "nasa",
    "pages": 2
  }'

data starts with these rows:

[
  {
    "code": "De7XCa_TJ4h",
    "likeCount": 45309,
    "playCount": 3827536
  },
  {
    "code": "De2t82PPyx9",
    "likeCount": 58214,
    "playCount": 2757890
  },
  {
    "code": "Dez3pRXgW1d",
    "likeCount": 22853,
    "playCount": 2274456
  },
  {
    "code": "DeuH0dDFGcg",
    "likeCount": 58414,
    "playCount": 3889314
  },
  {
    "code": "DeTUk4sDSp-",
    "likeCount": 750577,
    "playCount": 11001274
  },
  {
    "code": "DeSM5CYPDfd",
    "likeCount": 60533,
    "playCount": 3697961
  },
  {
    "code": "DePHLhtON_i",
    "likeCount": 99857,
    "playCount": 3176173
  },
  {
    "code": "DeMIwYYPAMt",
    "likeCount": 87360,
    "playCount": 4681239
  },
  {
    "code": "DeIXf9SNQVO",
    "likeCount": 21781,
    "playCount": 2853776
  },
  {
    "code": "DeFBxH0RF00",
    "likeCount": 41434,
    "playCount": 3732311
  },
  {
    "code": "DeCPVhERA8e",
    "likeCount": 244871,
    "playCount": 6083782
  },
  {
    "code": "DeCNJEyOkpq",
    "likeCount": 47713,
    "playCount": 2714109
  },
  {
    "code": "DeAVuphM4C-",
    "likeCount": 63788,
    "playCount": 3460191
  },
  {
    "code": "Dd1gQBsCWE8",
    "likeCount": 121595,
    "playCount": 5860534
  },
  {
    "code": "DdhFkS7KGkZ",
    "likeCount": 49564,
    "playCount": 7468692
  },
  {
    "code": "DdRyQxKteC1",
    "likeCount": 252963,
    "playCount": 10164206
  },
  {
    "code": "DdPsDCWRT-u",
    "likeCount": 61133,
    "playCount": 5730582
  },
  {
    "code": "DdPDuIepVPf",
    "likeCount": 83830,
    "playCount": 4738206
  },
  {
    "code": "DdMdxJhtdxh",
    "likeCount": 115923,
    "playCount": 3713067
  },
  {
    "code": "DdEsW1ItqpI",
    "likeCount": 128803,
    "playCount": 5579192
  },
  {
    "code": "Dc4u1yKPj_s",
    "likeCount": 48158,
    "playCount": 3692177
  },
  {
    "code": "Dc37MPNSAZq",
    "likeCount": 196451,
    "playCount": 7503488
  },
  {
    "code": "Dcwk7e1yHaY",
    "likeCount": 62661,
    "playCount": 3469085
  },
  {
    "code": "Dcv8Q_Pk06P",
    "likeCount": 200483,
    "playCount": 6641056
  }
]

Requests and billing

  • Requests: 1 Web Access request per result page, plus up to 1 setup request per call.
  • Billing: passthrough. Each request the action makes bills at its own rate on your plan; there is no separate charge for the action. See Pricing.