Core APIs
Extract
Fetch known URLs and get back clean, readable content without navigation, ads, or boilerplate.
Overview
Extract reads one or more URLs you already have and returns cleaned content. Pass a schema to also get structured JSON per page (see Structured extraction).
POST
/extractRequest
Request
curl https://api.ohsee.tech/extract \
-H "Authorization: Bearer ohsee-<your-key>" \
-H "Content-Type: application/json" \
-d '{
"urls": ["https://modelcontextprotocol.io/docs"],
"format": "markdown"
}'Parameters
| Field | Type | Default | Description |
|---|---|---|---|
urlsrequired | string[] | - | 1 to 20 URLs to extract. |
format | string | markdown | Output format: markdown or text. |
include_favicon | bool | false | Include each source's favicon URL. |
schema | object | null | If set, runs structured extraction on each page. Charged at structure rates. |
cache | string | auto | Cache behavior (auto, force, bypass); ignored when a schema is provided. |
cache_ttl | int | 3600 | Cache lifetime in seconds (60 to 86400). |
Response
| Field | Type | Description |
|---|---|---|
results | object[] | Successful pages, each with url, raw_content, optional favicon, and structured when a schema is used. |
failed_results | object[] | Pages that could not be fetched, each with url and error. |
response_time | float | Server processing time in seconds. |
request_id | string | Unique ID for this request. |
credits_charged | int | Credits deducted for this request. |
cache_status | string | null | Cache result for this request. |
200 OK
{
"results": [
{
"url": "https://modelcontextprotocol.io/docs",
"raw_content": "# Model Context Protocol ...",
"favicon": null
}
],
"failed_results": [],
"response_time": 0.88,
"request_id": "a91c33d0",
"credits_charged": 1,
"cache_status": "miss"
}Credits
1 credit per 5 successfully extracted URLs (rounded up). Failed URLs are not charged. With a schema, pages are charged at structured-extraction rates.