# Coub API
> Live looping-video data from Coub, the social platform built around short, seamlessly looping video clips, served straight from Coub's public API — no key, nothing cached. The explore endpoint returns the trending feed (rising, hot or random coubs across the whole site), each with its title, view, like and recoub counts, duration, channel and tags, plus ready-to-use loop-preview image URLs at several sizes. The tag endpoint returns the newest coubs for a tag — cats, gaming, music — the hashtag feed of Coub. The channel endpoint returns a creator's profile (title, follower and recoub counts) together with their most recent coubs. Every clip comes back cleaned up: the watch URL, the channel handle, the human tags and several preview-image sizes. Everything is live from Coub, nothing stored. This is the looping-video discovery layer for any feed, meme, moodboard, embed or social app. Distinct from YouTube, Vimeo, Dailymotion and other video APIs — this is Coub's looping clips by trend, tag and channel. 3 endpoints, no key on our side.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/coub-api/..."
```

## Pricing
- **Free** (Free) — 4,000 calls/Mo, 3 req/s
- **Starter** ($7/Mo) — 65,000 calls/Mo, 8 req/s
- **Pro** ($20/Mo) — 320,000 calls/Mo, 20 req/s
- **Mega** ($48/Mo) — 1,600,000 calls/Mo, 50 req/s

## Endpoints

### Coub

#### `GET /v1/channel` — A channel profile + recent coubs

**Parameters:**
- `name` (query, required, string) — Channel permalink Example: `coubteam`
- `limit` (query, optional, string) — Max coubs (1-25) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coub-api/v1/channel?name=coubteam&limit=10"
```

**Response:**
```json
{
    "data": {
        "coubs": [
            {
                "id": 66973310,
                "url": "https://coub.com/view/13fjp1",
                "tags": [
                    "@travolta"
                ],
                "likes": 543,
                "title": "Where Is Everybody?",
                "views": 18571,
                "images": {
                    "medium": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/b87a4177012/afcd19368695289e5f7b3/1447480709_00013.jpg"
                },
                "channel": {
                    "title": "CoubTeam",
                    "permalink": "coubteam"
                },
                "recoubs": 61,
                "permalink": "13fjp1",
                "created_at": "2018-02-15T10:33:57Z",
                "duration_sec": 3.92
            },
            {
                "id": 66973175,
                "url": "https://coub.com/view/13fjla",
                "tags": [
                    "vr",
                    "coub hq"
                ],
                "likes": 9,
                "title": "piu piu",
                "views": 551,
                "images": {
                    "medium": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/575789ec71f/7ebb9096cd71d9219a990/1515243923_00011.jpg"
                },
                "channel": {
                    "title": "CoubTeam",
                    "permalink": "coubteam"
                },
                "recoubs": 3,
   
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/explore` — Trending coubs

**Parameters:**
- `category` (query, optional, string) — rising (default), hot or random Example: `rising`
- `limit` (query, optional, string) — Max coubs (1-25) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coub-api/v1/explore?category=rising&limit=10"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "coubs": [
            {
                "id": 254865142,
                "url": "https://coub.com/view/4b0e5c",
                "tags": [
                    "ingrid hunnigan"
                ],
                "likes": 32,
                "title": "always in touch",
                "views": 3944,
                "images": {
                    "large": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/0a24cd24eb2/105b53a824752d41f824f/big_1780677899_00032.jpg",
                    "small": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/0a24cd24eb2/105b53a824752d41f824f/small_1780677899_00032.jpg",
                    "medium": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/0a24cd24eb2/105b53a824752d41f824f/med_1780677899_00032.jpg"
                },
                "channel": {
                    "title": "TBOP4ECTBO",
                    "permalink": "tbop4ectbo-001"
                },
                "recoubs": 4,
                "permalink": "4b0e5c",
                "created_at": "2026-06-05T16:44:29Z",
                "duration_sec": 10
            },
            {
                "id": 254884608,
                "url": "https://coub.com/view/4b0t62",
                "tags": [],
                "likes": 17,
                "title": " ",
                "views": 3776,
                "images": {
                    "large": "https://attachments-cdn-s.coub.com/c
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/tag` — Newest coubs for a tag

**Parameters:**
- `tag` (query, required, string) — Tag (hashtag) Example: `cats`
- `limit` (query, optional, string) — Max coubs (1-25) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coub-api/v1/tag?tag=cats&limit=10"
```

**Response:**
```json
{
    "data": {
        "tag": "cats",
        "page": 1,
        "coubs": [
            {
                "id": 254867619,
                "url": "https://coub.com/view/4b0g25",
                "tags": [
                    "kitten",
                    "cats",
                    "american shorthair"
                ],
                "likes": 7,
                "title": "American Shorthair kitten",
                "views": 2299,
                "images": {
                    "large": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/4c308ada3d3/ad0b51c46526d657a1413/big_1780716408_00032.jpg",
                    "small": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/4c308ada3d3/ad0b51c46526d657a1413/small_1780716408_00032.jpg",
                    "medium": "https://attachments-cdn-s.coub.com/coub_storage/coub/simple/cw_image/4c308ada3d3/ad0b51c46526d657a1413/med_1780716408_00032.jpg"
                },
                "channel": {
                    "title": "Couber1776480831",
                    "permalink": "petzlover-com"
                },
                "recoubs": 1,
                "permalink": "4b0g25",
                "created_at": "2026-06-06T03:26:35Z",
                "duration_sec": 10
            },
            {
                "id": 254864183,
                "url": "https://coub.com/view/4b0dep",
                "tags": [
                    "meme",
                    "memes",
                    "lol",
    
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coub-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "source": "Coub public API v2 (live)",
        "service": "coub-api",
        "endpoints": {
            "GET /v1/tag": "Newest coubs for a tag (tag=cats, limit).",
            "GET /v1/meta": "This document.",
            "GET /v1/channel": "A channel's profile + recent coubs (name=coubteam, limit).",
            "GET /v1/explore": "Trending coubs (category=rising|hot|random, limit)."
        },
        "description": "Live looping-video data from Coub, the social platform of short seamlessly looping clips: the trending feed (rising, hot or random) with view, like and recoub counts, duration, channel and tags; the newest coubs for a tag — the hashtag feed of Coub; and a creator's channel profile (title, followers, recoubs) with their most recent coubs. Each clip includes the watch URL, channel handle, human tags and several preview-image sizes. Live, no key, nothing stored. Distinct from YouTube, Vimeo and Dailymotion video APIs — this is Coub's looping clips by trend, tag and channel.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-09T11:38:19.640Z",
        "request_id": "8818554f-680f-494f-b20c-59f0f5735482"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/coub-api
OpenAPI spec: https://www.oanor.com/api/coub-api/openapi.json
