抖音内容解析API Douyin Content Parse API

回到API列表 Back to API List 返回首页 Home

实时解析演示 Live Parse Demo

输入抖音分享链接或分享口令,点击解析查看内容预览与完整响应数据:

Enter a Douyin share link or share text (口令) and click Parse to see the content preview and full response:

API 简介

API Overview

解析国内抖音分享链接或详情链接,返回内容类型、标题/文案、封面、视频播放地址与备选地址、图集/实况图、作者、音乐及互动数据。仅支持国内抖音,不支持 TikTok。

Parses Douyin share or detail links and returns content type, title/caption, cover, video URL and backups, image/live-photo data, author, music, and interaction stats. Supports Douyin only — TikTok is not supported.

支持的 HTTP 方法

Supported HTTP Methods

支持 GETHEADOPTIONSGET 返回 JSON;HEAD 只返回相同状态与响应头。

Supports GET, HEAD, and OPTIONS. GET returns JSON; HEAD returns the same status and headers without a body.

查询参数

Query Parameters

参数名Parameter 类型Type 必填Required 说明Description
url String Yes 抖音分享或详情链接,仅允许 douyin.comiesdouyin.com 域名;支持 v.douyin.com 短链。Douyin share or detail URL. Only douyin.com and iesdouyin.com hosts are allowed; v.douyin.com short links are supported.

响应字段

Response Fields

字段名Field 类型Type 说明Description
ok Boolean 请求是否成功Whether the request succeeded
data Object 内容数据对象(仅 ok=true 时存在)Content data object (only present when ok=true)
data.type String 内容类型:videoimageliveContent type: video, image, or live.
data.title / data.desc String 标题或正文文案。Title or caption text.
data.author Object 作者信息,包含 nameidavatar;兼容字段 nickname 仍会保留。Author info with name, id, and avatar; legacy nickname is still preserved.
data.cover String | null 封面图片 URL;图集内容会回退到第一张图片。Cover image URL; image posts fall back to the first image.
data.url / data.video_url String | null 视频主播放地址,仅 type=video 时返回;video_url 是兼容旧调用方的字段。Primary video play URL, returned only for type=video; video_url is kept for legacy callers.
data.video_backup Array<String> 视频备选播放地址,按接口选择顺序排列。Backup video URLs ordered by the parser's selection preference.
data.images / data.image_url_list Array<String> 图集或实况图的默认图片地址;image_url_list 是兼容字段。Default image URLs for image or live-photo posts; image_url_list is the legacy alias.
data.image_variants Array<Object> 图片候选信息,可能包含无水印地址、水印高分辨率地址、宽高等。Image candidate details, possibly including no-watermark URL, watermarked high-resolution URL, width, and height.
data.live_photo Array<Object> 实况图数据,每项包含 image 与对应 videoLive-photo data; each item contains an image and matching video.
data.music Object 音乐信息,包含标题、作者、播放地址和封面。Music metadata including title, author, play URL, and cover.
data.aweme_id String | null 作品唯一 ID。Unique aweme/item ID.
data.duration / data.duration_ms Number 时长,单位为毫秒。Duration in milliseconds.
data.create_time String | null 发布时间,格式为 YYYY-MM-DD HH:mm:ssPublish time in YYYY-MM-DD HH:mm:ss format.
data.source_url String 本次传入的原始链接。Original URL passed to this request.
data.statistics Object 互动数据,包含 comment_countdigg_countplay_countshare_countcollect_countInteraction stats with comment_count, digg_count, play_count, share_count, and collect_count.
data.extra Object 扩展信息,包含原始统计、话题、视频标签、作者扩展信息等。Extended metadata including raw stats, hashtags, video tags, and author extras.

说明:当可访问的抖音数据只暴露 play_count: 0 时,接口会将公开播放数返回为 null,原始上游统计保存在 data.extra.raw_statistics

Note: when the accessible Douyin data only exposes play_count: 0, the public play count is returned as null; raw upstream stats are preserved in data.extra.raw_statistics.

错误响应

Error Responses

codecode 场景Scenario 返回示例Example Response
MISSING_URL 未传入 url 参数Missing url parameter {"ok":false,"code":"MISSING_URL","message":"Missing query param: url"}
INVALID_URL url 格式无效Invalid URL format {"ok":false,"code":"INVALID_URL","message":"Invalid url"}
UNSUPPORTED_HOST url 不是允许的抖音域名URL host is not an allowed Douyin host {"ok":false,"code":"UNSUPPORTED_HOST","message":"Only Douyin URLs are allowed"}
METHOD_NOT_ALLOWED 使用了非 GET/HEAD/OPTIONS 方法A method other than GET/HEAD/OPTIONS was used {"ok":false,"code":"METHOD_NOT_ALLOWED","message":"Only GET/HEAD is supported"}
UPSTREAM_HTTP_ERROR 抖音上游返回非成功状态Douyin upstream returned a non-success status {"ok":false,"code":"UPSTREAM_HTTP_ERROR","message":"Upstream status 403"}
UPSTREAM_TIMEOUT 请求抖音上游超时Douyin upstream request timed out {"ok":false,"code":"UPSTREAM_TIMEOUT","message":"Upstream request timeout"}
UPSTREAM_FETCH_FAILED 请求抖音上游失败Douyin upstream request failed {"ok":false,"code":"UPSTREAM_FETCH_FAILED","message":"Fetch failed"}
PARSE_DATA_FAILED 响应中未找到可支持的抖音数据No supported Douyin data was found in the response {"ok":false,"code":"PARSE_DATA_FAILED","message":"No supported Douyin data found in response"}
INTERNAL_ERROR 服务内部错误Internal service error {"ok":false,"code":"INTERNAL_ERROR","message":"Unknown error"}

使用示例

Usage Examples

1. 解析抖音内容链接

1. Parse a Douyin content link

https://api.furry.ist/douyin?url=https%3A%2F%2Fv.douyin.com%2Fxxxxxx%2F

成功返回示例:

Successful response example:

{
  "ok": true,
  "data": {
    "type": "video",
    "title": "example title",
    "desc": "example title",
    "author": {
      "name": "author name",
      "id": 123456789,
      "avatar": "https://example.com/avatar.jpg"
    },
    "cover": "https://example.com/cover.jpg",
    "url": "https://example.com/video.mp4",
    "quality": "720p",
    "duration": 12000,
    "video_backup": ["https://example.com/video.mp4"],
    "images": [],
    "image_variants": [],
    "live_photo": [],
    "music": {
      "title": "music title",
      "author": "music author",
      "url": "https://example.com/music.mp3",
      "cover": "https://example.com/music-cover.jpg"
    },
    "extra": {
      "aweme_id": "123456789",
      "share_url": "https://v.douyin.com/xxxxxx/",
      "statistics": {
        "comment_count": 1,
        "digg_count": 2,
        "play_count": null,
        "share_count": 4,
        "collect_count": 5
      },
      "raw_statistics": {}
    },
    "aweme_id": "123456789",
    "nickname": "author name",
    "duration_ms": 12000,
    "create_time": "2024-03-10 00:00:00",
    "source_url": "https://v.douyin.com/xxxxxx/",
    "statistics": {
      "comment_count": 1,
      "digg_count": 2,
      "play_count": null,
      "share_count": 4,
      "collect_count": 5
    },
    "comment_count": 1,
    "digg_count": 2,
    "play_count": null,
    "share_count": 4,
    "collect_count": 5,
    "video_url": "https://example.com/video.mp4",
    "image_url_list": []
  }
}

2. 在 JavaScript 中调用

2. Call from JavaScript

fetch('https://api.furry.ist/douyin?url=' + encodeURIComponent('https://v.douyin.com/DQyLiuMdIlk/')) .then(res => res.json()) .then(data => console.log(data))