Skip to content
Eden Engine

Douyin Food Video Feed (by Page)

omnial/douyin-web-fetch-food-aweme

Fetches one page of Douyin's food-video feed (16 videos by default) and returns, per video, its caption and title, its author's display name, engagement counts, duration, publish time, music, resolution, and the collection it belongs to, plus the feed status.

activeper callv4
Provider
Web & Business Data Network
Category
douyin
Provider price
$0.0020475 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "count"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "examples": [
        16
      ],
      "description": "Number per page"
    },
    "refresh_index": {
      "type": "integer",
      "default": 1,
      "description": "Paging index"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "aweme_list": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "desc": {
            "type": "string",
            "description": "The video's caption text, hashtags included."
          },
          "music": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "The sound's title."
              },
              "duration": {
                "type": "number",
                "description": "The sound's duration, seconds. e.g. 265."
              },
              "is_original": {
                "type": "boolean",
                "description": "Whether the sound is the author's original upload."
              }
            },
            "additionalProperties": true
          },
          "video": {
            "type": "object",
            "properties": {
              "cover": {
                "type": "object",
                "properties": {
                  "url_list": {
                    "type": [
                      "array",
                      "null"
                    ],
                    "description": "The cover image's URL list, value withheld (stripped to `null`) in this tool's output."
                  }
                },
                "description": "The video's cover. Only whether one exists is exposed -- the image URL value is withheld.",
                "additionalProperties": true
              },
              "width": {
                "type": "number",
                "description": "Playback width in pixels, e.g. 2560 on a 1440p item."
              },
              "height": {
                "type": "number",
                "description": "Playback height in pixels, e.g. 1440."
              }
            },
            "additionalProperties": true
          },
          "author": {
            "type": "object",
            "properties": {
              "region": {
                "type": "string",
                "description": "The author's account region code. Observed 'CN' on both real calls."
              },
              "nickname": {
                "type": "string",
                "description": "The video author's public display name on the food feed."
              }
            },
            "additionalProperties": true
          },
          "status": {
            "type": "object",
            "properties": {
              "is_delete": {
                "type": "boolean",
                "description": "True when the video has been taken down."
              },
              "allow_share": {
                "type": "boolean"
              },
              "allow_comment": {
                "type": "boolean"
              }
            },
            "description": "Availability flags for the video.",
            "additionalProperties": true
          },
          "caption": {
            "type": "string",
            "description": "The hashtag string of the video's caption, e.g. '#food #recipe'."
          },
          "aweme_id": {
            "type": "string",
            "description": "The video's public Douyin id."
          },
          "duration": {
            "type": "number",
            "description": "Playback duration, milliseconds."
          },
          "mix_info": {
            "type": "object",
            "properties": {
              "desc": {
                "type": "string",
                "description": "The collection's one-line description."
              },
              "mix_id": {
                "type": "string",
                "description": "The collection's public Douyin id."
              },
              "mix_name": {
                "type": "string",
                "description": "The collection's display name."
              }
            },
            "description": "The aggregate collection the video belongs to, when it belongs to one. This is typically the same collection the platform also reports under `series_info`, which is not returned separately.",
            "additionalProperties": true
          },
          "video_tag": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tag_name": {
                  "type": "string",
                  "description": "A category label, e.g. '美食' (food)."
                }
              },
              "additionalProperties": true
            },
            "description": "The video's category-tag chain, innermost category first."
          },
          "aweme_type": {
            "type": "number",
            "description": "Video kind code. Observed 0 (short video) on every real item; other values unobserved."
          },
          "item_title": {
            "type": "string",
            "description": "A short headline for the video, when the platform derives one."
          },
          "statistics": {
            "type": "object",
            "properties": {
              "digg_count": {
                "type": "number",
                "description": "Likes."
              },
              "play_count": {
                "type": "number",
                "description": "Play count; usually 0, matching this feed's withholding of play tallies."
              },
              "share_count": {
                "type": "number",
                "description": "Shares."
              },
              "collect_count": {
                "type": "number",
                "description": "Collects/saves."
              },
              "comment_count": {
                "type": "number",
                "description": "Comments."
              },
              "recommend_count": {
                "type": "number",
                "description": "Platform recommendation tallies."
              }
            },
            "description": "Public engagement counters for the video. Numbers, roughly in the tens of thousands for likes on the most popular items.",
            "additionalProperties": true
          },
          "create_time": {
            "type": "number",
            "description": "Publish time, Unix seconds."
          },
          "chapter_list": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "desc": {
                  "type": "string",
                  "description": "The section's short label."
                },
                "timestamp": {
                  "type": "number",
                  "description": "Playback offset in milliseconds."
                }
              },
              "additionalProperties": true
            },
            "description": "The platform's section breakdown of the video (e.g. a food video's recipe steps) with playback timestamps, when it has one. Present only for videos the platform has split into sections: in testing, five of the sixteen videos on one page and six of the sixteen on another had at least one section. A video without a breakdown simply lacks this key."
          },
          "video_control": {
            "type": "object",
            "properties": {
              "allow_download": {
                "type": "boolean",
                "description": "Whether the platform allows downloading this video."
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      },
      "description": "The page's food videos, in feed order. Typically 16 entries."
    },
    "status_code": {
      "type": "number",
      "description": "Feed status code. Typically 0 (success)."
    }
  },
  "description": "A food-video feed page. Carries a `status_code` (typically 0) and an `aweme_list` array holding up to `count` videos. Typically exactly 16 videos.",
  "additionalProperties": true
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.0020475
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Oct 12, 2026