# Use okdata with Doubao: Doubao Work, Coze and Volcano Engine Ark

> Where okdata works in ByteDance's Doubao: Doubao Work takes a custom connector, plain Doubao chat can't yet, and developers can attach MCP to Doubao models in Ark.

Canonical page: https://okdata.online/integrations/doubao/

What we're after: you tell Doubao "look at today's Douyin and Weibo hot searches and find topics our bubble-tea shop could ride", and it reads the live lists, picks a few topics, and tells you how to use each one, with links. Whether that works depends on which part of Doubao you use, so the short answer comes first.

## Where it works

| Where | Can it use okdata? |
|---|---|
| Doubao Work (豆包工作, the "work" side of the Doubao client) | Yes. It takes a custom connector with an MCP URL and headers. |
| Plain Doubao chat (app, web) | Not today. We found no way for users to add plugins or MCP servers there. |
| A Coze bot "published to Doubao" | Doubao is no longer among Coze's publishing channels. |
| Doubao models through the Volcano Engine Ark API | Yes, for developers: remote MCP in the Responses API, or function calling. |

We checked this against Doubao's and Volcano Engine's documentation in November 2026. These products change quickly; trust what you see in the app.

## Before you start

- An API key from okdata, starting with `okd_`. New keys come with $0.10 of credit. The [quickstart](/docs/quickstart/) explains how to get one.
- In Doubao Work the key goes into the connector settings. For Ark, keep it in the `OKDATA_API_KEY` environment variable, never in code.

## Doubao Work: a custom connector

The interface is in Chinese; translations are in brackets.

1. Open the Doubao Work client, click **插件·技能·伙伴** (plugins, skills, partners) on the left, and on the **插件** (plugins) page click **+ 添加** (add) at the top right.
2. Click **新建自定义连接器** (new custom connector) and fill in:
   - **服务器名称** (server name): `okdata`
   - **传输类型** (transport): HTTP
   - **服务器 URL** (server URL): `https://api.okdata.online/mcp`
   - Under **自定义 Headers** (custom headers) click **+ 添加** and add the header `Authorization` with the value `Bearer okd_...`: the word `Bearer`, a space, then your full key.
3. Click **保存** (save).
4. Start a task with **新工作任务** (new work task) on the left. Type `/` in the input box to pick `okdata`, or simply describe what you need and let Doubao match the plugin.

Ask "what is my okdata balance?" first. A number back means it's connected, and that check is free. Which plans include custom connectors is up to Doubao; check the page in your client.

## Plain Doubao chat and Coze

Plain Doubao chat has no place to add a third-party plugin. People used to build a bot in Coze and publish it to Doubao, but Coze's channels are now its store, Feishu, WeChat, mini programs and the API, without Doubao. If your team uses AI inside Feishu or WeChat, build a bot as on the [Coze page](/integrations/coze/) and publish it there.

Getting a plugin into every Doubao user's app goes through the Doubao open platform's plugin listing, which is a job for plugin developers rather than users.

## Developers: MCP for Doubao models in Ark

Ark's Responses API can attach a remote MCP server with headers. It only supports Streamable HTTP, which is what okdata uses. During the beta the request needs the header `ark-beta-mcp: true`.

```bash
curl https://ark.cn-beijing.volces.com/api/v3/responses \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "ark-beta-mcp: true" \
  -d @- <<EOF
{
  "model": "doubao-seed-2-1-pro-260915",
  "tools": [{
    "type": "mcp",
    "server_label": "okdata",
    "server_url": "https://api.okdata.online/mcp",
    "require_approval": "never",
    "headers": { "Authorization": "Bearer $OKDATA_API_KEY" }
  }],
  "input": [{ "role": "user", "content": [{ "type": "input_text", "text": "What are the top five on Weibo hot search right now?" }] }]
}
EOF
```

Use a model you have enabled in Ark. With `require_approval` set to `never` the model can make paid calls on its own, so put a budget in the prompt. If you'd rather not use MCP, Ark also supports function calling: describe one endpoint as a function and call `https://api.okdata.online` yourself.

## A first prompt to try

```text
Using okdata, read today's Douyin and Weibo hot search lists. Pick five topics
a bubble-tea shop could tie into, with rank, heat, one idea each and the link.
Tell me the cost first.
```

## What it costs

`find`, `describe` and `account` are free; only `call` is billed. The prompt above reads two hot lists, $0.002 for Douyin and $0.002 for Weibo, $0.004 in all. A page of [Xiaohongshu note search](/apis/xiaohongshu/notes/search/) is $0.02 if it goes on to search. Failed calls are free. Doubao's and Ark's model usage is billed separately by them.

## When something goes wrong

- **401 `unauthorized`.** The header is missing or malformed: the name must be `Authorization` and the value must start with `Bearer `. With Ark, make sure `OKDATA_API_KEY` is set in the terminal you run the command from.
- **402 `insufficient_balance`.** Not enough balance for the call. Nothing was charged. Top up and try again; prices are on the [pricing page](/pricing/).
- **429 `rate_limited`.** Too many calls in a short time. The response includes `retry_after_seconds`; wait that long before calling again. No charge.
- **The connector shows no tools.** Check the URL is `https://api.okdata.online/mcp` and the transport is HTTP. Opening that URL in a browser shows "Method not allowed", which is normal: it only answers MCP requests.

## Read next

- [The MCP server](/mcp/): the four tools and what to tell the agent.
- [Douyin hot search](/apis/douyin/trends/list/): fields and price.
