Read Webpage
Send a URL and get the page's main content: navigation, ads and footers removed, title and body kept, as Markdown or plain text. Useful for letting LLMs read web pages.
Request
POST https://platform.kuaisou.com/api/read-webpage
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The page URL, up to 1024 characters |
| format | string | No | markdown (default) or json; other values are treated as markdown |
Example
curl -X POST https://platform.kuaisou.com/api/read-webpage \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.example.com/article","format":"markdown"}'
Response
{
"code": 200,
"msg": "",
"data": {
"url": "https://www.example.com/article",
"title": "Page title",
"canonical": "https://www.example.com/article",
"lang": "en",
"status": 200,
"format": "markdown",
"quality": 0.92,
"textChars": 3580,
"warnings": [],
"pageType": "article",
"author": "Author",
"siteName": "Site name",
"date": "2025-06-01",
"body": "# Page title\n\nBody text…"
},
"logId": "req_..."
}
Fields
| Field | Description |
|---|---|
| url | The URL actually read (after redirects) |
| title | Page title |
| canonical | The canonical URL the page declares |
| lang | Page language |
| status | The HTTP status the site returned |
| format | The format you asked for |
| quality | Quality score of the extraction |
| textChars | Number of characters in the main content |
| warnings | Notes from the extraction (for example, the content may be incomplete) |
| pageType | Page type (article, list page, …) |
| author, siteName, date | Author, site name and publish date, when the page has them |
| body | The main content: Markdown when format is markdown, plain text when it is json |
| content | Only when format is json: the full extraction result |
Billing
You are charged only when main content is actually extracted. If the page cannot be fetched, the site does not allow crawling, or no content is found, the API returns 422 and charges nothing. See the price table on the platform home page.
Errors
| code | When |
|---|---|
| 400 | The body is not valid JSON, url is empty, or url is longer than 1024 characters |
| 401 | Invalid or disabled API key |
| 402 | Insufficient balance |
| 422 | Reading failed: msg says at which step and why; data has step, status (the site's status) and url |
| 500 | Reading the price, checking the balance or billing failed (not charged) |
| 502 | The reading service is temporarily unavailable (not charged) |
See Errors.
Notes
- We respect robots.txt: pages a site does not allow to be crawled cannot be read.
- Some sites cannot be read for now; the API returns 422 with the reason.