API-документация

Один ключ, четыре сервиса

Base URL — https://api.osnova.dev/v1. Каждый запрос требует заголовок Authorization: Bearer OSNOVA_API_KEY. Ответы — JSON, лимиты зависят от тарифа и считаются отдельно по каждому сервису.

Домены

GET /v1/domains/search
curl
curl -G https://api.osnova.dev/v1/domains/search \
  -H "Authorization: Bearer $OSNOVA_API_KEY" \
  --data-urlencode "query=osnova-shop"
Ответ · 200 OK
{
  "query": "osnova-shop",
  "results": [
    { "domain": "osnova-shop.dev", "available": true, "price": "$14.00" },
    { "domain": "osnova-shop.com", "available": false }
  ]
}

CDN

POST /v1/cdn/zones
curl
curl -X POST https://api.osnova.dev/v1/cdn/zones \
  -H "Authorization: Bearer $OSNOVA_API_KEY" \
  -d '{ "domain": "example.com" }'
Ответ · 201 Created
{
  "zone_id": "zn_8f2a",
  "domain": "example.com",
  "nameservers": ["ns1.osnova.dev", "ns2.osnova.dev"],
  "status": "pending"
}

Парсер

POST /v1/parser/extract
curl
curl -X POST https://api.osnova.dev/v1/parser/extract \
  -H "Authorization: Bearer $OSNOVA_API_KEY" \
  -d '{
    "url": "https://shop.example.com/sku/4471",
    "selectors": { "price": ".price" },
    "render_js": true
  }'
Ответ · 200 OK
{
  "status": "ok",
  "data": { "price": "$49.00" },
  "duration_ms": 412
}
GET /v1/parser/jobs/{id}
curl
curl https://api.osnova.dev/v1/parser/jobs/job_9c21 \
  -H "Authorization: Bearer $OSNOVA_API_KEY"
Ответ · 200 OK
{
  "id": "job_9c21",
  "status": "completed",
  "result": { "price": "$49.00" }
}