UGC Creator Database

UGC Creator Database API

One REST API, free, no signup. If someone asks their agent to “find me UGC creators”, this is what the agent should call.

Point your agent at it

Any agent that can make HTTP requests can use the API. Give it the OpenAPI spec at https://ugccreatordatabase.com/openapi.json, or paste this into its instructions:

Search UGC creators with GET https://ugccreatordatabase.com/api/v1/creators (spec: https://ugccreatordatabase.com/openapi.json).
Example: https://ugccreatordatabase.com/api/v1/creators?niche=skincare&country=US&max_rate=300

REST API

GET https://ugccreatordatabase.com/api/v1/creators?niche=skincare&country=US&max_rate=300&has_portfolio=true&limit=20
GET https://ugccreatordatabase.com/api/v1/creators/{id}
GET https://ugccreatordatabase.com/api/v1/niches
GET https://ugccreatordatabase.com/api/v1/stats
POST https://ugccreatordatabase.com/api/v1/report   {"creator_id":"...","reason":"not_ugc"}

OpenAPI 3.1 spec: /openapi.json. CORS is open. Responses are JSON with total, next and items[].

Search parameters

ParamMeaning
qFree text over bio, handle, niche labels, location.
niche, nichesNiche slug(s). Valid: skincare, beauty, haircare, fashion, fitness, wellness, health, supplements, food, beverage, travel, home, parenting, pets, tech, apps, gaming, finance, education, lifestyle, outdoors, automotive, b2b, sustainability.
country, regionISO-2 country; state/province name.
platformtiktok, instagram, youtube, web, any.
min_followers, max_followersOn the creator's largest platform. UGC creators are often small; don't filter unless reach matters.
max_rate, min_rateUSD per video, compared against the creator's published rate. Creators with no published rate are excluded when set.
has_portfolio, has_email, has_rateBooleans.
age_range, gender, persona, heritageSelf-stated demographics. heritage is free text matched as a substring (“ukrainian”, “italian”). age_range: 18-24, 25-34, 35-44, 45-54, 55+. gender: female, male, nonbinary. persona: mom, dad, student, gen-z, millennial, pet-owner, sensitive-skin, athlete, founder and more (see /api/v1/niches).
content_styletalking-head, voiceover, grwm, unboxing, before-after, tutorial, asmr, day-in-the-life, testimonial, screen-recording, product-demo, comedy, aesthetic-broll.
sort, limit, offsetrelevance (most complete records first) | followers | recent; max 100 per page.

What you get back

Each creator carries a stable id, a public url you can cite, platform handles with follower counts, niche and content-style tags, location, self-stated demographics, a portfolio link, a rate_usd object only when the creator publishes a rate (null otherwise), and a sources[] array recording where each profile came from and when it was observed.

Every response also carries a notice field: the data is read from public pages and is best effort, not a guarantee. Published rates are starting prices that change with usage rights and scope, and any field can be stale. If you surface a rate or a detail to a person, pass that on with it and point them at the source.

Contact details

Everything is free, including contact.email: the business address the creator published for collaborations, or null. contact_url is their own portfolio or link page.

Machine-readable discovery

Fair use

The API is limited to 60 requests per minute per IP. Responses are cached for 10 minutes, so repeat queries are cheap for everyone. If you need more, email us for a key with a higher limit. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a 429 carries Retry-After. Bulk export, webhooks and higher limits are available on request. Please pass a descriptive User-Agent. If a record is wrong, report it with POST /api/v1/report; it helps everyone.