Developers

API documentation

Use api.markitdown.io to call the conversion API. Create an API key in your account after signing up.

转换计费

每次转换消耗 1 积分

网页额度

注册用户每日赠送 100 积分,积分当日有效,不可累计到次日

API 额度

API 每日最多调用 10 次,每次同样消耗 1 积分

Base URL

text
https://api.markitdown.io/api/v1

下文路径均相对于 https://api.markitdown.io/api/v1。也可使用等价前缀 /api/convert/*(无版本号)。

鉴权

在请求头携带 API Key(二选一):

http
Authorization: Bearer mk_live_xxxxxxxx
# 或
X-API-Key: mk_live_xxxxxxxx
  • Key 在 Account → API Keys 创建
  • API 每日上限 10 次;超出返回 429
  • 网页转换每日 100 积分,与 API 次数分开计数,均不跨日累计

文件 → Markdown

POST /convert/to-markdown消耗 1 积分

bash
curl -X POST "https://api.markitdown.io/api/v1/convert/to-markdown" \
  -H "Authorization: Bearer mk_live_xxxxxxxx" \
  -F "file=@./document.pdf"

响应示例

json
{
  "success": true,
  "title": "document",
  "filename": "document.pdf",
  "markdown": "# Hello\n\n...",
  "download_url": "/api/download/xxxx.md",
  "file_size": 1234,
  "source_type": "input"
}

Markdown → 文件

POST /convert/from-markdown消耗 1 积分

bash
curl -X POST "https://api.markitdown.io/api/v1/convert/from-markdown" \
  -H "Authorization: Bearer mk_live_xxxxxxxx" \
  -F "markdown=# Hello MakeItDown" \
  -F "output_format=pdf" \
  -F "filename=hello"

常用 output_formatpdfdocxhtmlpptxepub

json
{
  "success": true,
  "filename": "hello_a1b2c3d4.pdf",
  "download_url": "/api/download/hello_a1b2c3d4.pdf",
  "file_size": 58081
}

下载结果

GET /download/{filename}

bash
curl -L "https://api.markitdown.io/api/download/hello_a1b2c3d4.pdf" \
  -H "Authorization: Bearer mk_live_xxxxxxxx" \
  -o hello.pdf

支持格式

GET /formats

bash
curl "https://api.markitdown.io/api/formats"

健康检查

bash
curl "https://api.markitdown.io/api/health"

JavaScript 示例

javascript
const form = new FormData()
form.append("file", fileInput.files[0])

const res = await fetch("https://api.markitdown.io/api/v1/convert/to-markdown", {
  method: "POST",
  headers: {
    Authorization: "Bearer mk_live_xxxxxxxx",
  },
  body: form,
})

const data = await res.json()
if (!res.ok) throw new Error(data.detail || "转换失败")
console.log(data.markdown)

Python 示例

python
import requests

url = "https://api.markitdown.io/api/v1/convert/to-markdown"
headers = {"Authorization": "Bearer mk_live_xxxxxxxx"}

with open("document.pdf", "rb") as f:
    r = requests.post(url, headers=headers, files={"file": f})

r.raise_for_status()
print(r.json()["markdown"])

错误码

状态码含义
400不支持的格式或转换失败
401缺少或无效的 API Key
413文件超过大小限制
429今日 API 次数或积分已用尽
500服务内部错误

积分与额度规则

  • 注册用户每日获赠 100 积分,用于网页转换台;当日未用完清零,不可累计。
  • 任意一次成功转换(网页或 API)消耗 1 积分。
  • API 额外限制:每个账号每日最多 10 次调用(与网页 100 次额度独立)。
  • 额度按 UTC+0 或服务器日界重置;具体以账户中心显示为准。