The agent returns only creators it checked on their own profile
Omni AI sends the agent a campaign brief. The agent then runs web searches to find candidate creators. It then opens each candidate's TikTok, Instagram or YouTube profile and checks the brief's rules on that page.
It reads the brief
The agent reads the niche, platforms, market, follower range, date and number of creators. A criterion that the brief leaves out stays empty. The agent never adds a default.
It finds candidates
The agent searches creator directories, rankings, trade press, platform search results and link-in-bio pages. It collects about twice as many candidates as the brief asks for.
It checks each profile
The agent opens each candidate's own profile. It reads the follower count, the stated location and the latest posts on that page.
Each creator passes four checks on its own profile
- The follower count on the profile falls inside the brief's range.
- The profile shows a post from on or after the brief's date. Pinned posts do not count.
- The bio, a post or the link-in-bio page names the creator's location.
- The account belongs to an individual creator. Shops, brands, fan pages and aggregator accounts fail this check.
A candidate who fails a check goes to the excluded list with the reason. Directories and rankings help the agent find candidates. The agent never takes a follower count or a post from them.
The agent returns four sections
| Section | What it holds |
|---|---|
| brief | The brief as the agent read it. Criteria that the brief left out stay empty. |
| creators | Creators who passed every check. Each one has a profile link, follower count, location, recent posts, linked platforms, the reason it fits and any missing fields. |
| excluded | Candidates who failed a check. Each one has the reason and what the agent saw, for example the follower count on the profile. |
| sources | The pages that the agent used to find candidates. |
The agent looks for candidates in five kinds of sources
| Source | Examples |
|---|---|
| Creator directories and rankings | Modash, HypeAuditor, Favikon, Social Blade, Feedspot and StarNgage. ChannelCrawler and Playboard cover YouTube. |
| Platform search | Web searches for TikTok and Instagram profiles in the niche, YouTube search results and TikTok Creative Center. |
| Trade and culture press | Hypebeast, Complex and Highsnobiety cover sneakers. Allure, Glossy and Byrdie cover beauty. Business of Fashion and Who What Wear cover fashion. |
| Link-in-bio pages | Linktree, Beacons and Stan pages connect the accounts of one creator. |
| Local-language search | A brief for a market outside the US also gets searches in that market's language. |
Call the agent by name with the brief as input
The agent stores its own instructions and output schema. A call from Omni AI therefore carries the agent's name and the brief. Each run returns a run ID that Omni AI polls until the run completes.
// Tool: nimble_agents_run. Leave skill and output_schema out: the agent stores both. { "agent_name": "omni_creator_finder", "input": "Find 5 US TikTok beauty and cosmetics creators with between 500,000 and 1,000,000 followers who posted on or after 2026-09-06." } // Then poll nimble_agents_run_status with the returned run id, // and read the creators with nimble_agents_run_result.
# 1. Start a run curl -X POST https://sdk.nimbleway.com/v2/agents/runs \ -H "Authorization: Bearer $NIMBLE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "agent_name": "omni_creator_finder", "input": "Find 5 US TikTok beauty and cosmetics creators with between 500,000 and 1,000,000 followers who posted on or after 2026-09-06." }' # The response holds the run "id" and the "web_search_agent_id". # 2. Poll until "status" is "completed" curl https://sdk.nimbleway.com/v2/agents/$AGENT_ID/runs/$RUN_ID \ -H "Authorization: Bearer $NIMBLE_API_KEY" # 3. Read the result: output.content holds brief, creators, excluded and sources curl https://sdk.nimbleway.com/v2/agents/$AGENT_ID/runs/$RUN_ID/result \ -H "Authorization: Bearer $NIMBLE_API_KEY"
import os, time, requests BASE = "https://sdk.nimbleway.com/v2" H = {"Authorization": f"Bearer {os.environ['NIMBLE_API_KEY']}"} run = requests.post(f"{BASE}/agents/runs", headers=H, json={ "agent_name": "omni_creator_finder", "input": brief, # the campaign brief, nothing else }).json() agent_id, run_id = run["web_search_agent_id"], run["id"] while requests.get(f"{BASE}/agents/{agent_id}/runs/{run_id}", headers=H).json()["status"] not in ("completed", "failed"): time.sleep(30) out = requests.get(f"{BASE}/agents/{agent_id}/runs/{run_id}/result", headers=H).json() creators = out["output"]["content"]["creators"]
We will create the agent in your Nimble account
The agent keeps the name omni_creator_finder in your account. The calls above then work without changes.
Agent configuration
The instructions and the output schema below are stored on the agent. They are here for reference.
Give every brief a niche, platforms, market, follower range and date
The agent checks each creator against the values in the brief. A brief without a follower range lets very large accounts through. A brief without a date lets inactive accounts through.
Template Find {count} {market} {platforms} creators focused on {niche} with between {floor} and {cap} followers who posted on or after {YYYY-MM-DD}. Example Find 5 US TikTok or Instagram creators focused on sneaker culture (reviews, styling, drops) with between 50,000 and 500,000 followers who posted on or after 2026-09-06.
| Field | Example | Without it |
|---|---|---|
| Niche | Sneaker culture: reviews, styling, drops | The agent returns status no_brief and searches nothing. |
| Platforms | TikTok or Instagram | The agent chooses the platforms where it finds candidates first. |
| Market | US, UK | The location check has no market to test against. |
| Follower range | 50,000 to 500,000 | Very large accounts pass the follower check. |
| Date | On or after 2026-09-06 | The recency check has no cutoff date. |
| Count | 5 | The agent decides how many creators to return. |
Practices for running the agent
Send only the brief
Omni AI's own workflow instructions stay inside Omni AI. The agent already holds its instructions and output schema.
Leave the output schema out of the run call
The stored schema already passes Nimble's validation. A schema written at run time can fail that validation and return HTTP 422.
Split a broad niche into sub-niches
Run one brief per sub-niche, such as sneaker reviews, streetwear styling and thrift hauls. Start the runs at the same time and merge the creators by handle.
Ask for about five creators per run
The agent opens every candidate's profile and posts. A short list leaves room for those checks within one run.
Read the excluded list
The list shows near misses, such as a creator just above the follower cap. A wider range in a second run brings them in.
Use high effort by default
The x-high run of the sneaker brief took a similar time. It returned a longer excluded list with the follower count seen for each candidate.
A run takes minutes
The test briefs took between about 5 and 20 minutes each. These times come from a sample of six runs and are not an average. Nimble Search suits questions that need an answer in about a second.
What the agent does not return yet
27 creators passed every check across 6 briefs
We ran six test briefs through the agent. We then read each returned follower count again with a separate Nimble call. Every second read matched the agent's count within 10%.