OK.ru Stream Extractor API

Get direct playable video stream URLs from OK.ru / Odnoklassniki links. Simple REST API, API-key auth, per-user rate limiting.

🚀 Get API Key 📖 API Docs
Fast Extraction
Fetches and parses OK.ru embed metadata to return all available quality levels in one call.
🔑
API Key Auth
Register instantly and receive a 64-character API key. No email verification needed.
📊
Rate Limiting
Per-user daily request quotas, resetting at UTC midnight. Check your usage from the dashboard.

API Reference

Base URL: https://okru-api.pages.dev — all endpoints return JSON.

Public Endpoints
POST
/api/register
Register a new account. Returns your API key — save it, it won't be shown again.
POST
/api/extract
Extract stream URLs from an OK.ru video link. Requires X-API-Key header.
Account Endpoints
POST
/api/user/login
Log in with your email plus either your password or your API key. Sets a session cookie for the dashboard.
GET
/api/user/me
Get your profile and today's usage. Requires session cookie from /api/user/login.

Usage Example

1. Register and grab your key:

curl -s -X POST https://okru-api.pages.dev/api/register \
  -H "Content-Type: application/json" \
  -d '{"username":"myuser","email":"me@example.com"}' | jq .api_key

2. Extract streams:

curl -s -X POST https://okru-api.pages.dev/api/extract \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"url":"https://ok.ru/video/1234567890"}'

3. Response:

{
  "streams": [
    { "quality": "1080p", "label": "OK.ru", "url": "https://...m3u8" },
    { "quality": "720p",  "label": "OK.ru", "url": "https://...m3u8" },
    { "quality": "480p",  "label": "OK.ru", "url": "https://...m3u8" }
  ],
  "used": 1,
  "limit": 1000
}

Rate limit response (HTTP 429):

{
  "error": "Daily limit reached",
  "limit": 1000,
  "used": 1000,
  "reset_at": "2025-07-01T00:00:00.000Z"
}