Instagram Search Scraper - Public Reels & Metrics
Pricing
from $3.00 / 1,000 enriched instagram search results
Instagram Search Scraper - Public Reels & Metrics
Search public Instagram Reels by keyword and export ranked results, creators, captions, and public engagement metrics. No Instagram login or cookies required.
Pricing
from $3.00 / 1,000 enriched instagram search results
Rating
0.0
(0)
Developer
Chronometrica
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
๐ What does Instagram Search Scraper do?
Enter one keyword or phrase. Get a ranked list of public Instagram Reels. Each row can include the Reel URL, title, caption, hashtags, mentions, creator, media URL, publish time, views, plays, likes, comments, and clear metric status.
The Actor does not need an Instagram login, cookies, or account details.
Use it for public content research, trend checks, creator discovery, campaign research, and scheduled monitoring.
With Instagram Search Scraper, you can:
- ๐ Find public Reels for one topic.
- ๐ Add public post metrics when Instagram shows them.
- โก Turn metric checks off for a faster URL and rank search.
- ๐งน Remove duplicate Reels from each run.
- ๐ฆ Export results as JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
- ๐ฆ See why a metric was present, unavailable, or skipped.
๐ฆ What Instagram data can I extract?
Each dataset row represents one public Instagram Reel found for the entered keyword.
| Data group | Example fields |
|---|---|
| ๐ Search context | searchQuery, searchUrl, searchRank |
| ๐ Reel identity | postUrl, postId, shortCode, mediaType |
| ๐งพ Reel details | title, caption, hashtags, mentions, publishedAt, thumbnailUrl, downloadUrl, videoDurationSeconds, hasAudio |
| ๐ค Creator | profileId, profileName, profileHandle, profileUrl, profileVerified, profileAvatarUrl |
| ๐ Public metrics | views, plays, playsInstagram, likes, comments |
| ๐ฏ Quality | postMetricStatus, metricEnrichmentStatus, status, statusReason |
| ๐ Observation | scrapedAt |
Missing public values stay null. They are not guessed and are not changed to zero.
โ๏ธ Can I use this Actor through an API?
Yes. Run it in Apify Console or connect through:
- Apify API
- Python SDK
- JavaScript SDK
- Webhooks
- Schedules
- Apify integrations
๐ฏ Why search public Instagram Reels?
| Use case | How the data helps |
|---|---|
| ๐ Trend research | Compare public Reels and language around a topic. |
| ๐ต๏ธ Competitor research | Find public campaign and content examples. |
| ๐ค Creator discovery | Find public creators posting about a topic. |
| ๐งฑ Data pipelines | Send clean Reel rows to a sheet, database, or dashboard. |
| โฑ๏ธ Monitoring | Repeat the same keyword and compare observed results over time. |
๐ต Pricing events
The Store price uses two events, but each paid row charges only one. A fast row charges the search-result event. A row whose public post check returns useful metrics or metadata charges the enriched-result event instead.
Current price per saved row:
| Apify plan | Search-only row | Enriched row |
|---|---|---|
| Free | $0.0015 | $0.00500 |
| Bronze | $0.0013 | $0.00433 |
| Silver | $0.0011 | $0.00367 |
| Gold | $0.0010 | $0.00300 |
| Platinum | $0.0010 | $0.00300 |
| Diamond | $0.0010 | $0.00300 |
Apify platform usage is separate and is paid by the user. Metric checks take longer. Turn includeMetrics off when you only need Reel URLs and ranks.
Empty searches and failed runs do not save or charge rows. A failed enrichment can still save and charge the cheaper search-only row. The Actor also respects the run's maximum charge by stopping before work that cannot fit.
๐ How do I use Instagram Search Scraper?
- Open the Actor in Apify Console.
- Enter one keyword or phrase.
- Choose the maximum number of unique Reels to save.
- Keep metric checks on when you need public metrics.
- Click Start.
- Open Output to inspect the rows and run summary.
โฌ๏ธ Input
{"query": "sports news","maxResults": 10,"includeMetrics": true}
| Setting | What it controls |
|---|---|
query | One keyword or phrase. Required. From 1 to 100 characters after spaces are cleaned. |
maxResults | Maximum unique Reel rows saved after duplicate removal. From 1 to 64. Default: 25. This is a cap, not a promised count. |
includeMetrics | Checks every saved Reel for public metrics and creator details. Default: true. Turn it off for a faster, lower-cost search. |
โฌ๏ธ Output sample
{"platform": "instagram","searchQuery": "sports news","searchUrl": "https://www.instagram.com/popular/sports-news/","searchRank": 1,"postUrl": "https://www.instagram.com/reel/ABC123/","postId": "123456789","shortCode": "ABC123","mediaType": "reel","title": "A public Reel title","caption": "A public Reel caption","hashtags": ["sports", "news"],"mentions": ["example"],"publishedAt": "2026-07-20T12:00:00.000Z","thumbnailUrl": "https://example.cdn.invalid/image.jpg","downloadUrl": "https://example.cdn.invalid/video.mp4","videoDurationSeconds": 18.4,"hasAudio": true,"profileId": "987654321","profileName": "Example Creator","profileHandle": "example","profileUrl": "https://www.instagram.com/example/","profileVerified": false,"profileAvatarUrl": null,"views": 1200,"plays": 1300,"playsInstagram": null,"likes": 90,"comments": 4,"postMetricStatus": [{"metric": "views","status": "present","reason": null,"precision": "exact","source": "public_post"},{"metric": "plays","status": "present","reason": null,"precision": "exact","source": "public_post"},{"metric": "playsInstagram","status": "unavailable","reason": "Instagram did not expose this metric publicly for this Reel at collection time.","precision": "unavailable","source": "public_post"},{"metric": "likes","status": "present","reason": null,"precision": "exact","source": "public_post"},{"metric": "comments","status": "present","reason": null,"precision": "exact","source": "public_post"}],"metricEnrichmentStatus": "partial","scrapedAt": "2026-07-20T12:01:00.000Z","status": "ok","statusReason": null}
The real postMetricStatus array always contains five entries in this order: views, plays, playsInstagram, likes, and comments.
๐ Run summary
The OUTPUT and RUN_SUMMARY records contain the same public summary:
{"actorName": "instagram-search-scraper","schemaVersion": "1.1.0","resultType": "instagram_public_keyword_reel","rowGrain": "one_public_instagram_reel_per_keyword_result_row","status": "succeeded","statusReason": null,"query": "sports news","maxResults": 10,"includeMetrics": true,"candidatesSeen": 12,"uniqueCandidatesSeen": 12,"duplicatesSkipped": 0,"savedRows": 10,"usefulRows": 10,"billableRows": 10,"enrichmentAttempted": 10,"enrichmentSucceeded": 7,"enrichmentPartialOrFailed": 3,"searchAttemptCount": 1,"searchRetryCount": 0,"searchRecoveredByRetry": false,"stopReason": "limit_reached","startedAt": "2026-07-20T12:00:00.000Z","finishedAt": "2026-07-20T12:01:00.000Z"}
๐ฏ Status and quality fields
present: Instagram exposed the metric publicly.unavailable: Instagram did not expose the value, or the public check could not finish. Readreason.skipped:includeMetricswas turned off.exact: the public source returned a full number.rounded: the public source showed a rounded number.metricEnrichmentStatus:succeeded,partial,failed, orskippedfor the whole Reel.
๐ Data scope
This Actor collects public Instagram Reels. Private content is not supported.
โ ๏ธ Limits and interpretation
maxResultsis a maximum. Instagram may expose fewer public Reels.- Metrics can be missing even when the Reel itself is public.
- Repeated runs are new observations. Instagram can change results and metrics between runs.
๐ Related Actors
- Instagram Metrics Scraper for known post URLs.
- Instagram Channel Scraper for public profile discovery.
- TikTok Search Scraper for TikTok keyword discovery.
โ FAQ
Does this Actor need an Instagram login, cookie, or API key?
No.
Why did I get fewer rows than maxResults?
The field is a cap. Instagram may return fewer public Reels for that phrase.
Why is a metric null?
Instagram did not expose it publicly, the public check could not finish, or you turned metric checks off. Read the matching postMetricStatus entry.
How are duplicates removed?
Rows are deduplicated by Instagram Reel shortcode before metric checks and saving.
โ๏ธ Legal note
Use public data responsibly. Follow applicable laws, Instagram's terms, and the rights of people whose public content you collect. This Actor does not grant rights to reuse Instagram content.
๐ Support
When asking for help, include the Apify run ID, input, expected result, one bad or missing row, and the time of the run. Do not send Instagram passwords, cookies, or private account material.