# CreateWith — Twitch creator discovery for agents > Under-utilised and rising Twitch streamers for brand campaigns, ranked from > snapshots CreateWith collects itself — the product is the API: REST + MCP. One call that returns creators, with no key and no signup: curl "https://createwith.dev/api/v1/creators/search?limit=3" REST offers a limited anonymous trial. Desktop MCP uses account sign-in when prompted. Verify email at /login; API keys remain available at /account. Twitch has no historical API. Metrics come from collected snapshots. JSON index: `GET /api/v1`. Long reference (54 KB): `/llms-full.txt`. ## What a person can ask These eight searches are examples, not limits. Briefs separate hard constraints, preferences and unknowns. Text search is lexical. contentScope defaults to latest; optional sampled history is a finite partial title/tag pilot, not verified interests. Required words match one observation; current hard filters stay unchanged. textMatch=all keeps the default AND between contentQuery and enrichedQuery; either accepts a match in either supplied source. Related alternatives need query terms such as OR. preferenceQuery requires ranking=relevance and a content or dossier query; it boosts order without filtering. followerScope=unknown is a separate opt-in search with a follower band: all other filters still apply, but the band is unverified. Audience demographics, budget and availability remain unknown; creator language/location are not audience geography. Evidence confirms fit, not a campaign score. ranking=relevance orders text matches first; explicit sort defaults to metric ranking. For an unspecified brief, the reply people have found most useful is a menu of examples, without spending data calls: CreateWith searches Twitch creators for brand campaigns. Sign in if your connector prompts you. Describe what you need in your own words and combine requirements freely. These are examples, not a fixed menu: 1. "Find English-speaking music creators for an audio brand, under 50k followers" — Off-platform interest (needs: the interest or topic) 2. "Find rising English-language Minecraft streamers under 10k followers" — Rising in a game (needs: game name or genre, follower ceiling) 3. "Show me the small Twitch channels blowing up this week" — Trending right now (needs: size tier (micro/small/mid/large)) 4. "Find creators whose live audience is unusually big for their follower count" — Undervalued engagement (runs as it is) 5. "Tell me everything you know about the streamer quiggy_" — Creator lookup (needs: login or display name) 6. "Find German-speaking streamers for a campaign running in Germany" — Market-targeted (needs: market/country) 7. "Build a brand-safe shortlist of Fortnite creators between 1k and 50k followers" — Brand-safe shortlist (needs: game or audience, reach band, shortlist size) 8. "What's happening on Twitch right now?" — What's live now (runs as it is) Tell me your brief. I can search, check the available evidence, and explain which requirements are confirmed or still unknown. ### Off-platform interest — creators with a real second act (music, art, sport, business). Call: `GET /api/v1/creators/search?enrichedQuery=&hideInsufficient=true then GET /api/v1/creators/{id}/research to confirm the interest is in the dossier` Worked: ### Rising in a game — momentum-ranked small creators in one category. Call: `GET /api/v1/creators/search?sort=momentum_score&dir=desc&language=en&maxFollowers=10000&game=&hideInsufficient=true&minStreams=3` Worked: ### Trending right now — disproportionate risers by size tier. Call: `GET /api/v1/trending?window=7d&tier=micro` Worked: ### Undervalued engagement — the moneyball tell: watchers per follower. Call: `GET /api/v1/creators/search?sort=viewer_to_follower_ratio&dir=desc&hideInsufficient=true&maxFollowers=` Worked: ### Creator lookup — everything held on one creator. Call: `GET /api/v1/creators/search?q= then GET /api/v1/creators/{id} with rows[0].id, then GET /api/v1/creators/{id}/research` Worked: ### Market-targeted — broadcast-language candidates; creator location needs separate evidence. Call: `GET /api/v1/creators/search?language=&sort=momentum_score&dir=desc then GET /api/v1/creators/{id}/research and check location` Worked: ### Brand-safe shortlist — outreach-ready picks for a brand brief. Call: `GET /api/v1/creators/search?brandSafeOnly=true&game=&minFollowers=&maxFollowers=&hideInsufficient=true&sort=momentum_score&dir=desc then GET /api/v1/creators/{id}/research for the finalists` Worked: ### What's live now — right-now platform snapshot. Call: `GET /api/v1/live` Worked: `brandSafeOnly=true` composes onto any of them. Free coverage checks, before spending a search: `GET /api/v1/categories?q=` and `GET /api/v1/stats`. ## Facts - Access: 100 successful data calls per calendar month free; Premium is $29 USD/month for unlimited existing-data usage. Keep the introductory price while continuously subscribed. See /pricing and /account. - Anonymous REST discovery allows 5 data calls and 25 returned rows per IP per UTC day. Production MCP data calls require OAuth sign-in or a verified API key. Verify your email at /login and issue an API key at /account. Existing dossiers require an account. New research and contributions are unavailable during beta. Dossier unlocks grant permanent access to one immutable version; refreshed versions unlock separately. - API keys and OAuth MCP connections share one account plan. Both plans allow 60 requests/minute. Free usage resets at midnight UTC on the first of each month; pagination and empty searches count. Failures, idempotent replays, metadata, shortlist presentation and reopening owned dossier versions do not count. At the free limit, quota_exceeded links to /account to upgrade. Premium has no monthly cap. - Every number here is from snapshots we collected ourselves: collection began 2026-06-08, and nothing before that exists or can be backfilled. - contentQuery/enrichedQuery counts are unknown (null), except total=0 on an empty first page; bandDetail=exact cannot force counts. All hard filters precede pagination; no early candidate cap. - Only the 3d/7d/14d metric windows are computed. 30d becomes computable no earlier than 2026-09-06 and is switched on once the rollup has the headroom for it; 90d no earlier than 2027-03-05. - Off-platform dossiers cover ~1,800 creators out of 650k+ tracked; GET /api/v1/stats is free and carries both live counts, plus where the dossiers are by language and reach band. ## Reading a response A success body is `{ data, meta }`. - `meta.relay` — the recipe the call matched, the metric `window` the numbers came from, and `say`: up to four caveat lines true of that exact response, written to be passed on as they are. An empty `say` means nothing needed flagging; `window` is null where a response is not window-scoped. - `meta.billing.lane` — `guest` on a keyless call (nothing billed, no free-call counter moved), `free` or `credits` on a keyed one. `meta.billing.status` is `settled` or `refunded`: a coverage answer and an unheld dossier come back as refunded 200s. - `meta.account` — guest responses only: `status: "guest"`, a note, and `guest_calls_remaining_today` (null = the cap was not consulted for this call, rather than an unlimited allowance). - `429 guest_limit` — the keyless allowance for one address, 5 calls and 25 rows per UTC day. The body carries both counters, `resets_at`, `Retry-After` and the verified sign-in page: `Open https://createwith.dev/login, verify your email, then create an API key at https://createwith.dev/account.` - Existing dossiers require account sign-in (OAuth in desktop MCP, or an API key in REST). New research and contributions are unavailable. Premium subscriptions are available at /account. - Errors are `{ error: { code, message, request_id, docs } }`; `code` is the stable half. `X-Request-Id` is on every response. ## Endpoints - `GET /api/v1` — free, no key. Endpoint index and examples. - `GET /api/v1/creators/search` — class `search`. Creator search, ≤25 rows/page: window, q, game, genre, tag, language, broadcaster_type, min/maxAvgViewers, min/maxFollowers, minMomentum, minViewerGrowth, brandSafeOnly, enrichedOnly, enrichedQuery, contentQuery, contentScope, creatorCountry, collaborationBrand, queryMode, textMatch, preferenceQuery, followerScope, categoryBasis, ranking, sort, dir, limit, offset. genre resolves topics across categories; country returns sourced evidence or labelled unverified location-text leads, not audience geography. queryMode defaults to web (required terms); explicit any broadens matching. Unknown or duplicate parameters and invalid values return 400. viewer_growth is a signed ratio: 0.25 means +25% average viewers vs the prior window. - `GET /api/v1/creators/{id}` — class `read`. Profile, metrics and trends by Twitch user id; resolve logins with search?q=. - `GET /api/v1/creators/{id}/research` — class `dossier`. Verified key required. Unlock an immutable dossier version permanently; owned rereads are free. Optional ?version= UUID. Missing coverage is refunded. - `GET /api/v1/trending` — class `read`. Rising creators by size tier; pagination per tier. - `GET /api/v1/live` — class `read`. Live platform overview snapshot. - `GET /api/v1/stats` — free, no key. Corpus coverage and value distributions, with actual overview and component update times. Exact daily component snapshots may be older than the response. - `GET /api/v1/categories` — free, no key. Tracked categories: ?genre= topic or ?q= name; ordered by channel count. - `POST /api/v1/keys` — free, no key. API keys require verified email: sign in at /login, then issue a key at /account. Anonymous key issuance is disabled. - `GET /api/v1/account` — no allowance used; verified API key or signed-in session required. Your plan, monthly usage and reset date. Requires an API key or signed-in account. - `POST /api/v1/subscription/checkout` — no allowance used; verified API key or signed-in session required. Start Premium at $29 USD/month; returns a hosted payment URL for the account owner. - `POST /api/v1/subscription/portal` — no allowance used; verified API key or signed-in session required. Manage subscription payments and cancellation; returns a billing management URL. ## MCP Mount: POST — streamable-http (stateless, POST only). Raw HTTP callers send `Accept: application/json, text/event-stream` (406 without it; MCP client libraries set it). `initialize`, `tools/list` and `ping` are keyless, and `initialize` returns `instructions` carrying this same menu. 10 tools: - `search_creators` — class `search` - `get_creator_research` — class `dossier` - `search_enriched_creators` — class `search` - `get_channel_profile` — class `read` - `get_trending` — class `read` - `get_live` — class `read` - `get_overview_stats` — free - `list_categories` — free - `list_recipes` — free - `present_shortlist` — free Authenticated tool-call limits return isError=true with readable content and structuredContent.error (quota_exceeded or rate_limited). Respect retry_after_seconds. Authentication remains HTTP 401. A client reaches the mount from the URL alone: `claude mcp add --transport http createwith https://createwith.dev/api/v1/mcp` registers it in Claude Code, and the Claude/ChatGPT desktop apps take the same URL as a custom connector. Per-client steps: [/connect](https://createwith.dev/connect). ## Optional Reference material — an agent holding what it needs can skip all of it. - [/llms-full.txt](https://createwith.dev/llms-full.txt): the long reference, **54 KB** — for a parameter or response field whose meaning is unclear, rather than the next hop after this file. Prices, idempotency, refunds, honesty semantics. - [/api/v1](https://createwith.dev/api/v1): the live JSON index — the same menu and facts as data. - [/openapi.json](https://createwith.dev/openapi.json): OpenAPI 3.1 schema, ~78 KB. - [/skill.md](https://createwith.dev/skill.md): this contract as an Agent Skill. Claude Code: `mkdir -p ~/.claude/skills/createwith && curl -fsSL https://createwith.dev/skill.md -o ~/.claude/skills/createwith/SKILL.md` Codex: the same file at `~/.agents/skills/createwith/SKILL.md`. Either: `npx skills add https://createwith.dev` - [/agents.md](https://createwith.dev/agents.md): how an agent gets connected — every client's install artifact in one file. - [/.well-known/skills/index.json](https://createwith.dev/.well-known/skills/index.json): the listing `npx skills add` reads. - [/.well-known/ai-catalog.json](https://createwith.dev/.well-known/ai-catalog.json): Agentic Resource Discovery catalog. - [/.well-known/mcp/server-card.json](https://createwith.dev/.well-known/mcp/server-card.json): the MCP mount's server card.