Data endpoint · 10 credits
Creator search
Query the directory of 1,000,000+ creators. All filters combine with AND; text search and filters can be mixed freely.
GET /v1/creators/searchQuery parameters
| Parameter | Type | Description |
|---|---|---|
| q | string | Free-text search across username, name and bio. Max 120 chars. |
| niche | string | Niche keyword, e.g. skincare, fitness, personal finance. |
| category | string | Top-level category, e.g. Beauty, Fitness, Food. |
| follower_min | int | Minimum follower count. |
| follower_max | int | Maximum follower count. |
| engagement_min | float | Minimum engagement rate as a 0-1 ratio: 0.03 = 3%. |
| has_email | bool | true / 1: only creators with an extracted contact email. |
| city | string | City name, e.g. Austin. |
| state | string | State / region, e.g. TX or Texas. |
| country | string | Country, e.g. US. |
| gender | string | Creator gender where known. |
| age_min | int | Minimum age where known. |
| age_max | int | Maximum age where known. |
| sort | string | followers (default) or engagement, descending. |
| page / limit | int | Pagination. limit caps at 100; offset is also accepted. |
Example
request
curl "https://api.ugcroster.com/v1/creators/search" \
-H "Authorization: Bearer rsk_your_key_here" \
-G \
-d niche=skincare \
-d follower_min=10000 \
-d follower_max=100000 \
-d engagement_min=0.03 \
-d state=TX \
-d has_email=true \
-d sort=engagement \
-d limit=25response 200
{
"data": [
{
"pk": "…",
"username": "…",
"full_name": "…",
"follower_count": 48210,
"engagement_rate": 0.041,
"category": "Beauty",
"biography": "…",
"niches": ["skincare"],
"city": "Austin",
"state": "TX",
"country": "US",
"extracted_email": "…@…",
"external_url": "https://…",
"is_verified": false,
"age": 27,
"gender": "female"
}
],
"pagination": { "page": 1, "limit": 25, "total": 1284 }
}Field semantics worth knowing
engagement_rate is a 0-1 ratio (0.041 = 4.1%), precomputed at collection time. Treat it as a ranking signal, not a real-time measurement. extracted_email is present only where a public contact email could be extracted; filter with has_email=true when your workflow depends on it. Demographic fields (age, gender) are null where unknown, and filtering on them narrows results to records where they are known.
Cost
10 credits per request regardless of page size, so take limit=100 and filter server-side rather than paginating broad queries. See Credits & rate limits.