Для кого этот продукт
Используйте специализированные API, когда продукту или процессу нужны актуальные данные открытой страницы в структурированном ответе.
Попробуйте найти продукт, результат, путь endpoint или тему API.
Получайте общедоступные веб-страницы в формате HTML, Markdown или текста с синхронным и асинхронным режимами.
Получайте общедоступные веб-страницы в формате HTML, Markdown или текста с синхронным и асинхронным режимами.
Используйте специализированные API, когда продукту или процессу нужны актуальные данные открытой страницы в структурированном ответе.
Выбирайте, если нужны HTML, текст или Markdown общедоступной страницы, используя рендеринг или асинхронный сбор только при поддержке и необходимости.
Получайте общедоступные веб-страницы в формате HTML, Markdown или текста с синхронным и асинхронным режимами.
Перед интеграцией изучите поддерживаемые операции, входные и выходные данные, режимы выполнения и ограничения ответа.
0-20 Требуется аутентификация. Точную стоимость и правила оплаты каждого элемента см. в справочнике операции.
Используйте документированные операции для сбора, оценки, обогащения, проверки, сравнения, защиты или мониторинга открытых данных.
| Параметр | Тип | обязателен |
|---|---|---|
| url | string | обязателен |
| mode |
string
Допустимые значения
standardresilientrenderedrendered_resilient
По умолчанию
standard
|
опционально |
| output |
string
Допустимые значения
htmltextmarkdown
По умолчанию
html
|
опционально |
| Поле | Тип |
|---|---|
data |
object |
data.url |
string |
data.final_url |
string |
data.status |
integer | null |
data.outcome |
string |
data.content_type |
string | null |
data.content |
string |
data.bytes |
integer |
data.truncated |
boolean |
data.redirect_count |
integer |
data.attempt_count |
integer |
data.duration_ms |
integer |
data.fetched_at |
string |
data.headers |
object |
data.rendered |
boolean |
billing |
object |
billing.credits_charged |
integer |
billing.credits_refunded |
integer |
billing.credits_per_item |
integer |
billing.credits_net |
integer |
billing.policy |
string |
curl -X POST "https://domscan.net/v1/scrape" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"url": "https://example.com/",
"mode": "standard",
"output": "markdown"
}'const response = await fetch("https://domscan.net/v1/scrape", {
method: "POST",
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"url": "https://example.com/",
"mode": "standard",
"output": "markdown"
}),
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.post(
"https://domscan.net/v1/scrape",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
json={
"url": "https://example.com/",
"mode": "standard",
"output": "markdown",
},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"url": "https://example.com/",
"mode": "standard",
"output": "markdown"
}`)
req, err := http.NewRequest(http.MethodPost, "https://domscan.net/v1/scrape", body)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/scrape")
request = Net::HTTP::Post.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
request["Content-Type"] = "application/json"
request.body = JSON.generate({
"url" => "https://example.com/",
"mode" => "standard",
"output" => "markdown"
})
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body)){
"data": {
"url": "https://example.com",
"final_url": "https://example.com",
"status": 1,
"outcome": "success",
"content_type": "domain",
"content": "example",
"bytes": 1,
"truncated": false,
"redirect_count": 1,
"attempt_count": 1,
"duration_ms": 1,
"fetched_at": "2026-08-27T12:00:00Z",
"headers": {},
"rendered": false
},
"billing": {
"credits_charged": 1,
"credits_refunded": 1,
"credits_per_item": 1,
"credits_net": 1,
"policy": "effort_based"
}
}
200 OK400 Неверный запрос401 Не авторизован402 Требуется оплата403 Доступ запрещен409 HTTP 409422 HTTP 422429 Слишком много запросов503 Сервис недоступенВ справочнике API для Веб-скрейпинг описаны параметры, поля ответа, примеры, коды состояния и поддерживаемые режимы выполнения.
Неизвестный или частичный результат означает, что запрошенные данные не удалось определить полностью. Учитывайте состояние результата, уверенность, актуальность и ограничения при дальнейших решениях.
Цена зависит от операции и режима выполнения. Текущую стоимость кредита, требования к аутентификации и правила оплаты каждого элемента см. в справочнике операции.
Используется сотрудниками этих компаний