Instagram & Threads Scraper API: Search, Profiles & Posts avatar

Instagram & Threads Scraper API: Search, Profiles & Posts

Pricing

from $2.10 / 1,000 search results

Go to Apify Store
Instagram & Threads Scraper API: Search, Profiles & Posts

Instagram & Threads Scraper API: Search, Profiles & Posts

Search Instagram and Threads by keyword in one Actor. Get accounts, hashtags with post counts, and Threads posts with like, reply, repost and quote counts - plus profile and post modes for any creator. Signed-in search is built in, so you get the full results with nothing to set up.

Pricing

from $2.10 / 1,000 search results

Rating

0.0

(0)

Developer

Kelopr_bk

Kelopr_bk

Maintained by Community

Actor stats

0

Bookmarked

46

Total users

2

Monthly active users

13 days ago

Last modified

Categories

Share

Instagram & Threads Scraper β€” Search, Profiles & Posts in one API

🧡 Also need the wider social graph? Pair this with our other scrapers on apify.com/trakk β€” Instagram and Threads here, plus TikTok, YouTube, Reddit and X/Twitter, all with the same clean output shape.

One Actor for both of Meta's text networks. Search Instagram and Threads by keyword in a single run, or pull full profiles and posts from any creator on either platform β€” accounts, hashtags with post counts, Threads posts with like / reply / repost / quote counts, and one consistent, flat output shape across both.

πŸ”“ Signed-in search is built in. Instagram's own search answers 401 when signed out and Threads shows nothing at all β€” so rich results normally need a logged-in session. This Actor brings its own managed session pool, so you get the signed-in results with nothing to paste and no cookies to manage. If the pool is ever busy, search automatically falls back to public results so a run never fails outright.

No login, no browser, no setup. Existing API integrations that send the original mode values keep working unchanged.


▢️ Your first run

  1. Open Input. The first question is What to scrape β€” leave it on πŸ”Ž Instagram + Threads search, which searches both networks in one run.
  2. Under Search, add a keyword or hashtag per row β€” marketing, #travel, ai startup.
  3. Ignore everything else β€” Profiles & posts only matters for the profile/post modes, and Advanced has sensible defaults. Click Start. For a first run, use one or two queries.
  4. Open Output β†’ Main results. Every row carries platform and type, so accounts, hashtags and posts stay easy to filter.
  5. Use Export to download CSV, Excel or JSON. JSON keeps the nested objects; All fields gives the full record.

Copy this into Input β†’ JSON for a first run:

{ "mode": "META_SEARCH", "queries": ["marketing", "ai startup"], "maxResults": 50 }

πŸš€ Pick your mode

Mode (as shown in the input)Best forWhat you receive
πŸ”Ž Instagram + Threads search (META_SEARCH)Broad discoveryInstagram accounts + hashtags and Threads posts + authors, in one run
πŸ“Έ Instagram search (INSTAGRAM_SEARCH)Finding accounts & hashtagsMatching accounts (with the Threads-presence flag), hashtags with post counts, places
🧡 Threads search (THREADS_SEARCH)Topic & post monitoringMatching Threads posts with engagement, plus one row per author found
πŸ“Έ Instagram profiles (INSTAGRAM_PROFILES)Creator researchOne profile row per Instagram username / URL
🧡 Threads profiles (THREADS_PROFILES)Creator researchOne rich profile row per Threads username / URL
πŸ“Έ Instagram posts (INSTAGRAM_POSTS)Content pullRecent posts for each Instagram creator
🧡 Threads posts (THREADS_POSTS)Content pullRecent posts for each Threads creator
πŸ‘₯ Profile comparison (PROFILE_COMPARISON)Cross-platform auditOne row per creator lining up their Instagram and Threads presence side by side
🌐 All content (ALL_CONTENT)Everything on a creatorProfiles, posts and the comparison together

Pricing is on the Actor's Pricing tab. Empty and duplicate rows are never charged, and filters (date cutoff, limits) are applied before billing.


🧾 What you get β€” fields

Every row carries platform (instagram / threads) and type / recordType, so mixed results stay easy to filter. Field names match the mainstream Instagram/Threads scrapers (ownerUsername, likesCount, followersCount, shortCode, timestamp, …) and our native names, so the output drops into tooling built for either.

πŸ‘€ Accounts & profiles

FieldMeaning
username, fullName, userIdidentity
url, profilePicUrl, profilePicUrlHDlinks & avatar (HD on Threads)
followersCount / followerCount, followsCount, postsCountaudience & output size
verified, isPrivatestatus flags
biography, externalUrl / externalUrls, bioLinksbio & links
emails, phoneslead-gen β€” contacts extracted from the bio
hasThreadsProfileour cross-platform signal β€” an Instagram account that also exists on Threads
accountBadges, isRingCreator, hasActiveReel, socialContextInstagram search extras
profileTags, podcastName/podcastUrl, newsletterName/newsletterUrl, hasThreadsBadgeThreads profile extras

πŸ“ Posts

FieldMeaning
shortCode, url, postId, type / postTypeidentity & kind (image / video / carousel / text)
ownerUsername, ownerFullName, ownerIdauthor
text, hashtags, mentions, languagecontent
timestamp / publishedAtwhen it was posted
likesCount, commentsCount, replyCount, repostCount, quoteCount, shareCount, videoViewCountengagement
displayUrl, imageUrls, videoUrls, mediaUrlsmedia
dimensionsWidth, dimensionsHeight, isPinned, isPaidPartnership, isAffiliate, coauthorProducers, sponsorsInstagram extras
isReply, replyToUsername, isRepost, isQuote, quotedPostUrl, linkPreviewUrl, linkPreviewTitle, accessibilityCaptionThreads extras

name, url, mediaCount (post count), subtitle, hashtagId Β· places add latitude, longitude, address, city, placeId.


🧩 Input reference

FieldWhat it does
modewhich workflow to run (see the table above)
queriessearch phrases, one per row β€” marketing, #travel, ai startup
usernamescreators to pull β€” username, @handle, or profile URL
directUrlspaste Instagram/Threads profile, post or hashtag URLs; routed to the right scraper automatically
searchSortorder search results top (relevant) or recent (newest)
onlyPostsNewerThankeep only posts newer than a date, an ISO timestamp, or a relative value (7 days, 2 months, 1 year)
maxResultshard stop for the whole run
resultsLimitposts per profile, or hits per query
maxResultsPerQuery / maxPostsPerProfileadvanced per-target overrides
proxyConfigurationoptional proxy (residential recommended for the largest runs)
rawOutputkeep the untouched source payload alongside the clean row

πŸ§ͺ Recipes

Find creators in a niche, with their Threads presence

{ "mode": "INSTAGRAM_SEARCH", "queries": ["sustainable fashion"], "maxResults": 200 }

Filter to type = account, then to hasThreadsProfile = true.

Track a topic on Threads and rank by engagement

{ "mode": "THREADS_SEARCH", "queries": ["ai regulation"], "searchSort": "recent", "maxResults": 300 }

Filter to type = post and sort by likesCount or repostCount.

Pull a creator's recent posts from the last 3 months

{ "mode": "INSTAGRAM_POSTS", "usernames": ["natgeo"], "resultsLimit": 30, "onlyPostsNewerThan": "3 months" }

Compare a creator across both platforms

{ "mode": "PROFILE_COMPARISON", "usernames": ["nike"] }

Just paste links

{ "mode": "META_SEARCH", "directUrls": ["https://www.instagram.com/natgeo/", "https://www.threads.com/@zuck", "https://www.instagram.com/explore/tags/travel/"] }

βš™οΈ Notes & limits

  • Signed-in search is managed for you and spreads across a rotating session pool with built-in pacing, so no single account is hammered.
  • Instagram profiles & posts come from public sources, so follower counts, bios and media are returned without touching any account. Some fields that Instagram now exposes only behind its throttled private API (business category, business e-mail) are therefore not returned for Instagram; Threads returns its full bio-link and contact set.
  • Instagram occasionally omits a profile's recent media from its public payload; when that happens the profile row is still returned with its counts.
  • Empty fields simply mean the platform did not expose that value for that item.