A reviewer checks public creator cards and short video cards in a grid, then selects a small creator list.
Review topic fit before selecting a creator.

A Reel is a short public video on Instagram. A creator is the account that posted the Reel. A candidate shortlist is a small set of creators you save for more review. It is not a list of partners.

Topic fit means the content matches the subject and the audience you wrote down before you searched. A handle is the account's public name. Search position is the place of a Reel in one result list. A high position does not prove topic fit. One popular Reel does not prove it either. Two topic samples do not prove that a creator suits a partnership.

Public keyword search can return few rows or none. It cannot list every creator for a topic. It cannot list the creators in a city. If city is part of your goal, keep city as an open review field. This search has no city input. It cannot prove you found the creators in that city. A city tag on a Reel is not proof of where a person lives.

You can do the review steps with any careful export of public Reels. The checked collection tool below is one way to get the rows. You still judge every row yourself.

What one search returns

An Actor is a hosted program that collects public data. The Instagram Search Actor collects public Reels for one text query. A query is the exact phrase you search. The checked version is 1.0.7. That version has three inputs: `query`, `maxResults`, and `includeMetrics`.

You run one plain query at a time. `maxResults` is the most Reels to collect. The allowed range is 1 to 64. `includeMetrics` asks for extra creator fields. You may not get those extra fields. Enrichment means those extra fields were added to the row. Partial enrichment means the extra fields are incomplete. Failed enrichment means they are missing.

A Task is a saved set of inputs for an Actor. The saved Task is the Instagram Reels Creator Discovery Search Dataset. It currently stores this input:

json
{
  "query": "fitness creator",
  "maxResults": 64,
  "includeMetrics": true
}
What one search returns

That saved input is only a sample. Replace `fitness creator` with your own topic phrase. Start with 3 results, not 64. The sample phrase names a type of person. A narrow phrase about the problem a creator teaches is more useful. The Actor page is the Instagram Search Scraper.

There is no checked input for city, follower count, how new a Reel is, or where the audience lives. The Actor does not return a follower list. It does not return exact audience facts. It does not rank creator quality. It does not score who suits a partnership. It does not check a contact path. It does not send messages.

This method does not build a full city creator list. It does not build a follower list. It does not send contact for you. It does not make a sponsor packet.

Each row is one discovered public Reel for that query. A row is not one unique creator. The same creator can have many rows. The same Reel can return again under a second query. That second hit is a repeated query hit. It is not a new Reel.

Keep these fields from each row:

What one search returns
FieldWhat it holds
searchQueryThe phrase used for that run
searchRankPlace in that result list. This is the search position.
postIdThe Reel id
shortCodeThe short public code of the Reel
postUrlThe public link of the Reel
captionThe text posted with the Reel
profileIdThe creator id, when present
profileHandleThe public account name. This is the handle.
profileNameThe display name
profileUrlThe public profile link
metricEnrichmentStatusWhether the extra creator fields came back
statusWhether the row completed
statusReasonThe reason for that status
scrapedAtWhen the row was collected

A field can be present and still be null. Null means the value is missing. Null is not zero. Do not treat a missing creator id as a creator named null.

Set `includeMetrics` to true when you want the extra creator fields. A checked three-row test of this Actor still had mixed results. It saved three unique Reels. Two enrichments succeeded. One enrichment was partial or failed. Keep the Reel facts if enrichment fails. Write unknown for creator fields that did not return.

`scrapedAt` is the collection time. It is not the time the Reel was published. In that same test, the publication dates were older than the collection. A new run can return old Reels. Open the Reel before you call it recent.

An empty result means this run showed no public rows for the phrase. It does not prove that the topic is absent. It does not prove that creators are absent.

A different article is for a reusable library of topic Reels: topic Reel library. Use that when you want to keep the content set. Use this article when you want a creator decision table. Do not add format tags here. Do not pick new content angles here.

Write your topic rules first

Do this before you search.

  1. Write the topic in one sentence.
  2. Write the audience.
  3. Write the language you need.
  4. Write two examples of a Reel that counts.
  5. Write two examples of a Reel that does not count.
  6. Decide whether city is required.
  7. If city is required, add a location column. Leave it unknown until the creator states a city in words.

A word in a caption can be a weak match or a wrong match. Your examples keep that call the same from row to row.

A public question asks for Instagram profiles by keywords and by city. You can read it here: public question on profile filters. This method can start the keyword part. It cannot produce the city-wide list.

Collect a small set

  1. Choose two or three narrow phrases. Each phrase should name a problem the creator teaches.
  2. Record the phrase, the collection time, and the result limit before you run it.
  3. Start small. Use a limit of 3 on the first run.
  4. Run one phrase at a time. Save each query with its own run.
  5. Keep one source export untouched. Copy it into a working table for review.

A broad name for a type of person pulls in many weak matches. Prefer the concrete problem. For a later phrase, start a new run. Do not mix two phrases in one query. Record the second phrase on its own rows.

Open the Instagram Reels Creator Discovery Search Dataset. Replace the sample phrase. Set the limit to 3. Set `includeMetrics` to true. Copy this shape, then put your phrase in `query`:

json
{
  "query": "your narrow topic phrase",
  "maxResults": 3,
  "includeMetrics": true
}
Collect a small set

Do not run the placeholder words. Replace them first.

If you are not using the Actor, save the same fields from the public Reels you open. The review rules below stay the same.

Review every Reel

In the working table, add a reason for every row. Keep these notes:

Review every Reel
NoteWhat you write
Fits topicYes or no
ReasonWhy you include or exclude the Reel
Reel link`postUrl` from the row
Reel id`postId` and `shortCode`
Creator id`profileId`, or unresolved

Read the caption and the Reel. Do not stop at one shared word. A caption can use your word and still teach something else. Exclude that row and keep the reason.

Do not count a failed or partial row as an irrelevant creator. If the Reel was not available, mark the row unavailable. Unavailable is not a no.

Group rows by creator id

A key is the value you use to group rows. Group the relevant rows by `profileId` when that value is present. That id is the key.

If `profileId` is missing but `profileUrl` is present, use `profileUrl` as a temporary key. Say in your notes that the key is temporary.

`profileHandle` and `profileName` are notes. Do not use them as the group key. Two accounts can show similar names. Do not merge them for that reason. A handle can also change.

If `profileId` and `profileUrl` are both missing, put the row in an unresolved group. Do not invent a creator. Do not join that row to a named account because the topic looks similar.

Count distinct Reels

Count distinct relevant Reels for each creator after you remove repeats.

A distinct Reel is one post. Use `postId` when you have it. Use `shortCode` when you need a second check. If `postId` is missing, use a checked `shortCode` or a verified source identity. If the same post appears in two queries, count it once. A repeated query hit shows that another query found the same Reel. It is not a second piece of content.

If there is no safe Reel identity, keep the observations separate. Label them identity unresolved. Do not merge blanks. Do not call those observations proved unique Reels.

You can use a sample rule for a first sort. A useful sample rule is two distinct relevant Reels. This rule only organizes the first sort. It is not a quality score. Two topic samples do not prove that a creator suits a partnership.

Creators with too little evidence stay pending. Unresolved rows stay unresolved.

Check profiles by hand

No second Actor is required. Open the public profile and a few recent topic Reels yourself.

For each candidate, record:

  • the date you checked
  • the topic evidence you saw
  • the language
  • a partnership label, if you can see one
  • location, only when the creator states it in words

If you see a partnership label, write it down. If you are not sure, write unknown. Do not guess a hidden deal.

Keep unclear facts unknown. Unknown is not a no, and it is not zero.

Do not guess a home from a location tag. Do not guess the audience from a city the creator named. A tag can name a place in the story. A tag can also be wrong. If the creator does not state the city, leave location unknown.

Recent collection is not a recent post. Use the dates on the Reels you opened. If you could not finish that check, write pending. Do not guess.

This review does not verify an email or a manager. It does not watch the profile over time. It does not measure performance. It does not start contact.

Set the candidate shortlist

Pick a small set. Write the reason for each creator. Use only these four decisions:

Set the candidate shortlist
DecisionWhen to use it
shortlistThe evidence is ready for the next research step
pendingSome evidence fits, but a required check is still open
excludedThe content does not meet your written rule
unresolvedThe Reel fits. The row is unresolved when it has no checked profileId and no usable checked profileUrl. A missing stable ID alone does not make the row unresolved. A checked available profileUrl can support provisional grouping.

Use different exclude reasons when the reasons differ. A fast clip and a sales advert fail in different ways. Do not hide that split.

The table supports more review. It does not approve contact. It does not support a sales claim. Search position, one popular Reel, and two topic samples still do not prove that a creator suits a partnership.

Fictional example: bicycle repair

The bicycle example below is fully fictional. It shows the counts. It is not a real run. It is not a real set of accounts. P-A, P-B, P-C, P-D, and R1 to R7 are lesson labels, not public account names. Source links are left out on purpose. Do not treat any label here as a real Instagram account.

The topic written first is repair advice for beginner bicycle owners. The language is the language chosen before the search. City is a review field, not a search filter.

Two fictional queries were collected. Batch A uses the phrase bicycle puncture repair. Its rows are A1 to A4. Batch B uses the phrase bike brake adjustment. Its rows are B1 to B4. The set has eight rows.

Fictional example: bicycle repair
RowQueryCreatorReelWhat it showsReview
A1bicycle puncture repairP-AR1puncture repairrelevant
A2bicycle puncture repairP-AR2patch versus replacementrelevant
A3bicycle puncture repairP-BR3brake adjustmentrelevant
A4bicycle puncture repairP-CR4fast downhill clipunrelated
B1bike brake adjustmentP-AR1same puncture Reel as A1relevant duplicate
B2bike brake adjustmentP-BR5brake checkrelevant
B3bike brake adjustmentP-DR6repair advert with no teachingexcluded
B4bike brake adjustmentunknownR7puncture stepsrelevant, creator missing

A3 came back under the puncture phrase, but the Reel teaches brake adjustment. The topic rule includes basic repair, so A3 stays relevant. B1 came back under the brake phrase, but it is the same Reel as A1.

Eight rows contain seven unique Reels. B1 repeats R1, so R1 counts once. The seven Reel ids are R1, R2, R3, R4, R5, R6, and R7.

Five of those Reels are relevant: R1, R2, R3, R5, and R7. R4 is a downhill clip. It does not teach a repair, so it is out. R6 is a repair advert with no explanation. It is out for a different reason. The written rule asked for teaching, not a product claim.

Four relevant Reels have a creator id: R1, R2, R3, and R5. Those four belong to two creators. P-A has R1 and R2. P-B has R3 and R5. R7 is the fifth relevant Reel. Its creator is unknown. R7 is not a third verified person.

P-A appears on three rows: A1, A2, and B1. B1 repeats R1. P-A still has two distinct relevant Reels. P-B appears on two rows and has two distinct relevant Reels.

The fictional profile check says this. P-A teaches basic repairs in the target language. That profile check is complete. P-B has useful brake content. The recent-post check for P-B is not done. Both city values are unknown. Nothing on the rows states a city. P-C is excluded because the clip is unrelated. P-D is excluded because the advert does not teach the repair.

Fictional example: bicycle repair
CreatorDistinct relevant ReelsTopic fitReview stateLocationDecision
P-A2basic repair fitmanual review completeunknownshortlist
P-B2brake fitrecent review pendingunknownpending
unknown1puncture fitidentity unresolvedunknownunresolved

Shortlist P-A for the next research step. Keep P-B pending until the recent Reels are checked. Resolve R7 before you add any creator. Do not join R7 to P-A, or to anyone else, by a similar topic or a similar name.

Do not claim sales from these rows. Do not claim how many people saw a Reel. Do not claim follower quality. Do not claim a partnership fit. Do not claim city coverage. Two fitting Reels put P-A on the next research step only. They do not prove that P-A suits a partnership.

This fictional set has no unavailable row. In a real run, do not call a creator irrelevant because a row failed to load.

Why a row percent misleads

A single percent across all eight rows mixes different things.

Eight is the number of query hits. It is not the number of creators. It is not even the number of Reels. One hit, B1, repeats R1.

Six rows look relevant if the duplicate stays in the row count. Those rows are A1, A2, A3, B1, B2, and B4. That six counts the same Reel twice. The distinct relevant Reel count is five, not six.

Those five Reels are not five observed creator accounts. Four of them map to two observed creator accounts. The fifth Reel, R7, has no creator id.

P-C and P-D are both excluded, but not for the same reason. A row percent hides that split. It also hides the difference between query hits and observed creator accounts.

Why a row percent misleads
CountValuePlain meaning
Rows collected8Every query hit
Unique Reels7The repeat of R1 is removed
Unique relevant Reels5R1, R2, R3, R5, and R7
Identified relevant Reels4R7 is not included
Identified candidate creators2P-A and P-B
Unresolved relevant Reels1R7 only

Use the creator table for the decision. Do not report a relevance percent in place of that table.

Sources & further reading

By Chronometrica · Updated

Back to top ↑