Web fetch: deepseek-fetch
curl --request POST \
--url https://api.apiyi.com/v1/tools/fetch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://docs.apiyi.com/en"
}
'import requests
url = "https://api.apiyi.com/v1/tools/fetch"
payload = { "url": "https://docs.apiyi.com/en" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://docs.apiyi.com/en'})
};
fetch('https://api.apiyi.com/v1/tools/fetch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.apiyi.com/v1/tools/fetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://docs.apiyi.com/en'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.apiyi.com/v1/tools/fetch"
payload := strings.NewReader("{\n \"url\": \"https://docs.apiyi.com/en\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.apiyi.com/v1/tools/fetch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://docs.apiyi.com/en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.apiyi.com/v1/tools/fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://docs.apiyi.com/en\"\n}"
response = http.request(request)
puts response.read_body{
"title": "APIYI Docs",
"content": "# APIYI Docs\n\nBody converted to Markdown..."
}DeepSeek Search & Fetch
DeepSeek Web Fetch API 레퍼런스
DeepSeek Fetch API 레퍼런스 및 플레이그라운드: /v1/tools/fetch는 모든 웹 페이지를 Markdown으로 변환하며, 매개변수, 응답 구조 및 오류 코드를 제공합니다.
POST
/
v1
/
tools
/
fetch
Web fetch: deepseek-fetch
curl --request POST \
--url https://api.apiyi.com/v1/tools/fetch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://docs.apiyi.com/en"
}
'import requests
url = "https://api.apiyi.com/v1/tools/fetch"
payload = { "url": "https://docs.apiyi.com/en" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: 'https://docs.apiyi.com/en'})
};
fetch('https://api.apiyi.com/v1/tools/fetch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.apiyi.com/v1/tools/fetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://docs.apiyi.com/en'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.apiyi.com/v1/tools/fetch"
payload := strings.NewReader("{\n \"url\": \"https://docs.apiyi.com/en\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.apiyi.com/v1/tools/fetch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://docs.apiyi.com/en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.apiyi.com/v1/tools/fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://docs.apiyi.com/en\"\n}"
response = http.request(request)
puts response.read_body{
"title": "APIYI Docs",
"content": "# APIYI Docs\n\nBody converted to Markdown..."
}오른쪽 플레이그라운드에서 직접 사용해 보세요: Authorization에
Bearer sk-your-api-key(default 또는 svip 그룹의 키)를 입력하고,
임의의 URL을 입력한 후 전송합니다. 페이지 콘텐츠를 성공적으로 가져왔을 때만 과금됩니다.요금, 테스트 데이터 및 알아두어야 할 사항은 개요에서 확인할 수 있습니다.
파라미터 참조
| 파라미터 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
url | string | ✓ | 호스트가 포함된 HTTP / HTTPS URL, 최대 8192자, 사용자 이름 및 비밀번호 제외 |
model 필드가 필요하지 않으며, 알 수 없는 필드는 무시됩니다.
응답 하이라이트
{
"title": "APIYI Docs",
"content": "# APIYI Docs\n\nBody converted to Markdown..."
}
content은(는) Markdown으로 추출된 본문이며, 내비게이션, 광고 및 기타 페이지 부가 요소는 대부분 제거됩니다.title은(는) 페이지에 제목이 없는 경우 빈 문자열입니다.- 테스트 결과, 약 6,400자의 문서 페이지는 1.6초가 소요되었습니다. 일부 사이트는 더 느릴 수 있으므로 클라이언트 타임아웃을 30초 이상으로 설정하십시오.
오류 코드
| HTTP | 예시 메시지 | 원인 및 해결 방법 | 과금 여부 |
|---|---|---|---|
| 400 | 'url' must be a valid HTTP or HTTPS URL | 잘못된 형식의 URL | 아니요 |
| 400 | missing field 'url' | url 누락 | 아니요 |
| 401 | Invalid token. | 유효하지 않은 API 키 또는 Authorization 헤더 누락 | 아니요 |
| 404 | failed to fetch URL | 사용 가능한 콘텐츠 없음: 대상 페이지 404, 도메인 미존재, 사설 IP 주소, 사이트 접근 거부, 지원되지 않는 유형 등. 다른 URL을 시도하십시오 | 아니요 |
| 429 | — | 업스트림 요청 제한(25 QPS 및 도메인별 제한) 초과. 잠시 기다린 후 다시 시도하십시오 | 아니요 |
| 503 | no available channels for model deepseek-fetch | 키의 그룹에 해당 API(예: ClaudeCode)가 없습니다. default / svip 키를 사용하십시오 | 아니요 |
| 5xx / 504 | — | 업스트림 내부 오류 또는 가져오기 시간 초과. 나중에 다시 시도하십시오 | 아니요 |
소프트 404는 과금됩니다: 일부 사이트는 누락된 페이지에 대해 404 대신 홈페이지나 안내 페이지로 응답하며, Fetch는 이를 성공적인 가져오기로 처리합니다. 호출하기 전에 URL이 유효한지 확인하십시오.
type은 항상 shell_api_error입니다. HTTP 상태 코드에 따라 분기 처리하십시오.인증
Add Authorization: Bearer YOUR_API_KEY to the request headers
본문
application/json
HTTP / HTTPS URL with a host, up to 8192 characters, no username or password
예시:
"https://docs.apiyi.com/en"
이 페이지가 도움이 되었나요?