使用场景
生成站点地图
通过提取所有内部链接构建全面的站点地图
为爬取发现链接
在网页爬取工作流中找出所有要访问的 URL
内部链接分析
分析内部链接结构以进行 SEO 优化
失效链接检测
查找并校验页面上的所有链接
Endpoint
POST
/api/v1/tools/extract_linksAuth Required
Free 计划 2 req/s
1 credit
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Required | - | 要从中提取链接的 URL Example: https://example.com |
filter_external | boolean | Optional | false | 若为 true,仅返回内部链接(同域名) Example: false |
base_url | string | Optional | - | 用于解析相对链接的基础 URL Example: https://example.com |
请求示例
cURL - 提取所有链接
terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/extract_links \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"filter_external": false
}'TypeScript - 仅内部链接
extractLinks.tsTypescript
const response = await fetch('https://crawlforge.dev/api/v1/tools/extract_links', {
method: 'POST',
headers: {
'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com',
filter_external: true, // Only internal links
base_url: 'https://example.com'
}),
});
const data = await response.json();
if (data.success) {
console.log(`Found ${data.data.links.length} internal links:`);
data.data.links.forEach((link: any) => {
console.log(`- ${link.text}: ${link.url}`);
});
}响应示例
200 OK210ms
{ "success": true, "data": { "url": "https://example.com", "links": [ { "text": "Home", "url": "https://example.com/", "internal": true }, { "text": "About", "url": "https://example.com/about", "internal": true }, { "text": "Products", "url": "https://example.com/products", "internal": true }, { "text": "External Resource", "url": "https://other-site.com", "internal": false } ], "total_links": 4, "internal_links": 3, "external_links": 1 }, "credits_used": 1, "credits_remaining": 999, "processing_time": 210}Field Descriptions
data.links所有已发现链接的数组,包含文本和 URLdata.total_links找到的链接总数data.internal_links指向同域名的链接数量data.external_links指向外部域名的链接数量相关工具
准备好提取链接了吗?免费注册,获取 1,000 credits。