Docs › Creators · search

GET/v1/creators/search

creators/search

Filter and search the Swaypi creator index by platform, country, region, niche, follower band, engagement rate, quality score, and brand-safety flag. Returns up to 100 matching creators per request.

Written and maintained by the Swaypi API team.

Request

curl -G "https://api.swaypi.com/v1/creators/search" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d platform=tiktok \
  -d country=US \
  -d niche=beauty \
  -d min_followers=50000 \
  -d max_followers=500000 \
  -d min_engagement=0.03 \
  -d brand_safe_only=true \
  -d limit=20
import requests

resp = requests.get(
    "https://api.swaypi.com/v1/creators/search",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={
        "platform": "tiktok",
        "country": "US",
        "niche": "beauty",
        "min_followers": 50_000,
        "max_followers": 500_000,
        "min_engagement": 0.03,
        "brand_safe_only": True,
        "limit": 20,
    },
    timeout=10,
)
resp.raise_for_status()
for creator in resp.json()["results"]:
    print(creator["handle"], creator["followers"])
const params = new URLSearchParams({
  platform: "tiktok",
  country: "US",
  niche: "beauty",
  min_followers: "50000",
  max_followers: "500000",
  min_engagement: "0.03",
  brand_safe_only: "true",
  limit: "20",
});
const r = await fetch(
  `https://api.swaypi.com/v1/creators/search?${params}`,
  { headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
if (!r.ok) throw new Error(`Swaypi ${r.status}`);
const { results } = await r.json();
for (const c of results) console.log(c.handle, c.followers);

Query parameters

NameTypeDescription
platformenumOne of tiktok, instagram, youtube, reddit, twitch, kick, x, pinterest. Omit to search across all platforms.
countryenumUS or CA. Filters by primary country of audience concentration.
regionstringUS state code (CA, NY) or Canadian province (ON, BC). Returns creators whose top metro maps to that region.
nichestringA niche tag (beauty, fitness, gaming, parenting, etc.). Matches the creator's primary niche_tags.
min_followersintegerLower bound on follower count on the queried platform.
max_followersintegerUpper bound on follower count.
min_engagementfloatLower bound on engagement rate (likes + comments / followers, averaged over recent posts). E.g. 0.03 = 3%.
min_quality_scoreintegerLower bound on Swaypi's 0–100 quality score (composite of authenticity, engagement health, content consistency).
brand_safe_onlybooleanIf true, returns only creators flagged brand-safe by Swaypi's content classifier.
limitintegerMax creators to return (1–100). Default 20.
cursorstringPagination cursor returned from a prior response. Omit on first request.

Response

{
  "results": [
    {
      "swaypi_id": "swp_a1b2c3",
      "platform": "tiktok",
      "handle": "examplecreator",
      "display_name": "Example Creator",
      "followers": 124500,
      "engagement_rate": 0.063,
      "country": "US",
      "region": "CA",
      "niche_tags": ["beauty", "skincare", "wellness"],
      "quality_score": 87,
      "brand_safe": true,
      "audience_geo": { "US_pct": 0.78, "CA_pct": 0.09 },
      "contact_email": "[email protected]"
    }
  ],
  "next_cursor": "eyJpZCI6IjEyMzQ1In0=",
  "total_estimate": 1840
}

next_cursor is present when more results are available. Pass it back as the cursor parameter to retrieve the next page. total_estimate is an approximate count of all matching creators in the index (not exact — meant for capacity planning).

Errors

400. Invalid parameter (e.g. platform=facebook — not supported). The detail field names the bad parameter.

403. Your tier doesn't include contact_email and the field was omitted; the search still succeeded but at reduced fidelity.

Common patterns

Bulk discovery for an outreach campaign

To enumerate every brand-safe US beauty TikTok creator between 50K and 500K followers, page through with cursor until next_cursor is absent. Cache results — they don't change minute-to-minute.

Real-time gating in a UI

If you're building a search UI, call creators/search on each user query change with a small limit (5–10) and debounce the input. The quality_score filter cuts noise dramatically — start at min_quality_score=70.

FAQ

How do I search creators by niche and location?

Pass query parameters like niche, country, and region to GET /v1/creators/search. Combine them with min_followers, min_engagement, and brand_safe_only to narrow results. Omit platform to search across all eight platforms at once.

How many creators does creators/search return per request?

Up to 100, set with the limit parameter (default 20). When more matches exist, the response includes a next_cursor — pass it back as cursor to page through the full result set.

Can I filter for brand-safe creators only?

Yes. Set brand_safe_only=true to return only creators flagged brand-safe by Swaypi's content classifier. You can also raise min_quality_score (0–100) to cut low-quality accounts.

What does total_estimate mean?

It is an approximate count of all creators in the Swaypi index matching your filters — useful for capacity planning. It isn't exact; use cursor pagination to enumerate the actual records.

Related

GET /v1/creators/by-handle/{platform}/{handle} — when you already have a handle and want the full record.

Authentication — Bearer token setup and per-tier permissions.