Instagram Reel Text Extractor
Pricing
from $1.00 / 1,000 reels
Instagram Reel Text Extractor
AI-powered on-video text from Instagram Reels. Full-screen, timestamped, multilingual OCR for Instagram Reels that classifies every visible text element (overlays, captions, stickers, watermarks, hashtags, mentions), including screen position and confidence, with no login required.
Pricing
from $1.00 / 1,000 reels
Rating
0.0
(0)
Developer
rainminer
Maintained by CommunityActor stats
1
Bookmarked
7
Total users
3
Monthly active users
15 days ago
Last modified
Categories
Share
The Instagram Reel Text Extractor is an Apify Actor that reads public Instagram Reels and returns every piece of visible on-screen text as structured data. Businesses overlay text, captions, stickers, hashtags, and watermarks directly onto their videos — this Actor unlocks that content for search, analysis, and database ingestion without manual review.
Each reel is processed by AI vision and the results are returned as a flat, structured dataset of text segments — each with its timestamp, type, screen position, language, and confidence rating.
Key Features
- Full on-screen text extraction: Captures animated overlays, editor captions, Instagram stickers, watermarks, hashtags, and @mentions.
- Timestamp-aware: Records the MM:SS timestamp when each text element first appears.
- Type classification: Distinguishes overlay, caption, 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 screen.
- Confidence rating: High/medium/low rating based on text clarity in the video frame.
- No login required: Works with any public Instagram Reel.
Why Extract Text from Reels?
Instagram Reels have become a primary publishing surface for businesses, creators, and brands. Menu specials, product drops, event announcements, hiring notices, and pricing updates are routinely shared only as Reel overlays — never structured or indexed. This Actor makes that content machine-readable for:
- Content intelligence and brand monitoring tracking what competitors publish in Reels.
- Food and hospitality capturing daily specials and seasonal menus announced via video.
- Event aggregators extracting event names, dates, and lineup text from promotional Reels.
- 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 Reel text to readable formats.
Who Is It For?
- Marketing and analytics teams monitoring brand or competitor Reel content at scale.
- Product and data teams building structured datasets from Instagram video content.
- Developers integrating Reel text extraction into discovery or monitoring pipelines.
- Researchers studying visual communication trends in short-form video.
Input Schema
{"reelUrls": ["https://www.instagram.com/reel/DY8NM9WJfM8/"],"maxItems": 10}
reelUrls is required. All other fields are optional.
| Field | Type | Default | Description |
|---|---|---|---|
reelUrls | Array of strings | — | Public Instagram Reel URLs (/reel/... or /p/...) |
maxItems | Integer | 10 | Maximum number of reels to process in a single run |
Output Schema
Each dataset item represents one reel and all the on-screen text found in it:
{"reelUrl": "https://www.instagram.com/reel/DY8NM9WJfM8/","shortcode": "DY8NM9WJfM8","textSegments": [{"text": "POV: Getting robbed at gunpoint but you're fat","timestamp": "00:00","type": "overlay","position": "top","language": "en","confidence": "high"}],"scrapedAt": "2026-06-01T08:15:42.000Z"}
| Field | Description |
|---|---|
reelUrl | Normalized canonical URL of the reel |
shortcode | Instagram shortcode (e.g. ABC123) |
textSegments | Array of all on-screen text elements found |
textSegments[].text | The visible text content as it appears on screen |
textSegments[].timestamp | MM:SS when the text first appears — null if indeterminate |
textSegments[].type | overlay | caption | sticker | watermark | hashtag | mention | other |
textSegments[].position | top | center | bottom — vertical screen position, null if it moves |
textSegments[].language | ISO 639-1 language code detected from the text, e.g. "en", "es" — null if indeterminate |
textSegments[].confidence | high | medium | low — extraction confidence based on text clarity |
scrapedAt | ISO timestamp of when this reel was processed |
How It Works
- Validate inputs — each URL is checked against accepted Instagram Reel URL patterns and normalized to a canonical form.
- Fetch video — the Reel is retrieved without requiring a browser or login session.
- AI text extraction — the video is analyzed by AI vision to extract all visible on-screen text in a single pass.
- Structured output — each text segment is classified by type, position, language, and confidence.
- Push to dataset — one dataset row is pushed per reel containing all its text segments.
Notes and Limitations
- Public reels only: Private accounts and reels that require login to view are not supported.
- Video availability: Deleted or expired reels will fail to download and are skipped with a warning.
- OCR accuracy: Fast-moving, small-font, 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.
- Video size: Very large Reels are skipped automatically.
- Audio not included: Spoken content is intentionally excluded — only text visually rendered on screen is extracted.