Skip to content
Eden Engine

Douyin Creator Series List (by User ID)

omnial/douyin-app-fetch-user-series-list

Given a Douyin creator's user id or sec user id, returns the list of short-drama/series shows published under that account: each series' id, title, synopsis, genre tags, episode count and watch progress, publish status, and whether it charges to unlock (and at what price). Also returns the creator's own public profile summary. An invalid or nonexistent user id returns an empty result rather than an error.

activeper callv1
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",
  "anyOf": [
    {
      "required": [
        "user_id"
      ]
    },
    {
      "required": [
        "sec_user_id"
      ]
    }
  ],
  "properties": {
    "cursor": {
      "type": "integer",
      "default": 0,
      "description": "Cursor"
    },
    "user_id": {
      "type": "string",
      "examples": [
        "3010877781453635"
      ],
      "description": "User id"
    },
    "sec_user_id": {
      "type": "string",
      "examples": [
        "MS4wLjABAAAAfAU5kMk-W4569G1z2iRsy8t6-kOxO17Eaz6yte4NQokeUeOpeqTGEc480e34O8lK"
      ],
      "description": "User sec id"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "total": {
      "type": "number",
      "description": "Total number of series published by this creator."
    },
    "cursor": {
      "type": "number",
      "description": "Pass back as the `cursor` input to fetch the next page of series."
    },
    "has_more": {
      "type": "number",
      "description": "1 when more series remain beyond this page, 0 (or absent) otherwise."
    },
    "status_msg": {
      "type": "string",
      "description": "Empty string on success. A short, vendor-supplied error message (observed in Chinese) on a rejected request, e.g. an invalid user id."
    },
    "status_code": {
      "type": "number",
      "description": "0 on success; nonzero on a rejected request."
    },
    "series_infos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "desc": {
            "type": "string",
            "description": "Synopsis."
          },
          "stats": {
            "type": "object",
            "properties": {
              "play_vv": {
                "type": "number"
              },
              "collect_vv": {
                "type": "number"
              },
              "total_episode": {
                "type": "number"
              },
              "current_episode": {
                "type": "number"
              },
              "updated_to_episode": {
                "type": "number"
              },
              "last_added_item_time": {
                "type": "number",
                "description": "Unix seconds."
              }
            },
            "additionalProperties": true
          },
          "actors": {
            "type": "array",
            "items": {},
            "description": "Credited cast. Always empty on the series calibrated; item shape unconfirmed."
          },
          "author": {
            "type": "object",
            "properties": {
              "uid": {
                "type": "string"
              },
              "sec_uid": {
                "type": "string"
              },
              "nickname": {
                "type": "string",
                "description": "The creator's own public display name."
              },
              "signature": {
                "type": "string",
                "description": "The creator's own public bio text."
              },
              "unique_id": {
                "type": "string",
                "description": "The creator's own public @handle. Empty string when not set."
              },
              "aweme_count": {
                "type": "number"
              },
              "is_verified": {
                "type": "boolean"
              },
              "avatar_thumb": {
                "type": "object",
                "properties": {
                  "width": {
                    "type": "number"
                  },
                  "height": {
                    "type": "number"
                  },
                  "url_list": {
                    "type": "array",
                    "items": {
                      "type": "null"
                    },
                    "description": "Each entry withheld (stripped to `null`) in this tool's output."
                  }
                },
                "description": "The creator's own avatar image. Value withheld (stripped to `null`) below.",
                "additionalProperties": true
              },
              "custom_verify": {
                "type": "string",
                "description": "Verification badge text, when set."
              },
              "follower_count": {
                "type": "number"
              },
              "following_count": {
                "type": "number"
              },
              "total_favorited": {
                "type": "number"
              },
              "favoriting_count": {
                "type": "number"
              }
            },
            "description": "The queried creator's own public profile summary. The raw response repeats this same object on every series item; it is identical across all of them on the one account calibrated.",
            "additionalProperties": true
          },
          "status": {
            "type": "object",
            "properties": {
              "status": {
                "type": "number",
                "description": "Vendor status code, e.g. 2 for published."
              },
              "status_desc": {
                "type": "string",
                "description": "Human-readable status text when set, e.g. episode-count summary."
              },
              "is_collected": {
                "type": "number"
              }
            },
            "additionalProperties": true
          },
          "cover_url": {
            "type": "object",
            "properties": {
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "url_list": {
                "type": "array",
                "items": {
                  "type": "null"
                },
                "description": "Each entry withheld (stripped to `null`) in this tool's output."
              }
            },
            "description": "The series cover image. Value withheld (stripped to `null`) below.",
            "additionalProperties": true
          },
          "directors": {
            "type": "array",
            "items": {},
            "description": "Credited directors. Always empty on the series calibrated; item shape unconfirmed."
          },
          "real_name": {
            "type": "string",
            "description": "An alternate/full title for the series -- observed identical to `series_name` on every series calibrated. This is the show's own title, not a person's name."
          },
          "series_id": {
            "type": "string"
          },
          "create_time": {
            "type": "number",
            "description": "Unix seconds."
          },
          "rights_info": {
            "type": "object",
            "properties": {
              "has_paid": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          },
          "series_name": {
            "type": "string",
            "description": "The series' own published title."
          },
          "series_type": {
            "type": "number"
          },
          "update_time": {
            "type": "number",
            "description": "Unix seconds."
          },
          "is_exclusive": {
            "type": "boolean"
          },
          "dark_icon_url": {
            "type": "object",
            "properties": {
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "url_list": {
                "type": "array",
                "items": {
                  "type": "null"
                },
                "description": "Each entry withheld (stripped to `null`) in this tool's output."
              }
            },
            "description": "A dark-mode icon image. Value withheld (stripped to `null`) below.",
            "additionalProperties": true
          },
          "light_icon_url": {
            "type": "object",
            "properties": {
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "url_list": {
                "type": "array",
                "items": {
                  "type": "null"
                },
                "description": "Each entry withheld (stripped to `null`) in this tool's output."
              }
            },
            "description": "A light-mode icon image. Value withheld (stripped to `null`) below.",
            "additionalProperties": true
          },
          "charge_strategy": {
            "type": "object",
            "properties": {
              "is_charge": {
                "type": "number",
                "description": "0 free, 1 charges."
              },
              "unit_price": {
                "type": "number"
              },
              "total_price": {
                "type": "number",
                "description": "Vendor price units observed, e.g. 495."
              },
              "has_paid_episodes": {
                "type": "number"
              },
              "discount_threshold": {
                "type": "number"
              },
              "support_segment_unlock": {
                "type": "boolean"
              }
            },
            "description": "Whether/how the series charges to unlock episodes.",
            "additionalProperties": true
          },
          "content_sub_type": {
            "type": "number"
          },
          "is_charge_series": {
            "type": "number",
            "description": "Vendor status code for the series' paid/free state; values not documented."
          },
          "series_form_type": {
            "type": "number"
          },
          "series_content_types_new": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Genre label, e.g. a romance/drama tag."
                },
                "series_content_type": {
                  "type": "number"
                }
              },
              "additionalProperties": true
            },
            "description": "Genre/category tags for this series. Absent entirely (not present as a key) on series where the raw response returns `null` for this field."
          }
        },
        "additionalProperties": true
      },
      "description": "One entry per published series. Absent entirely (not present as a key) on the not-found case, where the raw response returns `series_infos: null`."
    }
  },
  "description": "The series list, as returned at routing.responseResultPath ($.output). `series_infos` is absent entirely (the raw response's `series_infos: null` never survives the field map, which only emits an array key) when the given `user_id`/`sec_user_id` does not resolve to an existing account -- confirmed against the `invalid-user-empty` fixture, which still billed the normal per-call price and returned `status_code: 5` with a Chinese-language error message.",
  "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
Sep 23, 2026