Instagram Hashtag Video Scraper & Filters — Beta avatar

Instagram Hashtag Video Scraper & Filters — Beta

Pricing

from $1.00 / 1,000 valid output rows

Go to Apify Store
Instagram Hashtag Video Scraper & Filters — Beta

Instagram Hashtag Video Scraper & Filters — Beta

Instagram hashtag video/Reels scraper with chosen output fields and date, engagement and literal caption filters. Beta: one hashtag, up to 20 rows; popular-source availability varies. $0.01/start + $0.001/output row. No Instagram login.

Pricing

from $1.00 / 1,000 valid output rows

Rating

0.0

(0)

Developer

Zeljko Vojnovic

Zeljko Vojnovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Features

Limited permissions

Share

Watch a short demo

Watch the 36-second walkthrough: choose a ready-to-use input and inspect actual stored output from November 9, 2026. The demo uses a saved successful run, not a fresh collection or a guarantee of future availability. No Instagram credentials are required.

Start with a ready-to-use example

This is a paid beta: $0.01 per start + $0.001 per output row. Results may be partial or unavailable; the start fee can apply to failed or zero-result runs.

Get up to 20 matching public Instagram videos/Reels from one hashtag. Choose the fields you need, require specific data, and apply date, likes/comments or literal caption filters. The output report explains partial collection, missing data, shortfalls and confirmed delivery.

This is a limited beta. It searches an available popular window, not the latest feed or a complete Instagram inventory. It does not collect photos/carousels, profiles, followers or private posts, and it has no automatic alternative source. No Instagram password, cookies or Instagram user token is accepted.

Example

Request up to five coffee videos from at most 40 candidates:

{
"queries": [{ "hashtag": "coffee", "limit": 5 }],
"maxItems": 5,
"candidatesPerHashtag": 40,
"fields": ["id", "url", "caption", "contentType", "fieldStatus"],
"requiredFields": ["id", "url"]
}

This is an input example, not a guarantee of five results. The Actor uses one collection mode; there is no provider or performance-profile selector.

Run options are separate from this JSON: use 256 MB memory, a 240-second parent timeout and a finite maximum cost. Set the recommended maxTotalChargeUsd to $0.04. The event price for at most 20 rows is still $0.03; the extra allowance provides headroom to finish delivery confirmation and the final report, and is not an additional charge. A cap set exactly to the expected event total can cause the platform to stop the run as soon as that limit is reached, before confirmation/reporting finishes. Do not select Unlimited: the PPE budget guard rejects an unknown/unbounded allowance (DELIVERY_BUDGET_UNKNOWN) before source acquisition. A smaller cap may permit fewer rows.

Limits and defaults

  • One hashtag per run. queries[0].limit and maxItems both default to 20, with a maximum of 20.
  • candidatesPerHashtag defaults to 100, with a maximum of 100. Candidates can fail filters or lack required data; 100 candidates does not mean 100 matching results.
  • timeoutSecs defaults to 120, with an allowed range of 30–120 seconds for acquisition. allowPartial defaults to true.
  • There are no default date bounds, likes/comments minimums or caption relevance rules. metricScope defaults to source_reported; requiredFields defaults to id and url.

The default projection includes ID, URL, content type, caption, publication date, likes, comments, plays, metric scope and matched/selected hashtags. Plays are unavailable and remain null. Choosing a smaller fields list can avoid unnecessary detail lookups. Add fieldStatus when you want explicit availability information.

Fields and filtering

Available evidence may include id, url, contentType, caption, publishedAt, ownerUsername, likesCount and commentsCount. Source-reported counts are not independently verified Instagram-only metrics. Hidden or missing counts are not converted to zero. Plays and shares are unsupported.

fields controls the columns returned. requiredFields requires evidence even if a field is not projected; a record without that data is excluded. Other requested fields may remain null. Existing video/reel labels are preserved.

Optional publishedAfter/publishedBefore, minLikes and minComments narrow the result. Strict instagram scope cannot support active likes/comments thresholds or required likes/comments with this source. No unsupported metric is inferred.

relevance.includeAny, excludeAny and localityAny default to empty lists. They match literal whole words/phrases, without translation, stemming, regex or semantic analysis. Positive/locality terms are checked in caption text outside hashtags, mentions and URLs; exclusions inspect the full caption. Alternatives within an active list are OR conditions; active lists combine as AND conditions. A locality phrase is textual evidence, not verified geolocation.

Availability and partial results

Some hashtags or details may be unavailable. Source-unavailable failures were observed for skincare, food and уметност; this does not prove those Instagram feeds are empty. Availability can change, including for tags that previously worked.

A run can return fewer records or fail with OWN_SOURCE_UNAVAILABLE. Filling the requested quota does not prove complete source coverage. There is no automatic paid fallback, retry-until-full behavior or promise of a filled quota. The dataset contains only selected output rows; RUN_SUMMARY separates selection, shortfall and physically confirmed delivery. An uncertain confirmation can occur after rows have already been stored.

Beta pricing

The single beta tariff is $0.01 per run start + $0.001 per physically written output row. Run-platform usage is included in this tariff.

Physically written rowsBeta run price
0$0.010
5$0.015
20$0.030

The start event may apply to invalid, failed and zero-result runs. Optional null fields do not make an otherwise valid selected row free. Stored rows may be charged even if later confirmation fails. No automatic refund is promised. A spending cap can reduce the delivered prefix below the requested quantity. Pending/unknown billing is not a final invoice; subsequent platform storage/download interactions may have their own charges.