Instagram Hashtag Scraper

Instagram hashtag contest: how to run one and collect every entry

Published

An Instagram hashtag contest works when you choose a tag nobody else uses, publish rules with a clear start and end time, and then collect every public post on that tag inside that window before you judge. The first two steps are planning. The third is where most contests go wrong, because the hashtag page shows a scrolling feed and a contest needs a complete list. This guide covers the whole job: the rules Instagram asks you to include, choosing the tag, collecting the entries by hand or as a spreadsheet, checking them against your rules and picking a winner you can defend.

What an Instagram hashtag contest is

In a hashtag contest, people enter by posting a photo, carousel or Reel with your contest tag in the caption. You do not have to watch notifications, because the tag itself becomes the entry box. That makes it a good fit for:

It is a different shape from a "tag a friend" or "comment to win" giveaway. Those entries live in the comments of one of your posts. A hashtag contest's entries live on the hashtag page, spread across other people's accounts, and nothing tells you when a new one arrives.

Step 1: write the rules before you announce anything

Instagram puts the responsibility for the promotion on you. Its Promotion Guidelines, as of September 2026, say:

If you use Instagram to communicate or administer a promotion (example: a contest or sweepstakes, among others), you are responsible for the lawful operation of that promotion

The same page says promotions on Instagram must include "a complete release of Instagram by each entrant or participant" and an "acknowledgement that the promotion is in no way sponsored, endorsed or administered by, or associated with, Instagram." It also asks you not to encourage people to tag content inaccurately. Read the current guidelines yourself before launch, since they can change, and check the promotion law where your entrants live.

Beyond Instagram's requirements, your rules should state:

RuleWhy it matters when you judge
Start and end time, with a time zoneDecides which posts count, and settles arguments about late entries
The exact hashtagMisspelled tags are the most common lost entry
Entries per personOne per account, or several, changes how you count
Account must be publicPosts from private profiles do not appear on hashtag pages
Eligibility (age, country)Lets you disqualify fairly
How the winner is chosenRandom draw, judged by a panel, or most liked
When and how you contact the winnerProtects you if they never reply

Put the end time in one time zone and say which. Instagram records post times in UTC, and "Sunday midnight" means different moments in different places.

Step 2: choose a hashtag only your contest uses

The contest tag is your collection bin, so it should hold nothing but entries:

  1. Search it on Instagram first. If it already has posts from other people, pick another, or you will be sorting strangers' photos out of your entries.
  2. Make it specific to this contest. #yourbrandsummershots is easy to collect. #summer is impossible.
  3. Keep it separate from your evergreen brand tag, so the contest has a clean start and a clean finish.
  4. Test it. Post one entry from a staff account before launch and check that it appears on the tag's page.

To see how busy a candidate tag already is, the free hashtag checker reads its recent posts and shows how often it is used.

Step 3: collect the entries

This is the step that decides whether your contest is fair. There are two ways to do it.

The manual way, in the app

For a small contest, the app is enough:

  1. Open the contest hashtag and switch to the most recent posts.
  2. For every post, copy its link, the username and the date into a sheet.
  3. Keep going until you reach posts from before the start time.
  4. Do it again after the end time, because late posts from before the deadline can still appear.

Record the link and the username the moment you see a post. A screenshot without them is an entry you cannot verify or contact.

When the manual way is enough

Collecting by hand is fine when:

It stops working when entries reach the hundreds, when the contest runs for weeks, or when you need to show someone how the winner was picked.

Collect the entries as a spreadsheet

The repeatable version replaces the scrolling with a download. The Instagram Hashtag Scraper reads one hashtag and writes its posts to a dataset, one row per post, newest first. A contest has an exact window, and the scraper has two fields made for that:

  1. Set Hashtag to your contest tag, without the #.
  2. Set Only posts newer than to the contest's start time, for example 2026-10-01T00:00:00Z.
  3. Set Only posts older than to the end time. Posts after the deadline are skipped.
  4. Set Maximum posts above the number of entries you expect. The limit is exact, so the run never delivers more than you asked for.
  5. Paste the session cookie of an Instagram account you control. Instagram only serves hashtag posts to signed-in requests, and the step-by-step scraping guide shows where to find the cookie.
  6. Run it and export the dataset as CSV or Excel.

The run stops when the feed reaches your start date, so posts from before the contest are never read. It charges $0.0005 per post delivered to your dataset, so a contest with 600 entries costs $0.30 to collect, and a run that finds nothing costs nothing.

The fields you will judge with:

FieldWhat you use it for
ownerUsernameCounting entries per person and contacting the winner
urlOpening the entry to check it
takenAtChecking it was posted inside the window, in UTC
captionChecking the tag was used as the rules ask
hashtagsSpotting entries stuffed with unrelated tags
mediaTypePhoto, carousel or video, if your rules name a format
likeCountFor a "most liked" contest, read at the moment of the run

If you want a sheet you can open straight away, the Excel export guide covers getting the dataset in cleanly.

Step 4: check every entry against the rules

With the entries in a sheet, add a Valid column and a Reason column, then work through them:

  1. Remove your own accounts and your team's by ownerUsername.
  2. Apply the entries-per-person rule. Sort by ownerUsername. If the rule is one entry each, keep the earliest post per account and mark the rest as duplicates.
  3. Check the time. Sort by takenAt and confirm the first and last rows sit inside the window.
  4. Check the content. Open anything that looks off. An entry that breaks the rules gets a reason written next to it, so you can explain the decision if asked.

Keep the sheet after the contest. A written list of every entry and every disqualification is your answer when someone asks why they did not win.

Step 5: pick the winner

How you pick depends on what your rules promised:

Then contact the winner the way your rules said you would, and give them the time your rules allowed to reply.

Hand counting against a spreadsheet

Scrolling the hashtag pageSpreadsheet from the scraper
Good forUp to a few dozen entriesHundreds or thousands
Contest windowYou stop scrolling by eyeStart and end dates are inputs
Entries per personCounted by handSort by ownerUsername
Audit trailWhatever you copiedEvery entry as a row
CostYour time$0.0005 per post delivered

What a hashtag read cannot collect

Plan your rules around these so nobody's entry is lost silently:

The limits page lists the rest, and the output page shows a full sample row.

After the contest

The entries are also a collection of posts about your brand. If you want to reuse any of them, ask each creator first, since entering a contest is not permission to appear in your ads. The guide to collecting user generated content on Instagram covers asking for and recording that permission.

The short version

An Instagram hashtag contest needs three things: rules with a start time, an end time and Instagram's required release, a tag only your contest uses, and a complete list of entries from inside that window. Scroll the tag by hand when entries are few. When they are many, or when you need to show your working, run the scraper with the contest's start and end dates and judge the whole list in one sheet.

All articles