Instagram Search Scraper - Users, Hashtags, Places

Eimantas V · @amethyst

Search Instagram by keyword without logging in: profiles with exact followers, hashtags with post counts, places with addresses, and popular reels.

About

Instagram Search Scraper searches Instagram the way its search box does: enter a keyword and get matching profiles (with exact follower counts), hashtags (with post counts), places (with address, phone and coordinates) or popular reels (with plays, likes and comments). No login, no API key, no browser.

profile   zing.coach                Zing Fitness Coach        180,267 followers   facebook.com/ZingFitnessCoach
hashtag   #streetfoodindia          1.5M posts                frequent
place     Bakeshop Praha            Bakery · Kozi 918/1, 110 00 · +420 222 316 823 · 50.0897, 14.4224
reel      instagram.com/reel/DH_6ylByiUa   @mikeyteetimes   7.1M plays · 104,305 likes · 334 comments

1,315 profiles for 5 keywords in 59 seconds; 220 hashtags in 7 seconds; 450 popular reels with full details in about 2 minutes.

What does Instagram Search Scraper do?

Instagram Search Scraper turns keywords into Instagram data. Pick one search type per run, add as many keywords as you like, and set how many results you want for each. Each row says which keyword found it, so one run can research a whole niche, city or product category.

  • Profiles by keyword. Accounts matching your words, with exact follower counts, the verified badge, category and the linked Facebook Page. Turn on Profile details for the bio, emails and phones from the bio, website links, following and post counts, and engagement over the 12 latest reels.
  • Hashtags by keyword. Up to hundreds of hashtags per keyword with their exact post counts and a frequent / average / rare label, for picking hashtags that fit your reach.
  • Places by keyword. Restaurants, shops, venues and other locations with address, postal code, phone, category, price range, coordinates, opening status and their top posts.
  • Popular reels by keyword. The reels Instagram shows as top results for a keyword, with plays, creator and caption. Turn on Reel details for likes, comments, exact date, music, location, tagged users and the newest comments.
  • Related searches. When a keyword has fewer results than you asked for, the Actor also searches Instagram's own related keywords (cakes prague → chimney cake prague, cake prague) and keeps only those that still contain all your words.
  • Clear errors, no duplicates. Keywords with no results or that Instagram refuses return an error row instead of failing the run, and results already delivered earlier in the run are skipped.
  • Built for automation. Run it on a schedule, call it from the API, or connect it to an AI agent through the Bytewells MCP server.

Why it is fast and cheap

Instagram's own search box needs a login, so this Actor reads the public pages and endpoints that answer the same questions without one: Meta's advertiser search (it links Facebook Pages to their Instagram accounts and shows exact follower counts), Instagram's hashtag search, its public popular-reels pages and its location pages. Everything goes over plain HTTP from the platform's own addresses, with no browser and no paid proxy, so a search takes seconds and costs a fraction of a cent. Only the optional Profile details uses residential addresses, because Instagram shows full profiles to nobody else; it is the one option that adds residential proxy traffic to a run.

What data can you extract from Instagram search?

Every row starts with recordType (profile, hashtag, place or reel), searchTerm (your keyword as you typed it), matchedQuery (the keyword or related keyword that found it), searchSource, rank and url.

Profiles (search type "Profiles")
FieldExampleWhat it is
usernamecakeshoppragueInstagram username
fullNameCakeShop PragueDisplay name (the linked Facebook Page's name until details are read)
followersCount4525Exact follower count
isVerifiedfalseVerified badge
categoryCoffee shopCategory of the linked Facebook Page
facebookPageUrl, facebookPageLikesfacebook.com/cakeshopprague, 941The linked Facebook Page
foundInReelinstagram.com/reel/DPm3nJDCdRw/For creators of the keyword's popular reels
biography, emails, phones100% Vegan Bakery... Email [email protected]With Profile details: bio and the contacts written in it
followsCount, postsCount, isPrivate1540, 9891, falseWith Profile details
externalUrl, externalUrlshappyzoeveganbakery.comWith Profile details: the bio links
avgReelLikes, avgReelPlays, engagementRate, reelsPerWeek15, 671, 0.058, 11.54With Profile details: from the 12 latest reels
latestReels12 reelsWith Profile details: plays, likes, comments, caption, date, media
Hashtags (search type "Hashtags")
FieldExampleWhat it is
namestreetfoodindiaThe hashtag, without #
postsCount1575920Exact number of posts using it
postsCountText1.5M postsInstagram's rounded count
popularityfrequentfrequent (1M+ posts), average (100k-1M) or rare (under 100k)
Places (search type "Places")
FieldExampleWhat it is
name, categoryBakeshop Praha, BakeryPlace name and category
address, zip, cityKozi 918/1, 110 00Address as Instagram has it (city is usually empty: Instagram rarely fills it)
phone, priceRange+420 222 316 823, 3Phone, price range 1-4
lat, lng50.0897287, 14.42240711Coordinates
postsCount, openingStatus3082, Open until 9:00 PMPosts tagged there, opening status at run time
instagramUsername, followersCountcakeshopprague, 4525The place's own Instagram account, when it has one
topPosts12-18 postsThe posts shown on its location page, with likes, comments, date and author
Popular reels (search type "Popular reels")
FieldExampleWhat it is
url, shortCodeinstagram.com/reel/DH_6ylByiUa/The reel
ownerUsername, ownerIsVerifiedmikeyteetimes, trueThe creator
playCount, timestamp7119750, 2025-04-03T21:00:00ZPlays and publish time
caption, hashtags, mentionsThe best drill to perfect your backswing...Caption and what it tags
displayUrl, videoUrlCDN linksThumbnail and video file
likesCount, commentsCount104305, 334With Reel details
musicInfo, locationName, taggedUsers, coauthorsSunny Bossa, BostonWith Reel details
latestComments10-15 commentsWith Reel details: the newest comments, with author, likes and date

How to scrape Instagram search results

  1. Click Try for free and enter your keywords in Search terms, one per line (restaurant prague, fitness coach, #vegan). Instagram links work too: a popular page, a hashtag page or a location page.
  2. Choose the Search type: Profiles, Hashtags, Places or Popular reels.
  3. Set Results per search term and Max results, which caps the whole run.
  4. Click Start. Most searches take a few seconds per keyword. Read the results from the run's dataset as JSON.

How much does it cost to scrape Instagram search results?

One flat monthly rental, shown on this page, with a free trial. There is no per-result fee: scrape as many results as you need.

Runs use your credits for compute and proxy traffic, as every Actor does. Searches run from the platform's own addresses without a residential proxy; only the optional Profile details uses residential traffic. Measured on Bytewells: a profile search in 8 seconds at 1 GB for $0.0003 of credits.

Input

{
    "searchTerms": ["restaurant prague", "coffee shop london"],
    "searchType": "user",
    "searchLimit": 50,
    "maxItems": 1000,
    "includeRelated": true,
    "profileDetails": false
}
FieldDefaultNotes
Search termsrestaurant pragueKeywords, #hashtags or Instagram links, one per line
Search typeProfilesProfiles, Hashtags, Places or Popular reels
Search terms (comma-separated)emptyThe same, as one line: inputs written for apify/instagram-search-scraper (search, searchType, searchLimit) work unchanged
Results per search term50Up to 1,000
Max results1,000Total across all keywords
Related searchesonFills each keyword's limit from Instagram's related keywords
Profile detailsoffProfiles only; reads each profile over the residential proxy
Reel detailsoffPopular reels only; about a second per reel
Top posts of placesonPlaces only

Output

Each result is one row in the dataset. The dataset has a view per search type (Profiles, Hashtags, Places, Popular reels) and one for errors; every export includes all fields. A profile with Profile details:

{
    "recordType": "profile",
    "searchTerm": "vegan bakery",
    "matchedQuery": "Vegan Bakery",
    "searchSource": "popular-reels",
    "rank": 12,
    "username": "happyzoeveganbakery",
    "url": "https://www.instagram.com/happyzoeveganbakery/",
    "fullName": "Happy Zoe Vegan  Bakery",
    "followersCount": 25887,
    "isVerified": false,
    "category": "Dessert Shop",
    "id": "538591747",
    "facebookPageUrl": "https://www.facebook.com/happyzoeNY",
    "facebookPageLikes": 16137,
    "foundInReel": "https://www.instagram.com/reel/DPm3nJDCdRw/",
    "dataLevel": "full",
    "biography": "100% Vegan Bakery. Do you need a vegan birthday cake? Vegan Gluten free cake or cheesecake? Email [email protected]",
    "followsCount": 1540,
    "postsCount": 9891,
    "isPrivate": false,
    "externalUrl": "http://happyzoeveganbakery.com/",
    "emails": ["[email protected]"],
    "phones": ["+12019662263"],
    "latestReelAt": "2026-11-02T15:33:36.000Z",
    "avgReelLikes": 15,
    "avgReelPlays": 671,
    "engagementRate": 0.058,
    "reelsPerWeek": 11.54
}

A keyword that finds nothing, or cannot be read, becomes a row with "recordType": "error" and an errorCode instead of failing the whole run:

errorCodeMeaning
NO_RESULTSInstagram has nothing for this keyword in this search type; try fewer or more general words
NOT_FOUNDA pasted location link that does not exist
BLOCKED / RATE_LIMITEDInstagram refused every address the run tried; run it again later
SOURCE_CHANGEDInstagram or Meta changed a page this Actor reads; it needs an update

Tips and limits

  • Profiles and places are found by name. The search matches account and business names, so add the city or niche to the keyword (restaurant prague, dentist miami). Results whose name does not contain your words are left out.
  • Places in one city. "hotel paris" returns hotels with Paris in their name, almost all in Paris; when a keyword's own places sit in one area, places from its related searches outside that area are left out. Names travel, though: "Cafe London" and "Bar New York" exist in many countries and all match those keywords. Filter on lat and lng when you need one city only.
  • About 250 profiles per keyword. The keyword, its related keywords, the creators of its popular reels and the keyword followed by each letter (coffee a, coffee b...) together give about 200-300 accounts for a broad word; a narrow keyword gives fewer.
  • 12 popular reels per keyword page. Instagram shows logged-out visitors the top 12 reels of each keyword; related searches add 12 more per related keyword.
  • Places need an address. Brands and online shops that match your words but have no address are skipped.
  • Profile details are what Instagram shows logged-out visitors. Business emails and phones behind the profile's buttons stay hidden; the Actor returns the ones written in the bio and links. Private accounts have no reels to measure.

FAQ

Is it legal to scrape Instagram search results?

This Actor collects only data that Instagram and Meta show publicly, without logging in. Results can still contain personal data, which laws such as the GDPR protect. Scrape personal data only for a legitimate purpose, and ask a lawyer if you are unsure. Instagram and Facebook are trademarks of Meta; this Actor is not affiliated with or endorsed by them.

Can I use it through the API?

Yes. Every run can be started through the API and its dataset read as JSON. Runs can also be scheduled and can trigger webhooks.

Can AI agents use it?

Yes. Agents connected to the Bytewells MCP server can find and run this Actor as a tool.

Can I switch from apify/instagram-search-scraper?

Yes. Its input names (search as a comma-separated string, searchType with place, user, hashtag or popular, and searchLimit) work here unchanged. The output fields have their own names, listed above.

Why did I get fewer results than I asked for?

The keyword has fewer matches than your limit, or the run reached its timeout. The log says which, and nothing collected before that is lost.

Related scrapers

Support

Missing a field, or found a keyword that does not work? Report it with the input you used, and it will be looked at quickly.

FAQ

What can I search for on Instagram?
Four search types: profiles (accounts with exact follower counts), hashtags (with post counts), places (with address, phone and coordinates) and popular reels for a keyword. It can also follow Instagram's related searches, and full profile details (bio, emails, reels) are available on request.
Do I need an Instagram account or login?
No. Searches use what Instagram and Meta show to visitors who are not logged in. No account, cookies or API key are needed, so nothing can be banned.
How much does it cost?
One flat monthly rental, shown on this page, with a free trial and no per-result fee. Runs use your Bytewells credits for compute; searches need no residential proxy, only the optional Profile details does. Measured on Bytewells: a profile search in 8 seconds for $0.0003 of credits.
How many profiles can I get per keyword?
About 200-300 for a broad keyword. The Actor combines the keyword, its related keywords, the creators of its popular reels and letter variants (coffee a, coffee b...). A narrow keyword gives fewer. Popular reels come 12 per keyword, plus 12 per related keyword.
How do I find places in one city?
Add the city to the keyword, for example "dentist miami". Places are matched by name, and names like "Cafe London" exist in many countries, so filter on lat and lng when you need one city only. Places without an address are skipped.
Can I switch from apify/instagram-search-scraper?
Yes. Its input names (search as a comma-separated string, searchType with place, user, hashtag or popular, and searchLimit) work here unchanged. The output fields have their own names.
Can I use it through the API or from AI agents?
Yes. Start runs through the Bytewells API (bytewells.com/docs/api), schedule them and read the dataset as JSON; webhooks work too. The API is Apify-compatible, so apify-client works with the Bytewells base URL. AI agents can run it as a tool through the Bytewells MCP server (bytewells.com/docs/mcp).

More Actors from the same publisher.

View all from @amethyst