{"endpoint":{"id":"treg.douyin.user.videos","provider":"treg","provider_display":"treg","name":"douyin.user.videos — routed: best of 4 providers, own keys first","summary":"A Douyin account's videos by sec_uid — provider-native rows in `videos`","method":"POST","path":"/douyin.user.videos","scope":"","tier":"core","kind":"routed","domain":"user","call_template":"treg call treg.douyin.user.videos --method POST --data '{\"sec_uid\":\"…\"}'","cost":{"type":"per_success","value":0.001,"currency":"USD","per":1,"unit":"call","source":"inferred","confidence":"documented","checked":null,"note":"$0.001–$0.01476 per hit across 4 providers, 0% markup; misses are free","usd":0.001},"async":null,"platform_eligible":true,"platform_blocked":null,"miss":{"status":200,"means":"output.videos == []"},"status":null,"status_note":null,"superseded_by":null,"verified":null,"added":null,"docs_url":"","has_example":false,"input":{"bodyType":"json","body":{"sec_uid":{"type":"str","required":false,"note":"identity"},"limit":{"type":"int","required":false,"note":"filter; default 10"}},"note":"Send what you know; treg sends each provider only the fields it accepts ({sec_uid}). On a miss it tries the next provider, cheapest first. Options are X-Treg-Route-* headers, never body fields. The answer is {output, raw, _treg}; X-Treg-Served-By names the provider. When you sent a domain, _treg.domain_match says whether the hit's mailbox domain matches it."},"test_request":{"body":{"sec_uid":"…"}},"routed_children":["justoneapi.x.douyin-get-user-video-list-v1","tikhub.x.douyin-app-v3-fetch-user-post-videos","tikhub.x.douyin-douplus-fetch-user-posts","tikhub.x.douyin-web-fetch-user-post-videos"],"capability":"douyin.user.videos","capability_description":"List a user's recent videos","platform":"douyin","platform_label":"Douyin (TikTok China)","observed":{"samples":39,"decided":39,"ok_rate":0.9487,"p50_ms":null,"p95_ms":null,"last_ok_days":0,"hit_rate":null,"hit_samples":0}},"provider":{"service":"treg","display_name":"treg"},"siblings":[{"id":"justoneapi.x.douyin-get-user-video-list-v1","provider":"justoneapi","provider_display":"Just One API","name":"Douyin user videos by user id, newest or most popular","scope":"","kind":"data","cost":{"type":"per_success","value":0.1,"currency":"CNY","per":1,"unit":"call","usd":0.01476},"platform_eligible":true,"status":null,"status_note":null,"superseded_by":null,"verified":"2026-07-28","params":["secUid","maxCursor","sortType"],"observed":{"samples":26,"decided":26,"ok_rate":1.0,"p50_ms":4538,"p95_ms":8415,"last_ok_days":2,"hit_rate":0.9615,"hit_samples":26}},{"id":"justoneapi.x.douyin-get-user-video-list-v3","provider":"justoneapi","provider_display":"Just One API","name":"Douyin user videos by user id","scope":"","kind":"data","cost":{"type":"per_success","value":0.1,"currency":"CNY","per":1,"unit":"call","usd":0.01476},"platform_eligible":true,"status":null,"status_note":null,"superseded_by":null,"verified":"2026-07-28","params":["secUid","maxCursor"],"observed":{"samples":0,"decided":0,"ok_rate":null,"p50_ms":null,"p95_ms":null,"last_ok_days":null,"hit_rate":null,"hit_samples":0}},{"id":"tikhub.x.douyin-app-v3-fetch-user-post-videos","provider":"tikhub","provider_display":"TikHub","name":"Douyin user's videos by secUid","scope":"","kind":"data","cost":{"type":"per_success","value":0.001,"currency":"USD","per":1,"unit":"call","usd":0.001},"platform_eligible":true,"status":null,"status_note":null,"superseded_by":null,"verified":"2026-07-28","params":["sec_user_id","max_cursor","count","sort_type"],"observed":{"samples":205,"decided":183,"ok_rate":1.0,"p50_ms":1652,"p95_ms":3508,"last_ok_days":0,"hit_rate":0.9454,"hit_samples":183},"reviews":{"teams":0}},{"id":"tikhub.x.douyin-douplus-fetch-user-posts","provider":"tikhub","provider_display":"TikHub","name":"Douyin DOU+ user's posts","scope":"","kind":"data","cost":{"type":"per_success","value":0.001,"currency":"USD","per":1,"unit":"call","usd":0.001},"platform_eligible":true,"status":null,"status_note":null,"superseded_by":null,"verified":"2026-07-28","params":["type","required","note","properties"],"observed":{"samples":80,"decided":79,"ok_rate":1.0,"p50_ms":2113,"p95_ms":9887,"last_ok_days":1,"hit_rate":0.9747,"hit_samples":79}},{"id":"tikhub.x.douyin-web-fetch-user-post-videos","provider":"tikhub","provider_display":"TikHub","name":"Douyin user's videos by secUid","scope":"","kind":"data","cost":{"type":"per_success","value":0.001,"currency":"USD","per":1,"unit":"call","usd":0.001},"platform_eligible":true,"status":null,"status_note":null,"superseded_by":null,"verified":"2026-07-28","params":["sec_user_id","max_cursor","count","filter_type","cookie"],"observed":{"samples":2,"decided":1,"ok_rate":null,"p50_ms":null,"p95_ms":null,"last_ok_days":null,"hit_rate":null,"hit_samples":1}}],"related_capabilities":[{"endpoint_id":"treg.douyin.search.users","capability":"douyin.search.users","does":"Search users by keyword"},{"endpoint_id":"treg.douyin.search.videos","capability":"douyin.search.videos","does":"Search videos by keyword"},{"endpoint_id":"treg.douyin.video.comments","capability":"douyin.video.comments","does":"List a video's comments"},{"endpoint_id":"treg.douyin.video.detail","capability":"douyin.video.detail","does":"Get a video's metadata & stats"}],"routing":{"contract":{"identity":[["sec_uid"]],"output":{"videos":{"type":"list","required":true},"next_cursor":{"type":"str"},"has_more":{"type":"bool"}},"miss":"videos == []","derive":{}},"plan":[{"endpoint_id":"tikhub.x.douyin-app-v3-fetch-user-post-videos","accepts":[["sec_uid"]],"usd":0.001,"cost":{"type":"per_success","usd":0.001},"hit_rate":0.9454,"usd_per_hit":0.001,"works":1.0},{"endpoint_id":"tikhub.x.douyin-douplus-fetch-user-posts","accepts":[["sec_uid"]],"usd":0.001,"cost":{"type":"per_success","usd":0.001},"hit_rate":0.9747,"usd_per_hit":0.001,"works":1.0},{"endpoint_id":"tikhub.x.douyin-web-fetch-user-post-videos","accepts":[["sec_uid"]],"usd":0.001,"cost":{"type":"per_success","usd":0.001}},{"endpoint_id":"justoneapi.x.douyin-get-user-video-list-v1","accepts":[["sec_uid"]],"usd":0.01476,"cost":{"type":"per_success","value":0.1,"currency":"CNY","usd":0.01476},"hit_rate":0.9615,"usd_per_hit":0.01476,"works":1.0}],"also":[{"endpoint_id":"justoneapi.x.douyin-get-user-video-list-v3","usd":0.01476,"cost":{"type":"per_success","value":0.1,"currency":"CNY","usd":0.01476}}],"max_cost_usd":1.0,"headers":{"X-Treg-Route-Waterfall":"on by default: a miss tries the next provider; 0 = stop at the first miss","X-Treg-Route-Max-Cost":"USD ceiling for the whole call (default 1.00)","X-Treg-Route-Prefer":"provider[,…], the name before an id's first dot (quickenrich), not an endpoint id","X-Treg-Route-Exclude":"provider[,…], the name before an id's first dot (quickenrich), not an endpoint id","X-Treg-Route-Strict-Filters":"1 = never call a provider that cannot apply a filter you sent (answers 422, nothing charged); off by default — the answer names what was ignored in X-Treg-Ignored-Filters"}},"call_template":"treg call treg.douyin.user.videos --method POST --data '{\"sec_uid\":\"…\"}'","example_response":null,"hints":["treg call treg.douyin.user.videos --method POST --data '{\"sec_uid\":\"…\"}'   # run it — key injected server-side","treg catalog get justoneapi.x.douyin-get-user-video-list-v1   # the same job from justoneapi"]}