# Instagram Media Screen Text API (https://www.socialcrawl.dev/platforms/instagram/media-screen-text) > Reads the text shown on an Instagram post: the headlines, list items, place names, captions and meme text creators design into a photo, a carousel slide or a reel, which the post caption never carries. What is read depends on the post. On a photo, the photo itself. On a carousel, every slide in order, 10 slides a call: the first 10 by default, and the next 10 with `slide_offset=10`; a longer carousel's response carries a warning giving its full slide count, and `next_slide_offset` names the offset that reads the rest (null when every slide has been read). On a reel or video, the cover frame by default, so it does not read text that appears only later in the video; with `frames=all` the whole video is read instead, up to 3 minutes (180 seconds), and the response adds `subtitles` (on-screen captions of the speech, kept apart from `texts`), a `timeline` of every text block with `at_seconds`, the second it first appears, and `kind` (text or subtitle), and `duration_seconds`. This is AI OCR of the published media. On a reel whose text was typed in Instagram's own editor, that text is also read from the post's data, exactly as typed and for every moment of the reel, and returned in `native_texts` (null when the reel has none; text added in another app is only in the pixels). `texts` is the deduplicated union of every image's text in slide order, `images` lists each image read with its own `texts` and its 0-based `index` in the post's media list (so a carousel caller knows which slide said what), `media_type` is image, video or carousel, and `source` says which layers produced text: native, native+ocr, ocr or none. A post with no text on it returns empty arrays (that is a real answer, not an error). If some slides cannot be read, those slides carry `texts: null` and the response carries a warning. TL;DR: `GET /v1/instagram/media/screen-text` costs 5 credits a call, the same for a photo, a reel's cover or a carousel page of 10 slides. 10 credits with `frames=all` on a reel; when the post has no video to read, or the video cannot be read and the cover is read instead, the call costs 5 and the response says so in `warnings`. Refunded when the post cannot be found, when nothing on it could be read, or when a parameter does not fit the post (a `slide_offset` past the last slide, a reel over 180 seconds with `frames=all`). and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `url` | yes | Full URL of the Instagram post, reel or video (a `/p/`, `/reel/`, `/reels/` or `/tv/` link). A share link copied from the app (`instagram.com/share/...`) works too; a share link to a profile is refused at no charge with the handle to send, and a dead one is a free 404. | | `frames` | no | What to read on a reel or video. `cover` (the default) reads the cover frame for 5 credits. `all` reads the whole video, up to 180 seconds, for 10 credits, and adds `subtitles`, `timeline` and `duration_seconds`. Has no effect on photos and carousels, which are read as usual for 5 credits. (cover \| all) | | `slide_offset` | no | Carousels only: the 0-based index of the first slide to read, 10 slides a call. Default 0. `slide_offset=10` reads slides 11 to 20. Each image in `images` keeps its index in the whole carousel, and `next_slide_offset` gives the value for the next call. | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/instagram/media/screen-text" \ --data-urlencode "url=https://www.instagram.com/p/DdEqEl5Dl-S/" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### What does the Instagram Media Screen Text API return? Returns the text shown on an Instagram post's images, read by AI: the photo, each carousel slide up to 10, or a reel's cover frame, with results per slide. The response uses the same JSON envelope as every SocialCrawl endpoint, with the data, credits_used and request_id fields. ### When should I use the Instagram Media Screen Text endpoint? Use it for text designed into a post, like carousel headlines; the caption lives on post and spoken words on media/transcript. Text shown later in a reel is not read. ### How much does the Instagram Media Screen Text API cost? The price depends on the request, from 5 to 10 credits per call. Every new account gets 100 free credits. Credits for failed or empty calls are refunded automatically, and there is no subscription. ### What parameters does the Instagram Media Screen Text API need? The one required parameter is url (full URL of the Instagram post, reel or video). It also accepts 2 optional parameters, all listed on this page. ### How do I call the Instagram Media Screen Text API? Send a GET request to https://www.socialcrawl.dev/v1/instagram/media/screen-text?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FDdEqEl5Dl-S%2F with your API key in the x-api-key header. An Authorization: Bearer header works too. See the full Instagram API: https://www.socialcrawl.dev/platforms/instagram ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - What does the SocialCrawl Instagram Media Screen Text API return? - How do I get Instagram Media Screen Text data with the SocialCrawl API?