{"openapi":"3.2.0","info":{"title":"TikTok Content API","description":"Get any TikTok post as clean, typed JSON — caption, author, region, no-watermark video URL, cover art, music metadata, photo galleries and engagement stats. One request per post, no browser, no cookies, no proxy setup.","version":"1.0.0"},"servers":[{"url":"https://tiktok-api.jojapi.net"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Post"}],"x-agent-commerce":{"catalog_url":"https://tiktok-api.jojapi.net/_jojapi/agent/plans","discovery_url":"https://tiktok-api.jojapi.net/.well-known/x402","directory_url":"https://agents.jojapi.net/apis/itsrose-tiktok-api","docs":"https://docs.jojapi.com/consumers/agents"},"paths":{"/v1/post":{"get":{"operationId":"get_v1_post","summary":"Get post content","description":"1 post per request. Failed lookups (deleted, private, region-blocked) bill 0.","tags":["Post"],"responses":{"200":{"description":"Response 200","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true],"title":"Success indicator","description":"Indicates that the response represents a successful operation."},"code":{"type":"number","title":"Response code","description":"The numeric code representing the success status."},"message":{"type":"string","title":"Response message","description":"A human-readable message providing additional information."},"data":{"type":"object","properties":{"aweme_id":{"type":"string"},"id":{"type":"string"},"region":{"type":"string"},"author":{"type":"object","properties":{"id":{"type":"string"},"unique_id":{"type":"string"},"nickname":{"type":"string"},"avatar":{"type":"string"}},"required":["id","unique_id","nickname","avatar"],"additionalProperties":false},"title":{"type":"string"},"media_list":{"type":"object","properties":{"cover":{"type":"object","properties":{"thumbnail":{"type":"string","format":"uri"},"ai_dynamic_cover":{"type":"string","format":"uri"},"origin_cover":{"type":"string","format":"uri"}},"required":["thumbnail","ai_dynamic_cover","origin_cover"],"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"size":{"type":"number"}},"required":["url","size"],"additionalProperties":false},"no_watermak":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"size":{"type":"number"}},"required":["url","size"],"additionalProperties":false},"music":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"cover":{"type":"string"},"author":{"type":"string"},"is_original":{"type":"boolean"},"duration":{"type":"number"}},"required":["id","title","url","cover","author","is_original","duration"],"additionalProperties":false},"images":{"default":null,"nullable":true,"type":"array","items":{"type":"string","format":"uri"}}},"required":["cover","watermark","no_watermak","music","images"],"additionalProperties":false},"statistic":{"type":"object","properties":{"play_count":{"type":"number"},"digg_count":{"type":"number"},"comment_count":{"type":"number"},"share_count":{"type":"number"},"download_count":{"type":"number"},"collect_count":{"type":"number"}},"required":["play_count","digg_count","comment_count","share_count","download_count","collect_count"],"additionalProperties":false}},"required":["aweme_id","id","region","author","title","media_list","statistic"],"additionalProperties":false},"errors":{"type":"string","nullable":true,"enum":[null],"title":"No errors on success responses","description":"The errors field is always null for success responses."},"meta":{"default":{},"title":"Metadata","description":"Additional metadata related to the response. **Do not** rely on this field for any critical information, as it may be omitted or changed without notice.","type":"object","additionalProperties":{}}},"required":["ok","code","message","data","errors","meta"],"additionalProperties":false}}}},"4XX":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false],"title":"Failure indicator","description":"Indicates that the response represents a failed operation."},"code":{"type":"number","title":"Response code","description":"The numeric code representing the failure status."},"message":{"type":"string","title":"Response message","description":"A human-readable message providing additional information."},"data":{"type":"string","nullable":true,"enum":[null],"title":"No data on failure responses","description":"The data field is always null for failure responses."},"errors":{"default":{},"title":"Error details","description":"The errors field contains details about the failure. It is optional and may be omitted if no additional error information is provided.","type":"object","additionalProperties":{}},"meta":{"default":{},"title":"Metadata","description":"Additional metadata related to the response. **Do not** rely on this field for any critical information, as it may be omitted or changed without notice.","type":"object","additionalProperties":{}}},"required":["ok","code","message","data","errors","meta"],"additionalProperties":false,"description":"Representing a failed response.","title":"Failure Response Schema"}}}},"5XX":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false],"title":"Failure indicator","description":"Indicates that the response represents a failed operation."},"code":{"type":"number","title":"Response code","description":"The numeric code representing the failure status."},"message":{"type":"string","title":"Response message","description":"A human-readable message providing additional information."},"data":{"type":"string","nullable":true,"enum":[null],"title":"No data on failure responses","description":"The data field is always null for failure responses."},"errors":{"default":{},"title":"Error details","description":"The errors field contains details about the failure. It is optional and may be omitted if no additional error information is provided.","type":"object","additionalProperties":{}},"meta":{"default":{},"title":"Metadata","description":"Additional metadata related to the response. **Do not** rely on this field for any critical information, as it may be omitted or changed without notice.","type":"object","additionalProperties":{}}},"required":["ok","code","message","data","errors","meta"],"additionalProperties":false,"description":"Representing a failed response.","title":"Failure Response Schema"}}}}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"TikTok post url"}}]}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-JoJAPI-Key","description":"Your JoJ API key."}}}}