AI浏览器API怎么接?从鉴权到curl、Python完整调用示例
AI浏览器 API接口调用教程|附完整命令
随着大模型能力不断增强,“AI浏览器”正在成为企业自动化办公、数据采集、智能检索、网页操作和业务流程自动化的重要工具。相比传统浏览器,AI浏览器通常不仅能打开网页,还可以通过自然语言理解用户意图,自动完成搜索、点击、填写表单、总结网页、提取结构化数据等任务。
对于开发者来说,如果AI浏览器提供了API接口,就意味着我们可以把“浏览器自动化能力”和“AI理解能力”集成到自己的系统中,例如:
- 自动打开指定网页并完成信息提取;
- 批量访问网页并生成摘要;
- 模拟用户操作完成表单填写;
- 根据网页内容生成结构化JSON数据;
- 将AI浏览器接入企业CRM、ERP、知识库或内部工作流;
- 搭建一个具备网页访问能力的AI Agent。
本文将以通用AI浏览器API为例,完整讲解接口调用流程,并提供可直接参考的命令示例。由于不同厂商的AI浏览器API地址、鉴权方式和参数名称可能略有不同,本文中的接口地址以示例形式展示,你可以根据实际服务商文档进行替换。
一、什么是AI浏览器API?
AI浏览器API可以理解为一种“远程控制AI浏览器”的接口。开发者通过HTTP请求,把任务发送给AI浏览器服务,AI浏览器在云端或本地执行相应操作,然后将结果返回给调用方。
一个典型的AI浏览器API调用流程如下:
- 开发者获取API Key;
- 使用API Key进行身份认证;
- 向AI浏览器发送任务请求;
- AI浏览器执行网页访问、内容理解或页面操作;
- 返回执行结果、网页摘要、截图、结构化数据或任务状态;
- 开发者在自己的业务系统中处理返回结果。
例如,你可以发送这样一句任务:
AI浏览器收到请求后,会自动打开网页、读取内容、理解结构,并返回类似下面的结果:
{
"title": "Example Domain",
"summary": "这是一个用于示例说明的网页。",
"links": [
"https://www.iana.org/domains/example"
]
}
二、调用前准备
在正式调用API之前,通常需要完成以下准备工作。
1. 获取API Key
大多数AI浏览器API都会采用API Key进行鉴权。你需要登录服务商后台,在开发者中心或API管理页面创建一个密钥。
示例:
API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
在实际开发中,不建议将API Key直接写死在代码里,推荐通过环境变量管理。
Linux / macOS:
export AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
Windows PowerShell:
$env:AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
2. 确认API基础地址
假设AI浏览器API基础地址为:
https://api.example-ai-browser.com/v1
常见接口可能包括:
| 接口功能 | 请求路径 | 请求方法 |
|---|---|---|
| 创建浏览任务 | /browser/tasks |
POST |
| 查询任务状态 | /browser/tasks/{task_id} |
GET |
| 取消任务 | /browser/tasks/{task_id} |
DELETE |
| 网页摘要 | /browser/summarize |
POST |
| 网页数据提取 | /browser/extract |
POST |
| 截图接口 | /browser/screenshot |
POST |
| AI网页操作 | /browser/agent |
POST |
注意:以上路径仅为教程示例,实际路径请以你的AI浏览器服务商文档为准。
三、通用请求格式说明
AI浏览器API一般采用RESTful风格,请求格式多为JSON。
请求头示例
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
请求体示例
{
"url": "https://example.com",
"task": "提取网页标题、摘要和所有链接",
"output_format": "json"
}
返回结果示例
{
"success": true,
"task_id": "task_123456",
"status": "completed",
"data": {
"title": "Example Domain",
"summary": "This domain is for use in illustrative examples.",
"links": [
"https://www.iana.org/domains/example"
]
}
}
四、使用curl调用AI浏览器API
curl是最常见的接口调试工具,适合快速验证API是否可用。
1. 创建一个网页摘要任务
下面命令会请求AI浏览器打开指定网页,并生成中文摘要。
curl -X POST "https://api.example-ai-browser.com/v1/browser/summarize" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"language": "zh-CN",
"summary_length": "medium"
}'
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
url |
string | 需要访问的网页地址 |
language |
string | 摘要语言,例如zh-CN |
summary_length |
string | 摘要长度,可选short、medium、long |
2. 提取网页结构化数据
如果你希望AI浏览器根据网页内容提取指定字段,可以使用类似接口:
curl -X POST "https://api.example-ai-browser.com/v1/browser/extract" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://news.ycombinator.com/",
"instruction": "提取页面前10条新闻的标题、链接和排名",
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": { "type": "number" },
"title": { "type": "string" },
"url": { "type": "string" }
},
"required": ["rank", "title", "url"]
}
}
},
"required": ["items"]
}
}'
这里的关键参数是instruction和schema:
instruction用于告诉AI浏览器你想提取什么;schema用于约束返回结构,降低结果不稳定的问题。
返回示例:
{
"success": true,
"data": {
"items": [
{
"rank": 1,
"title": "Example News Title",
"url": "https://example.com/news/1"
}
]
}
}
3. 让AI浏览器执行网页操作
AI浏览器的核心价值之一,是可以根据自然语言自动完成操作。例如打开网站、搜索关键词、点击按钮并返回结果。
curl -X POST "https://api.example-ai-browser.com/v1/browser/agent" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "打开百度,搜索“AI浏览器 API接口调用教程”,返回搜索结果前5条的标题和链接",
"max_steps": 8,
"output_format": "json"
}'
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
task |
string | 通过自然语言描述浏览器需要完成的任务 |
max_steps |
number | 最大执行步骤数,防止任务无限执行 |
output_format |
string | 返回格式,例如json或markdown |
4. 获取网页截图
部分AI浏览器API支持远程截图。适合用于页面监控、自动验收、内容存档等场景。
curl -X POST "https://api.example-ai-browser.com/v1/browser/screenshot" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"full_page": true,
"viewport": {
"width": 1440,
"height": 900
}
}'
返回结果可能包含图片URL或Base64内容:
{
"success": true,
"image_url": "https://cdn.example-ai-browser.com/screenshots/abc123.png"
}
五、使用Python调用AI浏览器API
在实际项目中,Python非常适合做自动化任务、数据采集、AI Agent编排和后端服务集成。
1. 安装依赖
pip install requests
2. 调用网页摘要接口
import os
import requests
API_KEY = os.getenv("AI_BROWSER_API_KEY")
BASE_URL = "https://api.example-ai-browser.com/v1"
url = f"{BASE_URL}/browser/summarize"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"url": "https://example.com",
"language": "zh-CN",
"summary_length": "medium"
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
if response.status_code == 200:
result = response.json()
print(result)
else:
print("请求失败:", response.status_code, response.text)
3. 封装为通用函数
在工程项目中,建议将API调用封装成函数,便于复用。
import os
import requests
class AIBrowserClient:
def __init__(self, api_key=None, base_url=None):
self.api_key = api_key or os.getenv("AI_BROWSER_API_KEY")
self.base_url = base_url or "https://api.example-ai-browser.com/v1"
if not self.api_key:
raise ValueError("缺少API Key,请设置AI_BROWSER_API_KEY环境变量")
self.headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
def summarize(self, page_url, language="zh-CN", summary_length="medium"):
endpoint = f"{self.base_url}/browser/summarize"
payload = {
"url": page_url,
"language": language,
"summary_length": summary_length
}
response = requests.post(endpoint, headers=self.headers, json=payload, timeout=60)
response.raise_for_status()
return response.json()
def extract(self, page_url, instruction, schema=None):
endpoint = f"{self.base_url}/browser/extract"
payload = {
"url": page_url,
"instruction": instruction
}
if schema:
payload["schema"] = schema
response = requests.post(endpoint, headers=self.headers, json=payload, timeout=90)
response.raise_for_status()
return response.json()
def agent(self, task, max_steps=10):
endpoint = f"{self.base_url}/browser/agent"
payload = {
"task": task,
"max_steps": max_steps,
"output_format": "json"
}
response = requests.post(endpoint, headers=self.headers, json=payload, timeout=120)
response.raise_for_status()
return response.json()
if __name__ == "__main__":
client = AIBrowserClient()
result = client.summarize("https://example.com")
print(result)
extract_result = client.extract(
"https://news.ycombinator.com/",
"提取首页前5条新闻标题和链接"
)
print(extract_result)
六、使用Node.js调用AI浏览器API
如果你的项目是前端工程、Node后端或Serverless函数,也可以使用JavaScript调用AI浏览器API。
1. 初始化项目
mkdir ai-browser-demo
cd ai-browser-demo
npm init -y
npm install axios
2. 创建调用脚本
新建文件index.js:
const axios = require("axios");
const API_KEY = process.env.AI_BROWSER_API_KEY;
const BASE_URL = "https://api.example-ai-browser.com/v1";
if (!API_KEY) {
throw new Error("缺少API Key,请设置 AI_BROWSER_API_KEY 环境变量");
}
async function summarize(url) {
const response = await axios.post(
`${BASE_URL}/browser/summarize`,
{
url,
language: "zh-CN",
summary_length: "medium"
},
{
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
timeout: 60000
}
);
return response.data;
}
async function run() {
try {
const result = await summarize("https://example.com");
console.log(JSON.stringify(result, null, 2));
} catch (error) {
if (error.response) {
console.error("接口错误:", error.response.status, error.response.data);
} else {
console.error("请求异常:", error.message);
}
}
}
run();
3. 执行脚本
Linux / macOS:
export AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
node index.js
Windows PowerShell:
$env:AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
node index.js
七、异步任务接口调用方式
有些AI浏览器任务比较耗时,例如需要多步骤点击、登录后访问、批量抓取或生成完整网页报告。这类接口通常不会立即返回最终结果,而是先返回一个task_id,然后由开发者轮询任务状态。
1. 创建异步任务
curl -X POST "https://api.example-ai-browser.com/v1/browser/tasks" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "访问指定网站,提取产品列表中前20个商品的名称、价格和详情页链接",
"start_url": "https://example-shop.com",
"output_format": "json"
}'
返回示例:
{
"success": true,
"task_id": "task_abc123",
"status": "queued"
}
2. 查询任务状态
curl -X GET "https://api.example-ai-browser.com/v1/browser/tasks/task_abc123" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY"
可能返回:
{
"success": true,
"task_id": "task_abc123",
"status": "running",
"progress": 60
}
完成后返回:
{
"success": true,
"task_id": "task_abc123",
"status": "completed",
"data": {
"products": [
{
"name": "示例商品",
"price": "99.00",
"url": "https://example-shop.com/products/1"
}
]
}
}
3. 取消任务
curl -X DELETE "https://api.example-ai-browser.com/v1/browser/tasks/task_abc123" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY"
八、流式返回接口调用示例
部分AI浏览器API支持流式输出,适合实时展示执行过程。例如AI浏览器正在打开网页、分析页面、点击按钮、提取结果等,都可以逐步返回。
curl流式调用
curl -N -X POST "https://api.example-ai-browser.com/v1/browser/agent/stream" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "打开example.com,分析页面内容并用中文总结",
"max_steps": 5
}'
其中-N表示关闭curl缓冲,让结果实时输出。
返回内容可能类似:
event: step
data: {"message":"正在打开网页..."}
event: step
data: {"message":"正在读取页面内容..."}
event: result
data: {"summary":"这是一个用于示例展示的网页。"}
九、常见错误码与解决方法
调用AI浏览器API时,常见错误通常集中在鉴权、参数、额度、网络和任务执行失败等方面。
| 状态码 | 含义 | 解决方法 |
|---|---|---|
400 |
请求参数错误 | 检查JSON格式、必填字段、字段类型 |
401 |
未认证 | 检查API Key是否正确、请求头是否包含Authorization |
403 |
无权限 | 确认账号权限、套餐权限或接口是否开通 |
404 |
接口不存在 | 检查API路径、版本号和请求方法 |
408 |
请求超时 | 增加timeout或改用异步任务接口 |
429 |
请求过于频繁 | 降低并发、增加重试间隔、升级额度 |
500 |
服务端错误 | 稍后重试或联系服务商 |
502/503 |
服务不可用 | 增加重试机制,避免高峰期集中请求 |
十、生产环境调用建议
1. 不要在前端暴露API Key
如果直接在浏览器前端代码中调用AI浏览器API,API Key可能会被用户查看到,从而造成额度被盗用或数据泄露。推荐做法是:
前端页面 → 你的后端服务 → AI浏览器API
由后端统一保存和调用API Key。
2. 设置超时时间
AI浏览器任务通常比普通文本接口更耗时,因此必须设置合理超时时间。
Python示例:
requests.post(url, headers=headers, json=payload, timeout=90)
Node.js示例:
axios.post(url, data, { timeout: 90000 });
3. 增加重试机制
对于临时网络异常、限流或服务端错误,可以加入指数退避重试。
Python示例:
import time
import requests
def post_with_retry(url, headers, payload, retries=3):
for i in range(retries):
try:
response = requests.post(url, headers=headers, json=payload, timeout=60)
if response.status_code in [429, 500, 502, 503]:
wait_time = 2 ** i
time.sleep(wait_time)
continue
response.raise_for_status()
return response.json()
except requests.RequestException as e:
if i == retries - 1:
raise e
time.sleep(2 ** i)
4. 对返回结果做校验
即使使用了AI能力,返回结果也可能受网页结构变化、网络状态、页面权限等因素影响。因此生产环境中一定要做结果校验。
例如:
result = client.extract(
"https://news.ycombinator.com/",
"提取前5条新闻标题和链接"
)
items = result.get("data", {}).get("items", [])
if not items:
raise ValueError("未提取到有效数据")
for item in items:
if "title" not in item or "url" not in item:
raise ValueError("返回数据字段不完整")
十一、典型应用场景
1. 自动网页摘要
企业可以定时抓取行业新闻、竞品动态、政策公告,并自动生成摘要推送到企业微信、飞书或邮件。
2. 智能数据提取
传统爬虫依赖页面结构,一旦网页DOM变化就容易失效。AI浏览器可以通过语义理解页面内容,更适合提取非标准化网页信息。
3. 自动化网页操作
例如自动登录后台、查询订单状态、导出报表、填写申请表等。AI浏览器可以根据自然语言任务执行多步骤操作。
4. AI Agent网页能力扩展
如果你正在开发AI Agent,可以把AI浏览器API作为一个工具,让Agent具备真实网页访问和操作能力。
5. 页面监控和质量检测
通过截图、内容提取和AI分析,可以自动检测网页是否异常、价格是否变化、页面内容是否更新。
十二、完整命令汇总
下面整理一组常用命令,方便复制使用。
设置环境变量
export AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
网页摘要
curl -X POST "https://api.example-ai-browser.com/v1/browser/summarize" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"language": "zh-CN",
"summary_length": "medium"
}'
数据提取
curl -X POST "https://api.example-ai-browser.com/v1/browser/extract" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"instruction": "提取网页标题、正文摘要和所有链接",
"output_format": "json"
}'
AI浏览器自动操作
curl -X POST "https://api.example-ai-browser.com/v1/browser/agent" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "打开example.com,阅读页面内容,并用中文总结",
"max_steps": 6,
"output_format": "json"
}'
创建异步任务
curl -X POST "https://api.example-ai-browser.com/v1/browser/tasks" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task": "访问目标网页并提取主要内容",
"start_url": "https://example.com",
"output_format": "json"
}'
查询任务状态
curl -X GET "https://api.example-ai-browser.com/v1/browser/tasks/task_abc123" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY"
获取网页截图
curl -X POST "https://api.example-ai-browser.com/v1/browser/screenshot" \
-H "Authorization: Bearer $AI_BROWSER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"full_page": true,
"viewport": {
"width": 1440,
"height": 900
}
}'
十三、总结
AI浏览器API的价值在于,它把传统浏览器自动化、网页内容理解和大模型推理能力结合在一起。开发者不再只能依赖固定选择器或复杂脚本,而是可以通过自然语言描述任务,让AI浏览器完成访问网页、分析内容、提取数据、执行点击和生成结果等操作。
在实际接入时,建议你重点关注以下几点:
- 使用环境变量保存API Key,避免密钥泄露;
- 优先用
curl验证接口可用性; - 对耗时任务使用异步接口;
- 对高频任务增加限流和重试;
- 对AI返回结果进行结构校验;
- 根据业务场景选择摘要、提取、截图或Agent接口;
- 生产环境中不要把API Key暴露在前端。
通过本文提供的完整命令和代码示例,你可以快速完成AI浏览器API的基础接入,并进一步扩展到自动化办公、智能数据采集、网页监控和AI Agent工具调用等真实业务场景中。