{"openapi":"3.1.0","info":{"title":"Feelia API","summary":"Kick iGaming streamer intelligence for affiliate teams — REST /v1 and an MCP server.","description":"Search Kick streamers whose on-stream activity is casino, poker, sports betting or crypto trading; get 30-day viewer rollups, sponsor history per brand, audience risk scores and publicly listed business contacts.\n\n**Access**: free preview without credentials (small result caps and daily quotas); `Authorization: Bearer <Feelia API key>` for full access (Pro subscription or a purchased 24h/30-day key); `402 Payment Required` responses describe x402 per-request payment (when enabled) and how to buy a key.\n\nDocs: https://feelia.uk/agents · Pricing: https://feelia.uk/v1/pricing · MCP: https://feelia.uk/mcp","termsOfService":"https://feelia.uk/terms","contact":{"name":"Feelia","url":"https://feelia.uk/contact","email":"hello@feelia.uk"},"version":"1.0.0"},"servers":[{"url":"https://feelia.uk","description":"Production"}],"paths":{"/v1/pricing":{"get":{"tags":["v1"],"summary":"Machine-readable prices, free tier and how to pay","operationId":"v1_pricing","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."}},"security":[]}},"/v1/access":{"get":{"tags":["v1"],"summary":"Who am I: tier, key status, remaining free quota","operationId":"v1_access","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."}},"security":[{"ApiKeyAuth":[]}]}},"/v1/stats":{"get":{"tags":["v1"],"summary":"Catalog counters","operationId":"v1_stats","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."}},"security":[]}},"/v1/brands":{"get":{"tags":["v1"],"summary":"Sponsor brands ranked by distinct streamers","operationId":"v1_brands","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":7,"default":30,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/search":{"get":{"tags":["v1"],"summary":"Search Kick iGaming streamers (no contacts)","operationId":"v1_search","parameters":[{"name":"activity","in":"query","required":false,"schema":{"anyOf":[{"enum":["casino","poker","betting","crypto","slots","sports_betting","casino_table","crypto_trading"],"type":"string"},{"type":"null"}],"title":"Activity"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Kick category id","title":"Category"},"description":"Kick category id"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"min_avg_viewers","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Avg Viewers"}},{"name":"max_avg_viewers","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Avg Viewers"}},{"name":"min_followers","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Followers"}},{"name":"min_subscribers","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Subscribers"}},{"name":"is_live","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Live"}},{"name":"has_contact","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Contact"}},{"name":"brand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"sponsor brand id, e.g. stake","title":"Brand"},"description":"sponsor brand id, e.g. stake"},{"name":"exclude_brands","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Exclude Brands"}},{"name":"sponsor_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["free","dormant","active"],"type":"string"},{"type":"null"}],"title":"Sponsor Status"}},{"name":"max_risk","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"title":"Max Risk"}},{"name":"coverage","in":"query","required":false,"schema":{"anyOf":[{"enum":["gambling_confirmed","category_mismatch"],"type":"string"},{"type":"null"}],"description":"category_mismatch = covert: gambling in a non-gambling Kick category","title":"Coverage"},"description":"category_mismatch = covert: gambling in a non-gambling Kick category"},{"name":"sort","in":"query","required":false,"schema":{"enum":["avg_viewers_30d","peak_viewers_30d","followers","subscribers","last_seen","sponsor_recency"],"type":"string","default":"avg_viewers_30d","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."},"402":{"description":"Payment required: x402 v2 headers (PAYMENT-REQUIRED) when enabled; the JSON body lists API-key purchase options."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/streamers/{streamer}":{"get":{"tags":["v1"],"summary":"One streamer's profile, sponsor timeline and risk score (no contacts)","operationId":"v1_streamer","parameters":[{"name":"streamer","in":"path","required":true,"schema":{"type":"string","title":"Streamer"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."},"402":{"description":"Payment required: x402 v2 headers (PAYMENT-REQUIRED) when enabled; the JSON body lists API-key purchase options."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/streamers/{streamer}/contacts":{"get":{"tags":["v1"],"summary":"Publicly listed business contacts of one streamer (key holders)","operationId":"v1_streamer_contacts","parameters":[{"name":"streamer","in":"path","required":true,"schema":{"type":"string","title":"Streamer"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."},"402":{"description":"Payment required: x402 v2 headers (PAYMENT-REQUIRED) when enabled; the JSON body lists API-key purchase options."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/keys/cryptocloud":{"post":{"tags":["v1"],"summary":"Buy an API key with a crypto invoice (USDT/BTC/ETH…): returns a pending key + checkout_url","operationId":"v1_keys_cryptocloud","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyPlanIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/keys/x402/{plan}":{"post":{"tags":["v1"],"summary":"Buy an API key with one x402 USDC payment (upfront flow)","operationId":"v1_keys_x402","parameters":[{"name":"plan","in":"path","required":true,"schema":{"enum":["day","month"],"type":"string","title":"Plan"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."},"402":{"description":"Payment required: x402 v2 headers (PAYMENT-REQUIRED) when enabled; the JSON body lists API-key purchase options."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/keys/recover":{"post":{"tags":["v1"],"summary":"Re-issue a never-used key whose purchase response was lost (send the original PAYMENT-SIGNATURE)","operationId":"v1_keys_recover","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."}},"security":[]}},"/v1/keys/me":{"get":{"tags":["v1"],"summary":"Status of the key sent as Bearer (works for pending keys too)","operationId":"v1_keys_me","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid, revoked or expired API key."},"429":{"description":"Rate limited; see Retry-After."}},"security":[{"ApiKeyAuth":[]}]}}},"components":{"schemas":{"APIKeyCreateIn":{"properties":{"name":{"type":"string","maxLength":60,"minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"APIKeyCreateIn"},"AdminGrantBody":{"properties":{"plan":{"type":"string","pattern":"^(monthly|yearly)$","title":"Plan"},"days":{"type":"integer","maximum":3650.0,"minimum":1.0,"title":"Days"}},"type":"object","required":["plan","days"],"title":"AdminGrantBody"},"AdminSubPatch":{"properties":{"plan":{"anyOf":[{"type":"string","pattern":"^(free|monthly|yearly)$"},{"type":"null"}],"title":"Plan"},"active_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Until"},"clear_active_until":{"type":"boolean","title":"Clear Active Until","default":false},"free_unlocks_used":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Free Unlocks Used"},"free_unlocks_limit":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Free Unlocks Limit"}},"type":"object","title":"AdminSubPatch"},"AdminUserPatch":{"properties":{"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_admin":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Admin"},"display_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Display Name"},"email_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Verified"}},"type":"object","title":"AdminUserPatch"},"CheckoutIn":{"properties":{"plan":{"type":"string","pattern":"^(monthly|yearly)$","title":"Plan"},"pay_currency":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Pay Currency","description":"e.g. usdttrc20, btc, eth"}},"type":"object","required":["plan"],"title":"CheckoutIn"},"CrmUpdate":{"properties":{"status":{"type":"string","title":"Status"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["status"],"title":"CrmUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KeyPlanIn":{"properties":{"plan":{"type":"string","enum":["day","month"],"title":"Plan","default":"day"},"name":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Name"}},"type":"object","title":"KeyPlanIn"},"LoginIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"LoginIn"},"OptOutBody":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Reason"}},"type":"object","title":"OptOutBody"},"RegisterIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":200,"minLength":8,"title":"Password"},"display_name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Display Name"}},"type":"object","required":["email","password"],"title":"RegisterIn"},"SeoRunJobBody":{"properties":{"job":{"type":"string","pattern":"^(search_analytics|search_analytics_backfill|coverage|sitemap|all|indexnow)$","title":"Job"}},"type":"object","required":["job"],"title":"SeoRunJobBody"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"ApiKeyAuth":{"type":"http","scheme":"bearer","description":"Feelia API key (fk_live_…). Pro: dashboard → API keys. Agents: POST /v1/keys/cryptocloud."}}},"tags":[{"name":"v1","description":"Agent/API surface. Free preview, API key, or x402 per request."}]}