Instagram Post Text Extractor
Pricing
from $47.00 / 1,000 posts
Instagram Post Text Extractor
Extract in-image text from public Instagram posts and carousels—overlays, captions, quotes, stickers, hashtags, and @mentions—with per-image results, type, position, language, and confidence. Each carousel slide processed separately. No login. Built for OCR, brand monitoring, and content intel.
Pricing
from $47.00 / 1,000 posts
Rating
0.0
(0)
Developer
rainminer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
The Instagram Post Text Extractor is an Apify Actor that reads public Instagram posts and returns every piece of text visible inside the images as structured data. Businesses burn text, quotes, prices, offers, and announcements directly onto their post images and carousels — this Actor unlocks that content for search, analysis, and database ingestion without manual review.
Every image in a post is processed individually — including each slide of a multi-image carousel — by AI vision, and the results are returned as a structured dataset of text segments per image, each with its type, position, language, and confidence rating.
Key Features
- Full in-image text extraction: Captures text overlays, burned-in captions, quotes, Instagram stickers, watermarks, hashtags, and @mentions.
- Carousel-aware: Processes every image in a multi-image carousel separately and reports which image each text segment came from.
- Type classification: Distinguishes overlay, caption, quote, sticker, watermark, hashtag, mention, and other text types.
- Multilingual: Detects the ISO 639-1 language code for each segment from the text itself.
- Position detection: Classifies text placement as top, center, or bottom of the image.
- Confidence rating: High/medium/low rating based on text clarity in the image.
- No login required: Works with any public Instagram post.
Why Extract Text from Posts?
Instagram posts and carousels are a primary publishing surface for businesses, creators, and brands. Menu specials, product drops, event announcements, hiring notices, quote cards, and pricing updates are routinely shared only as text baked into images — never structured or indexed. This Actor makes that content machine-readable for:
- Content intelligence and brand monitoring tracking what competitors publish in posts.
- Food and hospitality capturing daily specials and seasonal menus shared as image posts.
- Event aggregators extracting event names, dates, and lineup text from promotional carousels.
- Retail and e-commerce indexing product drops, discount codes, and launch dates.
- Market research tracking pricing, offers, and messaging trends across accounts.
- Accessibility tools converting visual post text to readable formats.
Who Is It For?
- Marketing and analytics teams monitoring brand or competitor post content at scale.
- Product and data teams building structured datasets from Instagram image content.
- Developers integrating post text extraction into discovery or monitoring pipelines.
- Researchers studying visual communication trends in social media imagery.
Input Schema
{"urls": ["https://www.instagram.com/p/DaVyCIrETvD/","https://www.instagram.com/p/Dagut_GRUzu/"],"maxItems": 10}
urls is required. All other fields are optional.
| Field | Type | Default | Description |
|---|---|---|---|
urls | Array of strings | — | Public Instagram post URLs (/p/...), single or carousel |
maxItems | Integer | 10 | Maximum number of posts to process in a single run |
Output Schema
Each dataset item represents one post, with a per-slide breakdown of the text found:
{"url": "https://www.instagram.com/p/DaVyCIrETvD/","shortcode": "DaVyCIrETvD","slideCount": 2,"slides": [{"slide": 1,"textSegments": [{"text": "SUMMER SALE — 30% OFF","type": "overlay","position": "center","language": "en","confidence": "high"}]},{"slide": 2,"textSegments": []}],"scrapedAt": "2026-07-08T08:15:42.000Z"}
| Field | Description |
|---|---|
url | Normalized canonical URL of the post |
shortcode | Instagram shortcode (e.g. DaVyCIrETvD) |
slideCount | Number of carousel slides processed for this post |
slides | Array of per-slide results (one entry per carousel image) |
slides[].slide | Slide number within the post (1 = first slide) |
slides[].textSegments | Array of all text elements found on that slide |
slides[].textSegments[].text | The visible text content as it appears in the image |
slides[].textSegments[].type | overlay | caption | quote | sticker | watermark | hashtag | mention | other |
slides[].textSegments[].position | top | center | bottom — vertical position, null if unclear |
slides[].textSegments[].language | ISO 639-1 language code detected from the text, e.g. "en" — null if indeterminate |
slides[].textSegments[].confidence | high | medium | low — extraction confidence based on text clarity |
scrapedAt | ISO timestamp of when this post was processed |
How It Works
- Validate inputs — each URL is checked against accepted Instagram post URL patterns and normalized to a canonical form.
- Fetch images — every image in the post is retrieved, including all slides of a carousel, without requiring a browser or login session.
- AI text extraction — each image is analyzed by AI vision to extract all visible text.
- Structured output — each text segment is classified by type, position, language, and confidence.
- Push to dataset — one dataset row is pushed per post containing a per-image breakdown of its text.
Notes and Limitations
- Public posts only: Private accounts and posts that require login to view are not supported.
- Image availability: Deleted or expired posts will fail to download and are skipped with a warning.
- OCR accuracy: Stylized fonts, small text, or low-contrast text may yield lower confidence extractions.
- Rate limiting: Instagram may rate-limit requests at high volume. Reduce concurrency or add delays between runs if you encounter failures.
- Images only: Video slides within a carousel are not analyzed — use the Instagram Reel Text Extractor for video content.
Image Credit
Image credit: instagram.com