Instagram hashtag search vs reels search API: windows and cursors
Sume's Instagram hashtag route takes five date windows and a string cursor; the reels route takes three windows and a numeric page. Do not mix them.

Sume's Instagram search routes do not share one filter vocabulary. instagram_search_hashtag takes date_posted with five values (last-hour to last-year) and a string cursor, while instagram_search_reels takes date_posted with only three values and a numeric page. Mixing them up returns 400 scrapecreators_invalid_input.
All five Instagram search routes are POST /v1/scrapecreators/<operation> public reads that return media candidates and are not charged Sume credits in v1.
The five search operations
instagram_search takes only a query. instagram_search_profiles finds accounts. instagram_search_reels finds reels. instagram_search_hashtag finds posts under a tag. instagram_search_popular returns popular matches and uses an opaque cursor that you pass back unchanged.
Pagination differs on purpose, so write one helper per route instead of a shared one.
| Route | Window values | Paging field |
|---|---|---|
| instagram_search | none | none |
| instagram_search_profiles | none | cursor, string "1" to "11" |
| instagram_search_reels | last-week, last-month, last-year | page, 1 to 11 |
| instagram_search_hashtag | last-hour, last-day, last-week, last-month, last-year | cursor, string "1" to "11" |
| instagram_search_popular | none | cursor, opaque |
Hashtag search extras
The hashtag route also has media_type, either all or reels. Use reels when you only want short video, and all when photos and carousels are also useful. The tag goes in hashtag; the other routes take query.
curl -sS https://api.sume.com/v1/scrapecreators/instagram_search_hashtag \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{"hashtag":"unboxing","date_posted":"last-week","media_type":"reels","limit":12}'Limits that apply to every call
A call returns at most 24 items and reads at most 3 feed pages. limit defaults to 10 and max_pages to 3. The sync wait is 30 seconds; after that you get 202 and follow the job. There is no login, no private accounts, no stories or DMs, and nothing is imported automatically.
If a result is worth keeping, pass its post URL to the separate media import route, which is the only step that copies bytes into Sume storage. See what a TikTok or Instagram import costs.
Sources
Related posts
More in Developers
- Inworld's OpenAI-style /v1/audio/speech vs a Sume TTS job in Python
Inworld added POST /v1/audio/speech on Sept 11, 2026, so OpenAI SDKs work unchanged. The Sume equivalent is a job you poll: a Python sample that runs.
- Is AI avatar video real time? How long a Sume job takes
A Sume avatar video is a job, not a live stream: it queues, renders, and you poll or take a webhook. What the sync wait caps at, and a Python polling loop.
- Iterate AI video prompts one change at a time on Omni 360p
Change one element at a time and draft at Omni 360p. A run log, a 6-run budget and Sume requests that keep each attempt comparable.
- JDK 27 HttpClient: poll a Sume job in one Java file
JDK 27 reached GA on 15 September 2026. A single-file java.net.http loop for GET /v1/jobs/:id/status with timeouts and next_poll_after_seconds.
Written by Sume