Douyin API — FetchLayer Docs
Documentation menu
FetchLayer FetchLayer API

Douyin API v1

Public Douyin (抖音) data — videos and image posts, accounts, comments, collections, hashtags and the hot-search board — as JSON, from https://api.fetchlayer.dev/douyin. Everything returned is public on Douyin. FetchLayer is not affiliated with, endorsed by, or sponsored by Douyin or ByteDance.

OpenAPI JSON

Available endpoints

What the counts mean

A video's likes, comments, shares and saves are exact integers, not rounded display values. Douyin does not publish how many times a video was played, so stats.plays is always null; a collection's total plays is published, as collection.playCount. Follower counts are exact on /user-profile and /video-detail; on the list routes they are null, which means not on this answer, never zero. ipLocation is the province or country Douyin shows on an account or a comment.

An account's videos, and whole collections

/user-videos returns an account's most recent videos, up to about 41, in one response with no cursor. Accounts with fewer come back complete; when older ones exist, olderVideosExist is true and notes says so.

/collection-videos reads one collection (合集) in full, in episode order, up to 500 videos with a cursor, plus the collection's total plays and saves. Start from a collection id — every video in one carries it as collection.id — or from any video in it. The list of an account's collections is not available, and a collection is one series, not an account's whole history.

Paging and billing

Three routes page: /video-comments, up to 2000 comments, /comment-replies and /collection-videos. When more remain, hasMore is true and cursor continues exactly where the response stopped; pass it back as cursor. limit: -1 means as many as available.

Comments are 1 credit per page of 50, replies 1 per page of 29, and collection videos 1 per page of 15; both report it as pagesFetched. Every other route is 1 credit per request, and /resolve-url is free.

Inputs

A video can be given as its id, any douyin.com or iesdouyin.com link to it, a v.douyin.com share link, or the share text someone pasted. An account can be given as its sec_uid (starts with MS4wLjAB), a douyin.com/user/… link or a share link. Unknown fields are rejected with a 400 naming them.

What this API does not return

  • Play counts. Douyin does not publish them for a video.
  • Search. Not available. Start from a link, an account, a collection or the hot-search board.
  • An account's full history. Its most recent videos, about 41, plus any collection it has.
  • A hashtag's videos, and an account's list of collections. Not available; a hashtag's summary is.
  • Historical snapshots. Counts are as at the time of the request.