Instagram & Threads Search Scraper | Posts & Media avatar

Instagram & Threads Search Scraper | Posts & Media

Pricing

$0.75 / 1,000 search results

Go to Apify Store
Instagram & Threads Search Scraper | Posts & Media

Instagram & Threads Search Scraper | Posts & Media

Search public Instagram posts and Threads discussions by query. Extract captions, authors, dates, likes, comments, media previews, direct URLs, deduplicated results, and clean profile data.

Pricing

$0.75 / 1,000 search results

Rating

0.0

(0)

Developer

Kelopr

Kelopr

Maintained by Community

Actor stats

0

Bookmarked

34

Total users

12

Monthly active users

an hour ago

Last modified

Categories

Share

๐ŸŒ Instagram & Threads Search Scraper โ€” Public Posts by Keyword & Hashtag

Search public Instagram and Threads posts by keyword or hashtag, and get back clean, deduplicated rows โ€” authors, captions, engagement, images, and direct links. Type a query, hit start. No login, no browser.

Most people arrive with the same handful of questions, so this page is written as answers. Skim to the one you need.

{
"mode": "META_SEARCH",
"queries": ["marketing", "ai startup"],
"maxResults": 100,
"maxResultsPerQuery": 10
}
queries: "marketing" ยท "#travel" ยท "ai startup"
โ”‚
โ–ผ mode picks the platforms:
โ”‚ โ€ข META_SEARCH โ†’ ๐ŸŸช Instagram + ๐Ÿงต Threads (both)
โ”‚ โ€ข INSTAGRAM_SEARCH โ†’ ๐ŸŸช Instagram only
โ”‚ โ€ข THREADS_SEARCH โ†’ ๐Ÿงต Threads only
โ–ผ
๐Ÿ”Ž search public indexed posts โ€” per query, per platform
โ”‚
โ–ผ
๐Ÿงน dedupe URLs โ€” every matching query kept in searchQueries
โ”‚
โ–ผ
๐Ÿ—‚๏ธ enrich each hit from its public page (author ยท likes ยท image)
โ”‚
โ–ผ
โœ… flat rows โ–ธ Results / Query results โš ๏ธ blocked / empty โ–ธ Issues
(paid rows capped by maxResults)

โ“ What does this actually do?

You give it search queries โ€” keywords or hashtags. For each query it searches public indexed posts on Instagram and Threads, removes duplicate URLs, enriches each hit from its public page, and writes flat rows you can drop straight into a spreadsheet. Think social listening, not account exports.

โ“ Is this a profile scraper?

No โ€” it's a search scraper. The whole point is discovery by topic: "who is publicly posting about X right now," across two platforms at once. You don't need to know the accounts in advance; you describe the subject and it finds the posts. (There are legacy profile modes still bundled in โ€” see the question near the bottom โ€” but the search modes are the main event.)

โ“ What can I search for?

Anything you'd type into a search box: a brand, a product, a campaign name, a topic, or a hashtag like #travel. Add one query per row. A good starting set:

{ "queries": ["marketing", "#travel", "ai startup"] }

โ“ What's the difference between the three search modes?

modeWhat it searches
META_SEARCH (default)Public Instagram posts and Threads posts for every query, in one run
INSTAGRAM_SEARCHInstagram only โ€” queries run as public hashtag / post search
THREADS_SEARCHThreads only โ€” queries search public indexed Threads posts

Instagram queries are searched as public hashtag/post content; Threads queries search public indexed Threads posts. META_SEARCH simply does both and merges the results.

โ“ What do I get back for each post?

A compact row in the main Results dataset:

{
"recordType": "search_result",
"platform": "instagram",
"resultTitle": "Instagram | janedoe",
"resultText": "Behind the scenes of our new marketing campaign...",
"resultMetrics": "1,240 likes | 58 comments | query: marketing",
"resultImageUrl": "https://instagram.f...cdn.net/....jpg",
"resultUrl": "https://www.instagram.com/p/CxAbc123/",
"scrapedAt": "2026-08-07T18:30:02+00:00"
}

Need every field? The Query results dataset carries the full structured record for the same post:

FieldMeaning
platforminstagram or threads
searchQuery ยท searchQueriesThe query that found it, plus every query it matched
searchEngine ยท searchRankDiscovery source and rank within that query
contentTypepost ยท reel ยท video ยท thread
title ยท textPublic page title and caption / text
authorName ยท authorUsernameParsed author display name and handle
likeCount ยท commentCountEngagement where the public page exposes it
publishedAtPublish date where available
hashtags ยท mentionsExtracted from the caption
imageUrlPreview image
url ยท sourceUrlCanonical post URL and the URL it was found at
detailStatuspage_metadata (enriched) or search_result_only (link-level)
scrapedAtWhen the row was collected

โ“ Do I need an Instagram or Threads login?

No โ€” no account, no browser, no cookies. It's fully request-only and reads only public posts.

โ“ Why do some rows have no likes or comments?

Engagement is saved only when the post's public page exposes it (most reliable on Instagram). Rows without it still include the author, caption, image, and direct link. The detailStatus field tells you whether that page was enriched (page_metadata) or kept at link level (search_result_only).

โ“ Are duplicate posts removed?

Yes. When several queries surface the same post URL, it's merged into a single row โ€” and every query that matched it is kept in searchQueries, so you don't lose the attribution.

โ“ How do I control how many results (and the cost)?

Two dials:

  • maxResultsPerQuery (default 10, max 50) caps how many public posts are collected per query, per platform, before duplicate URLs are removed.
  • maxResults (default 100) caps the total paid rows written to the main Results dataset for the run.

So maxResultsPerQuery controls breadth; maxResults is your run-cost ceiling.

โ“ What are those "legacy" profile modes I see in the dropdown?

PROFILE_COMPARISON, INSTAGRAM_POSTS, THREADS_POSTS, and ALL_CONTENT are older profile-based modes kept for existing API integrations (they use maxPostsPerProfile, and enableDeltaMonitoring / monitorKey for change tracking). For the normal keyword/hashtag workflow, stay on one of the three search modes above.

โ“ Which proxy should I use?

Direct requests are used by default (proxyConfiguration โ†’ useApifyProxy: false). Leave it unless you have a specific reason to route through Apify Proxy.

โ“ How do I keep my exports clean?

Leave rawOutput off for the leanest tables. Use the Main results view for a quick scan and Query results when you need every field. Everything exports as CSV, Excel, JSON, or via the Apify API.

โ“ Where does failed or empty stuff go?

Anything that failed โ€” blocked or empty pages โ€” is written to a separate Issues dataset with a reason and source URL, so it never clutters your results.


๐Ÿ—‚๏ธ All the datasets a run writes

Tab / datasetWhat you see
Main resultsCompact row per post โ€” platform, title, text, engagement, preview, link
Query resultsFull structured search records (all fields above)
Platform comparisonLegacy: Instagram vs Threads profile stats side by side
Profiles ยท Posts & mediaLegacy profile-mode outputs
ChangesLegacy: new / updated posts vs the previous monitored run
IssuesAnything that failed, with reason and source URL
Run summaryCounters: queries, results, per-platform posts, errors, runtime

๐Ÿ“ฅ Input reference

FieldDefaultWhat it does
modeMETA_SEARCHMETA_SEARCH ยท INSTAGRAM_SEARCH ยท THREADS_SEARCH, plus legacy profile modes
queries["marketing", "ai startup"]Keywords or hashtags to search, one per row (max 50)
maxResults100Max paid rows written to the main Results dataset
maxResultsPerQuery10Max posts collected per query per platform before de-duplication (max 50)
maxPostsPerProfile10Legacy profile-mode: posts per profile
enableDeltaMonitoring ยท monitorKeyfalse ยท โ€”Legacy profile-mode change monitoring
maxConcurrency40Parallel HTTP requests (1โ€“50)
maxRetries1Retry budget for temporary errors (1โ€“10)
timeoutSecs8Max time per HTTP request (5โ€“120)
rawOutputfalseKeep raw source payloads for debugging
proxyConfigurationdirectConnection settings (direct requests by default)

Add at least one queries entry for the search modes.


One last answer โ€” if this saved you a scrape, a quick โญ review on the Apify Store helps others find it and tells me which question to answer next.

๐Ÿท๏ธ Tags: instagram ยท threads ยท instagram scraper ยท threads scraper ยท social media scraper ยท hashtag search ยท social listening ยท post scraper ยท lead generation