电影

电影聚合服务:提供影视的分类、列表、详情、选集与播放地址(m3u8)能力,按「列表 → 详情 → 播放」流程即可搭建完整影视站。

/api/movies/

服务说明

电影服务聚合影视站数据,提供分类、筛选条件、首页推荐、列表、详情、选集与播放地址(m3u8)等完整链路,按「分类 → 列表 → 详情 → 播放地址」的顺序即可搭起一个影视站,搜索接口则支持按片名关键词查片。

关键 ID 有固定的传递顺序:分类接口返回的 id 传给列表接口的 type_id,列表中的 id 传给详情接口的 vod_id,详情中的 sid / nid 再传给播放接口取地址,串起来就是一条完整的播放流程。

数据类信息(片名、简介、集数等)缓存时间较长;播放地址(m3u8)因为带时效只做较短缓存,请勿在客户端长期缓存播放地址。本服务需项目签名。

响应格式

所有接口返回同一个 JSON 信封,业务数据都在 data 里:

{
  "code": 10000,
  "msg": "成功",
  "data": { ... }
}
  • code:业务状态码,10000 表示成功;其余为各类错误,完整清单见「错误码」页。
  • msg:给人看的提示文案,可直接展示给终端用户,但不要用它做逻辑判断。
  • data:业务数据;出错时通常为 null。各接口 data 的具体字段见该接口的「响应说明」。

判断成功与否请看 code,不要依赖 HTTP 状态码。 查看完整错误码

555电影

555电影(5dy4.vip) 需签名

实时爬取源站并缓存。数据类(片名/详情/集数)缓存较久,播放地址(m3u8)缓存较短以便及时刷新。

GET /api/movies/movie_555/categories 累计调用 0 次

分类列表

获取可用分类(主分类 / 子分类 / 专题)。

  • 用于搭建站点导航:main 为主分类,sub 为连续剧的子分类,返回的 id 都可直接传给「列表」接口的 type_id。
响应说明 外层统一格式
字段 类型 说明
main array 主分类列表
main[].id int 分类 ID,传给列表接口 type_id
main[].name string 分类名称
sub array 连续剧的子分类列表
sub[].id int 子分类 ID,同样可传 type_id
sub[].name string 子分类名称
labels array 首页专题(label)列表
labels[].key string 专题标识
labels[].name string 专题名称
返回示例
{
  "main": [
    {"id": 1, "name": "电影"},
    {"id": 2, "name": "连续剧"}
  ],
  "sub": [
    {"id": 13, "name": "热门连续剧"}
  ],
  "labels": [
    {"key": "netflix", "name": "Netflix 专区"}
  ]
}
GET /api/movies/movie_555/filters 累计调用 0 次

筛选条件

获取某分类可用的筛选条件:子分类、地区、题材、语言、年份、排序。

必填:分类 ID(见「分类列表」接口),如 1=电影 2=连续剧。

  • 返回 data.sub_types(子分类,value 回传给 type_id)与 data.groups。
  • data.groups 含地区 / 题材 / 语言 / 年份 / 排序五组,value 回传给「列表」接口的同名参数。
  • 各分类的可用值不同(例如动漫有「日本 / 欧美」,综艺有「真人秀 / 脱口秀」),年份还会随站点上新自动增加,建议由本接口动态渲染筛选栏,不要在客户端写死。
响应说明 外层统一格式
字段 类型 说明
type_id int 分类 ID(回带入参)
sub_types array 该分类的子分类
sub_types[].name string 子分类名称
sub_types[].value string 值,回传给列表接口 type_id
groups array 筛选条件分组(地区/题材/语言/年份/排序)
groups[].key string 参数名(area/genre/lang/year/order)
groups[].name string 分组名称
groups[].options array 该组的可选值
groups[].options[].name string 选项名称
groups[].options[].value string 选项值,回传给同名参数
返回示例
{
  "type_id": 1,
  "sub_types": [{"name": "动作片", "value": "6"}],
  "groups": [
    {"key": "area", "name": "地区", "options": [{"name": "大陆", "value": "大陆"}]}
  ]
}
GET /api/movies/movie_555/home 累计调用 0 次

首页聚合

获取首页聚合数据:轮播图与各推荐区块(本周/本月最佳、各榜单等)。

  • 一次返回首页全部推荐区块,便于直接渲染站点首页。
响应说明 外层统一格式
字段 类型 说明
carousel array 轮播图
carousel[].id string 影片 ID
carousel[].name string 片名
carousel[].url string 详情页地址
carousel[].cover string 封面图地址
carousel[].note string 角标/备注
carousel[].intro string 一句话简介
blocks array 推荐区块列表
blocks[].title string 区块标题
blocks[].items array 区块内影片
blocks[].items[].id string 影片 ID
blocks[].items[].name string 片名
blocks[].items[].url string 详情页地址
blocks[].items[].cover string 封面图地址
blocks[].items[].note string 角标/备注
blocks[].items[].douban string 豆瓣评分
返回示例
{
  "carousel": [
    {"id": "812640", "name": "示例影片", "url": "https://5dy4.vip/voddetail/812640.html", "cover": "https://img.example.com/812640.jpg", "note": "", "intro": ""}
  ],
  "blocks": [
    {"title": "本周最佳", "items": [
      {"id": "812640", "name": "示例影片", "url": "https://5dy4.vip/voddetail/812640.html", "cover": "https://img.example.com/812640.jpg", "note": "", "douban": "8.0"}
    ]}
  ]
}
GET /api/movies/movie_555/list 累计调用 0 次

分类列表

按分类获取影片列表,支持分页、排序与年份 / 地区 / 题材 / 语言组合筛选。

必填:分类 ID,1=电影 2=连续剧 3=综艺纪录 4=动漫 124=福利 126=擦边短剧(子分类见「分类列表」接口的 sub)。

可选:页码,从 1 开始,默认 1。

可选:排序方式 time/hits/score。

可选:按年份筛选,如 2026(取值见「筛选条件」接口的 year 组)。

可选:按地区筛选,如 大陆(取值见「筛选条件」接口的 area 组)。

可选:按题材筛选,如 动作(取值见「筛选条件」接口的 genre 组)。

可选:按语言筛选,如 国语(取值见「筛选条件」接口的 lang 组)。

  • 返回 data.items(影片列表)与 data.pagination(分页信息)。
  • 地区 / 题材 / 语言 / 年份 / 排序可任意组合,源站按交集返回;组合后没有匹配影片时 data.items 为空数组,不会报错。
响应说明 外层统一格式
字段 类型 说明
type_id int 分类 ID(回带入参)
page int 当前页码
items array 影片列表
items[].id string 影片 ID(传给详情接口 vod_id)
items[].name string 片名
items[].url string 详情页地址
items[].cover string 封面图地址
items[].note string 角标/备注
items[].douban string 豆瓣评分
pagination object 分页信息
pagination.current int 当前页码
pagination.total int 总页数
返回示例
{
  "type_id": 1,
  "page": 1,
  "items": [
    {"id": "812640", "name": "示例影片", "url": "https://5dy4.vip/voddetail/812640.html", "cover": "https://img.example.com/812640.jpg", "note": "更新至10集", "douban": "8.0"}
  ],
  "pagination": {"current": 1, "total": 44}
}
GET /api/movies/movie_555/detail 累计调用 0 次

影片详情

获取影片详情:简介、导演/演员等元数据、播放源与选集列表。

必填:影片 ID(取自列表/搜索结果中的 id)。

  • 返回 data.sources(播放源),每个源含 episodes(选集),选集里的 sid/nid 用于「播放地址」接口。
  • 影片不存在时返回 40001。
响应说明 外层统一格式
字段 类型 说明
id string 影片 ID
name string 片名
cover string 封面图地址
intro string 剧情简介
info object 元数据键值对(导演/主演/上映等)
sources array 播放源列表
sources[].sid string 播放源序号,传给播放接口
sources[].name string 播放源名称
sources[].episodes array 该源的选集列表
sources[].episodes[].nid string 集数序号,传给播放接口
sources[].episodes[].name string 集数名称
sources[].episodes[].url string 播放页地址
返回示例
{
  "id": "812640",
  "name": "示例影片",
  "cover": "https://img.example.com/812640.jpg",
  "intro": "",
  "info": {"导演": "张三", "主演": "李四", "上映": "2026"},
  "sources": [
    {"sid": "3", "name": "线路1", "episodes": [
      {"nid": "1", "name": "第1集", "url": "https://5dy4.vip/vodplay/812640-3-1.html"}
    ]}
  ]
}
GET /api/movies/movie_555/play 累计调用 0 次

播放地址

获取指定播放源/集数的 m3u8 播放地址。

必填:播放源序号,取自详情接口 sources[].sid。

必填:集数序号,取自选集 episodes[].nid(电影通常为 1)。

  • 返回 data.m3u8 为可播放地址;该地址带时效,已做较短缓存(默认 30 分钟)。
  • 源站地址直出,不做代理转发。
  • sid / nid 越界或源站无有效地址时返回 40001。
  • 页面下方提供在线播放器:请求成功后自动加载播放,也可粘贴任意 m3u8 地址测试。
响应说明 外层统一格式
字段 类型 说明
id string 影片 ID(回带入参)
sid int 播放源序号(回带入参)
nid int 集数序号(回带入参)
name string 片名
episode string 集数名称
m3u8 string m3u8 播放地址(带时效)
from string 源站标识
encrypt int 是否加密(源站字段,通常 0)
返回示例
{
  "id": "812640",
  "sid": 3,
  "nid": 1,
  "name": "示例影片",
  "episode": "第1集",
  "m3u8": "https://cdn.example.com/812640/1000.m3u8",
  "from": "dyttm3u8",
  "encrypt": 0
}
在线播放测试 hls.js / mp4 发送上方请求成功后自动加载播放;也可直接粘贴任意播放地址(m3u8 / mp4)测试。
小影API · 通用 API 聚合服务