How to search multiple hashtags on Instagram at once
Published
Instagram cannot search multiple hashtags at once. Every hashtag has its own page, and there is no page for "posts tagged both #a and #b". To find posts that carry several hashtags together, you open one tag, read its posts into a list, and keep only the rows whose captions also carry the other tags. For a quiet tag you can do that by eye in the app. For a busy one you need the posts as rows, and then the filter takes a minute. This guide covers both, in that order, and says when the manual way is enough.
Why Instagram search takes one hashtag at a time
Type two hashtags into the Instagram search box and you get suggestions: tag pages, accounts, maybe audio. Pick one and you land on that single tag's page. The second tag you typed is simply ignored.
That makes sense for browsing. A tag page is a showcase of what Instagram thinks is worth seeing under that tag, ranked rather than listed. It becomes a problem when the question is about a combination:
- a brand running a campaign that asks entrants to use both the brand tag and the campaign tag;
- a researcher who wants posts about one subject in one place, such as #coffee together with #tokyo;
- a community manager checking which posts under a big tag also mention a partner's tag;
- a marketer looking for creators who post in two niches at once.
Each of these is an intersection: posts that carry tag A and tag B. Instagram gives you A, or B, never both.
The three ways to search multiple hashtags
| Method | Works for | What you get | Effort |
|---|---|---|---|
| Scroll one tag in the app | Quiet tags, a few dozen posts | What you remember seeing | High, by eye |
| Search the rarer tag, read captions | Two tags where one is small | A short list you copy by hand | Medium |
| Read one tag into rows, filter the rest | Any tag size, three or more tags | A spreadsheet of matching posts | Low once set up |
The rest of this article walks through each one.
Method 1: scroll one tag and check captions
This is the way to start when the tags are small.
- Open Instagram and tap the search icon.
- Type the first hashtag, including the
#, and open the tag page. - Open each post and read its caption for the second hashtag.
- Note or save the posts that carry both.
It works, and it costs nothing. It stops working quickly for three reasons:
- The tag page is a selection, not the full list. It mixes recent posts with older popular ones and does not promise to show every post. Our guide on how to see all posts under a hashtag covers what the page leaves out.
- Captions are hidden behind a tap. On the grid you see images, so every check is one open and one close.
- There is no record. When you are done you have a memory of what matched, or a handful of screenshots.
Method 2: start from the rarer hashtag
If one of your tags is much smaller than the other, always search from the small one. A campaign tag such as #brandsummerdrop2026 may have a few hundred posts, while #summer has many millions. The posts carrying both are, by definition, all inside the small tag, so the small tag is the only one you need to read.
- Decide which tag is rarer. The tag page usually shows a post count under the name.
- Open that tag's page.
- Check each post's caption for the bigger tag, or for every other tag on your list.
This one choice matters more than anything else in the whole job. Reading the small tag first turns an impossible scroll into a short one. It is also the rule the faster method below relies on.
It is still manual, and it still reads the ranked tag page rather than the full feed, so it is right for a one-off check on a small campaign and wrong for anything you need to repeat or report on.
Method 3: read one hashtag into rows, then filter by the others
When the tag has more posts than you want to open one by one, or when you need a list you can share, move the job into a spreadsheet. The idea is the same as Method 2, done by a machine:
- Pick the rarest tag in your combination.
- Read that tag's recent posts into rows, one row per post, with the caption and its hashtags.
- Filter the rows to those whose captions also carry every other tag you care about.
The Instagram Hashtag Scraper does step 2. You give it one hashtag, an exact maximum number of posts, and optionally a date window. It returns each post as a row with the link, the date, the author, the caption, the like and comment counts, the media type and a hashtags field listing every hashtag written in the caption, lowercased and without the #. The output page lists every field.
It runs on Apify and needs the session cookie of an Instagram account you control, because Instagram serves hashtag posts only to a signed-in visitor. You pay per post delivered and never for more than the limit you set; the overview shows the price per post.
Filtering the rows in a spreadsheet
Export the run as CSV or Excel and open it. Then, for a combination such as #coffee plus #tokyo, with #coffee read into rows:
- Find the
captioncolumn. It holds the caption text, tags included. - Add a filter to the header row.
- Use a text filter of "contains" with
#tokyo. - For a third tag, add a helper column that checks for it, and filter on that as well.
A spreadsheet export spreads the hashtags list across numbered columns (hashtags/0, hashtags/1 and so on), which is awkward to filter, so the caption is the easier column to test. In Google Sheets or Excel a helper column can hold a formula like =AND(ISNUMBER(SEARCH("#tokyo",E2)),ISNUMBER(SEARCH("#latte",E2))) where column E is the caption. Filter that column to TRUE and you have every post carrying all three tags. If you export JSON instead, each post's hashtags is a clean list and a short script can test it directly. Watch for partial matches: a search for #tokyo also matches #tokyofood. When that matters, check the matches by eye or test the JSON hashtags list, which holds whole tags. Our guide to exporting Instagram posts to Excel covers opening, sorting and counting an export.
Searching "either tag" instead of "both tags"
Sometimes the question is the union rather than the intersection: every post that uses #brandname or #brandcampaign. Run the tool once per tag, paste the two exports into one sheet, then remove duplicates on the shortcode column. A post carrying both tags appears in both runs, and the shortcode is the same in each, so one pass of "remove duplicates" leaves each post once.
What the filter can and cannot see
Being clear about the limits saves a wrong conclusion later.
- Only caption hashtags are listed. Many accounts put their tags in the first comment instead of the caption. Those posts do appear under the tag on Instagram, and they will appear in your rows, but neither their caption nor their
hashtagsfield will show the tags from the comment. If a post you expect is missing from your filtered list, check whether its author tags in comments. - The run reads recent posts. It walks the tag's feed newest first and stops at your limit or your date. For "posts carrying both tags last month", set the date window and the limit together. Our guide on searching Instagram posts by date explains the window.
- Private accounts are not included, in the app or in the rows.
- Spreadsheet text filters ignore case, so
#TokyoCoffeeand#tokyocoffeematch the same filter, and thehashtagslist is lowercased too. That is usually what you want.
When the manual way is enough
You do not need rows for every question. Stay in the app when:
- the rarer tag has a few dozen posts and you need the answer once;
- you are looking for inspiration rather than a count, so missing a post costs nothing;
- the answer does not need to be shared, repeated next week or kept as evidence.
Move to rows when the rarer tag still has hundreds of posts, when you need three or more tags at once, when someone else needs the list, or when the same check will run again. A contest with a deadline is the classic case: you want every entry that used both required tags, captured on the day, in a file you can keep. Our guide on collecting user generated content covers that workflow from start to finish.
A worked example
Say a café chain ran a September promotion asking customers to post with both #cafenamesept and #latteart.
- #latteart is huge and #cafenamesept is small, so #cafenamesept is the tag to read.
- Run the scraper on
cafenamesept, limit 500, only posts newer than 1 September. - Export as CSV and open it in a spreadsheet.
- Filter the
captioncolumn to rows containing#latteart. - Sort by
takenAtto see entries in date order, or bylikeCountto shortlist.
The result is every qualifying entry that tagged both in the caption, with a link to each post, in one sheet. Posts that tagged only one of the two are easy to find too: they are the rows the filter hid.
Summary
- Instagram shows one hashtag per page and has no search for posts carrying several tags together.
- Always start from the rarest tag in your combination, because every match lives inside it.
- For small tags, read captions in the app. For anything larger or repeatable, read the rarer tag into rows and filter on the other tags.
- For "either tag", run each tag and remove duplicates on the post's shortcode.
If you want to try the rows method, the Instagram Hashtag Scraper takes one hashtag, an exact limit and a date window, and the getting started guide walks through the first run.