BUILT FOR YOUR WORKFLOW

一个请求。
一个新连接。

把 HACK91 接入你的脚本与应用。只需网址,剩下的交给我们。

API / V1
01 / GET STARTED

30 秒,准备就绪。

  1. 01
    登录你的账号

    HACK91 采用邀请注册。收到邀请码后,即可创建账号。

  2. 02
    创建 API 密钥

    进入 控制台 → API 密钥,创建并保存完整密钥。密钥仅展示一次。

  3. 03
    发送你的第一个请求

    在 auth 请求头中携带密钥,并提交 url 参数。

02 / AUTHENTICATION

你的密钥,你的通行证。

所有 API 请求都需要有效的 API 密钥。使用名为 auth 的 HTTP 请求头,值为 Bearer、一个空格和完整密钥:

HTTP HEADER
auth: Bearer h91_YOUR_API_KEY

请在服务端使用密钥,避免暴露在浏览器、公开代码或分享链接中。密钥泄露后,可在控制台撤销并创建新密钥。

03 / ENDPOINT

生成短链接

POST/api/v1/generate_short_link

使用 JSON 或表单提交目标地址,无需传入其他业务参数。

参数类型必填说明
urlstring是完整的 HTTP 或 HTTPS 目标网址。

请求正文

APPLICATION/JSON
{
  "url": "https://example.com/your-long-link"
}

成功响应 201 Created

APPLICATION/JSON
{
  "short_url": "https://hack91.com/x7K9m2Q",
  "code": "x7K9m2Q",
  "url": "https://example.com/your-long-link"
}

响应中的 short_url 即可直接分享;访问后会跳转到原始网址。

04 / EXAMPLES

复制,修改,运行。

将 h91_YOUR_API_KEY 替换为控制台中创建的完整密钥。

cURL · JSON

SHELL
curl -X POST 'https://hack91.com/api/v1/generate_short_link' \
  -H 'auth: Bearer h91_YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com/your-long-link"}'

cURL · 表单

SHELL
curl -X POST 'https://hack91.com/api/v1/generate_short_link' \
  -H 'auth: Bearer h91_YOUR_API_KEY' \
  --data-urlencode 'url=https://example.com/your-long-link'

Python · requests

PYTHON
import os
import requests

response = requests.post(
    "https://hack91.com/api/v1/generate_short_link",
    headers={"auth": f"Bearer {os.environ['HACK91_API_KEY']}"},
    json={"url": "https://example.com/your-long-link"},
    timeout=15,
)
response.raise_for_status()
print(response.json()["short_url"])

Python 示例需要安装 requests,并先设置环境变量 HACK91_API_KEY。

05 / TROUBLESHOOTING

发生问题?从这里排查。

错误响应统一包含 error.code 与 error.message。根据状态码处理失败,避免直接读取 short_url。

ERROR RESPONSE · EXAMPLE
{
  "error": {
    "code": "invalid_url",
    "message": "请提供有效的 HTTP 或 HTTPS 网址。"
  }
}
状态含义处理建议
201创建成功读取并分享 short_url。
400参数错误检查 JSON 格式和 url 参数。
401身份验证失败检查 auth: Bearer <key>,确认密钥未被撤销。
403账号已停用联系站点管理员。
413请求体过大仅发送需要的 url 参数。
429频率或配额限制若有 Retry-After,等待指定秒数;quota_exceeded 需删除旧链接释放名额或联系管理员。
READY WHEN YOU ARE

让你的想法,连接起来。

进入控制台 ↗