Bilibili App Home Feed
omnial/bilibili-app-fetch-home-feed
Fetches one page of Bilibili's personalized app home feed. Each call returns a list of recommended video cards -- video id, title, category, uploader (id and public display name), formatted view/danmaku/duration labels, and the playback ids (cid/aid) needed to play or look up the video elsewhere. Page through more of the feed with `idx`/`pull`/`flush`.
Price
Up to $0.00205 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Data source
Data from Bilibili.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/bilibili-app-fetch-home-feed" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/bilibili-app-fetch-home-feed" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/bilibili-app-fetch-home-feed", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/bilibili-app-fetch-home-feed", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.00205 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"idx"
],
"properties": {
"idx": {
"type": "integer",
"description": "Page index"
},
"pull": {
"type": "boolean",
"default": true,
"description": "Pull to refresh"
},
"flush": {
"type": "integer",
"default": 0,
"description": "刷新标记/Flush flag (0=普通加载, 1=刷新)"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"idx": {
"type": [
"number"
],
"description": "An ordering value. Usually a large timestamp-like number, sometimes the sentinel `-1`, and sometimes absent entirely -- not reliable as a stable ordering or pagination key across pages."
},
"args": {
"type": "object",
"properties": {
"aid": {
"type": "number",
"description": "The video's numeric id; matches param/player_args.aid."
},
"tid": {
"type": "number",
"description": "Category id."
},
"tname": {
"type": "string",
"description": "Category label, e.g. a genre or channel tag (not a person's name)."
},
"up_id": {
"type": "number",
"description": "The uploader's numeric Bilibili member id."
},
"up_name": {
"type": "string",
"description": "The uploader's public display name -- the creator who published this video under this exact public channel identity."
}
},
"description": "The video's uploader and category.",
"additionalProperties": true
},
"goto": {
"type": "string",
"description": "Same value as card_goto on every card observed."
},
"cover": {
"type": [
"string",
"null"
],
"description": "The video's thumbnail image URL. Value withheld (stripped to `null`) in this tool's output -- only whether a thumbnail exists is observable, not the image itself."
},
"param": {
"type": "string",
"description": "The video's numeric id as a string; matches args.aid/player_args.aid."
},
"title": {
"type": "string"
},
"can_play": {
"type": "number",
"description": "1 (playable) on every real card observed."
},
"card_goto": {
"type": "string",
"description": "Content type discriminator, e.g. \"av\" for a video."
},
"card_type": {
"type": "string",
"description": "UI card layout variant, e.g. \"small_cover_v2\" on every card observed."
},
"player_args": {
"type": "object",
"properties": {
"aid": {
"type": "number"
},
"cid": {
"type": "number",
"description": "The default page/part's content id, needed to play or look up the video via other endpoints."
},
"type": {
"type": "string",
"description": "e.g. \"av\" for a video."
},
"duration": {
"type": "number",
"description": "Seconds."
}
},
"additionalProperties": true
},
"official_icon": {
"type": "number",
"description": "Official/verified-channel badge code. Present on only some cards; absent on the others."
},
"cover_right_text": {
"type": "string",
"description": "Formatted duration label, e.g. \"12:37\"."
},
"cover_left_icon_1": {
"type": "number"
},
"cover_left_icon_2": {
"type": "number"
},
"cover_left_text_1": {
"type": "string",
"description": "Formatted view-count label, e.g. \"75万\"."
},
"cover_left_text_2": {
"type": "string",
"description": "Formatted danmaku (overlay-comment) count label, e.g. \"1822\"."
},
"cover_right_content_description": {
"type": "string",
"description": "Accessibility text for the duration label."
},
"cover_left_1_content_description": {
"type": "string",
"description": "Accessibility text for the view-count label."
},
"cover_left_2_content_description": {
"type": "string",
"description": "Accessibility text for the danmaku-count label."
}
},
"additionalProperties": true
},
"description": "One entry per feed card. Typically video (\"av\") cards -- this endpoint's other possible card types (e.g. ads, banners) may have a different shape."
}
},
"description": "The feed payload.",
"additionalProperties": true
}
},
"description": "The home feed page, typically a populated feed with real video cards.",
"additionalProperties": true
}