# Vimeo API
> Read Vimeo in real time — no login or key needed. Fetch any video's detail (title, description, duration, dimensions, owner, thumbnails, stats), resolve its playable stream URLs (progressive MP4 + HLS) from the public player config, and pull any user's profile, their uploaded videos and the videos they've liked. Browse the videos of any channel, album or group. Users are addressed by Vimeo username or numeric id; every call is live (no cache) and returns the upstream Vimeo shape. 8 endpoints. Built for video discovery, creator analytics and content aggregation on Vimeo. A Vimeo data API — distinct from YouTube, Dailymotion and PeerTube (different platform). No upstream key, no cache.

## 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/vimeo-api/..."
```

## Pricing
- **Free** (Free) — 3,050 calls/Mo, 2 req/s
- **Starter** ($8/Mo) — 61,000 calls/Mo, 8 req/s
- **Pro** ($25/Mo) — 305,000 calls/Mo, 20 req/s
- **Mega** ($54/Mo) — 1,520,000 calls/Mo, 50 req/s

## Endpoints

### Videos

#### `GET /v1/video` — Video detail

**Parameters:**
- `video` (query, required, string) — Video id Example: `76979871`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vimeo-api/v1/video?video=76979871"
```

**Response:**
```json
{
    "data": {
        "id": 76979871,
        "url": "https://vimeo.com/76979871",
        "tags": "",
        "title": "The New Vimeo Player (You Know, For Videos)",
        "width": 1280,
        "height": 720,
        "user_id": 152184,
        "duration": 62,
        "user_url": "https://vimeo.com/staff",
        "user_name": "Vimeo",
        "description": "It may look (mostly) the same on the surface, but under the hood we totally rebuilt our player. Here’s a quick rundown of some of the coolest new features:<br />\r\n<br />\r\n• Lightning fast playback<br />\r\n• Redesigned Share screen<br />\r\n• Closed caption and subtitle compatible<br />\r\n• HTML5 by default<br />\r\n• Purchase-from-player functionality for embedded Vimeo On Demand trailers<br />\r\n• More responsive than ever (go ahead, resize it, we dare you!!!)<br />\r\n<br />\r\nWe’re really proud of these updates. So proud that we made a spiffy new page to showcase all the reasons why we have the best video player in the galaxy. Check it out here: http://vimeo.com/player<br />\r\n<br />\r\nIn short, this is a player that even haters can love.",
        "upload_date": "2013-10-15 14:08:29",
        "embed_privacy": "anywhere",
        "thumbnail_large": "https://i.vimeocdn.com/video/452001751-8216e0571c251a09d7a8387550942d89f7f86f6398f8ed886e639b0dd50d3c90-d_640?region=us",
        "thumbnail_small": "https://i.vimeocdn.com/video/452001751-8216e0571c251a09d7a8387550942d89f7f86f6398f8ed886e639
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/video/streams` — Playable stream URLs

**Parameters:**
- `video` (query, required, string) — Video id Example: `76979871`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vimeo-api/v1/video/streams?video=76979871"
```

**Response:**
```json
{
    "data": {
        "id": "76979871",
        "hls": [
            "https://vod-adaptive-ak.vimeocdn.com/exp=1780392754~acl=%2Fccfaa6de-0af0-44cb-a61a-8ecebadb6ad1%2Fpsid%3D678edfc362310997e3d7b7300acb3c0d9970488f1780389154%2F%2A~hmac=7ac0b6fbb91af4aa49bdf561c0b719f89ac3653be7e400f80872c43d59fea369/ccfaa6de-0af0-44cb-a61a-8ecebadb6ad1/psid=678edfc362310997e3d7b7300acb3c0d9970488f1780389154/v2/playlist/av/primary/sub/170-de,171-es,140662-en,4678937-fr/playlist.m3u8?ext-subs=1&locale=en&omit=opus&pathsig=8c953e4f~aij5c4-6HFmM6_PX2gVwCBSCthsLwdxgnEBzwYlj-i0&r=dXM%3D&rh=4Dvbcs&sf=fmp4",
            "https://skyfire.vimeocdn.com/1780392754-0xe4d519edd8064845f6897caf9bc6ed027de95ac4/ccfaa6de-0af0-44cb-a61a-8ecebadb6ad1/psid=678edfc362310997e3d7b7300acb3c0d9970488f1780389154/v2/playlist/av/primary/sub/170-de,171-es,140662-en,4678937-fr/playlist.m3u8?ext-subs=1&locale=en&omit=opus&pathsig=8c953e4f~aij5c4-6HFmM6_PX2gVwCBSCthsLwdxgnEBzwYlj-i0&r=dXM%3D&rh=4Dvbcs&sf=fmp4"
        ],
        "owner": "Vimeo",
        "title": "The New Vimeo Player (You Know, For Videos)",
        "thumbs": null,
        "duration": 62,
        "progressive": [
            {
                "fps": 24,
                "url": "https://vod-progressive-ak.vimeocdn.com/exp=1780392754~acl=%2Fvimeo-transcode-storage-prod-us-central1-h264-540p%2F01%2F395%2F3%2F76979871%2F468975811.mp4~hmac=ab24e5a8e4c3060eb5147304a68ca08997ad61e697c69dd21aab89e4dc4720e7/vimeo-transcode-storage-prod-us-central1-h264-540p/01/395
…(truncated, see openapi.json for full schema)
```

### Users

#### `GET /v1/user` — User info

**Parameters:**
- `user` (query, required, string) — Username or id Example: `staff`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vimeo-api/v1/user?user=staff"
```

**Response:**
```json
{
    "data": {
        "id": 152184,
        "bio": "Vimeo is the world's most innovative video experience platform. We enable anyone to create high-quality video experiences to better connect and bring ideas to life. We proudly serve our community of millions of users – from creative storytellers to globally distributed teams at the world's largest companies – whose videos receive billions of views each month.",
        "url": "",
        "is_pro": "0",
        "is_plus": "0",
        "is_staff": "0",
        "location": "",
        "created_on": "2007-01-18 11:40:11",
        "videos_url": "https://vimeo.com/staff/videos",
        "profile_url": "https://vimeo.com/staff",
        "display_name": "Vimeo",
        "total_albums": 122,
        "portrait_huge": "https://i.vimeocdn.com/portrait/121863746_300x300?subrect=0%2C0%2C344%2C344&r=cover&sig=54c2fef7b23ff87b9fbff04008bce0bee1125865ef62aa056299edb1cce3e0c4&v=1&region=us",
        "portrait_large": "https://i.vimeocdn.com/portrait/121863746_100x100?subrect=0%2C0%2C344%2C344&r=cover&sig=54c2fef7b23ff87b9fbff04008bce0bee1125865ef62aa056299edb1cce3e0c4&v=1&region=us",
        "portrait_small": "https://i.vimeocdn.com/portrait/121863746_30x30?subrect=0%2C0%2C344%2C344&r=cover&sig=54c2fef7b23ff87b9fbff04008bce0bee1125865ef62aa056299edb1cce3e0c4&v=1&region=us",
        "total_channels": 10,
        "total_contacts": 113,
        "portrait_medium": "https://i.vimeocdn.com/portrait/121863746_75x75?subrect=0%2C0%2C344%2C344&r=
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/user/likes` — User liked videos

**Parameters:**
- `user` (query, required, string) — Username or id Example: `staff`
- `page` (query, optional, string) — Page (1-3)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vimeo-api/v1/user/likes?user=staff"
```

**Response:**
```json
{
    "data": [
        {
            "id": 865212928,
            "url": "https://vimeo.com/865212928",
            "tags": "",
            "title": "Videographer's Haste",
            "width": 1920,
            "height": 1080,
            "user_id": 165554585,
            "duration": 24,
            "liked_on": "2023-09-18 10:15:25",
            "user_url": "https://vimeo.com/user165554585",
            "user_name": "Imperfect Studios",
            "description": "Vimeo teleprompter and script generator.",
            "upload_date": "2023-09-16 23:37:54",
            "embed_privacy": "anywhere",
            "thumbnail_large": "https://i.vimeocdn.com/video/1725014469-7bda320822f261a7d78141265427a990e5dc83de2494f3fee43033f09ac6ebf5-d_640?region=us",
            "thumbnail_small": "https://i.vimeocdn.com/video/1725014469-7bda320822f261a7d78141265427a990e5dc83de2494f3fee43033f09ac6ebf5-d_100x75?region=us",
            "thumbnail_medium": "https://i.vimeocdn.com/video/1725014469-7bda320822f261a7d78141265427a990e5dc83de2494f3fee43033f09ac6ebf5-d_200x150?region=us",
            "user_portrait_huge": "https://i.vimeocdn.com/portrait/defaults-blue_300x300?region=us",
            "user_portrait_large": "https://i.vimeocdn.com/portrait/defaults-blue_100x100?region=us",
            "user_portrait_small": "https://i.vimeocdn.com/portrait/defaults-blue_30x30?region=us",
            "user_portrait_medium": "https://i.vimeocdn.com/portrait/defaults-blue_75x75?region=us",
            "stats
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/user/videos` — User videos

**Parameters:**
- `user` (query, required, string) — Username or id Example: `staff`
- `page` (query, optional, string) — Page (1-3)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vimeo-api/v1/user/videos?user=staff"
```

**Response:**
```json
{
    "data": [
        {
            "id": 1146062919,
            "url": "https://vimeo.com/1146062919",
            "tags": "",
            "title": "Behind the scenes of Vimeo's Short Film Grant Program",
            "width": 3840,
            "height": 2160,
            "user_id": 152184,
            "duration": 87,
            "user_url": "https://vimeo.com/staff",
            "user_name": "Vimeo",
            "description": "",
            "upload_date": "2025-12-12 15:48:16",
            "embed_privacy": "anywhere",
            "thumbnail_large": "https://i.vimeocdn.com/video/2098174665-cc979d3665107e0af390938cdba29ef87bd93267a1452170722bf4c2238ca52f-d_640?region=us",
            "thumbnail_small": "https://i.vimeocdn.com/video/2098174665-cc979d3665107e0af390938cdba29ef87bd93267a1452170722bf4c2238ca52f-d_100x75?region=us",
            "thumbnail_medium": "https://i.vimeocdn.com/video/2098174665-cc979d3665107e0af390938cdba29ef87bd93267a1452170722bf4c2238ca52f-d_200x150?region=us",
            "user_portrait_huge": "https://i.vimeocdn.com/portrait/121863746_300x300?subrect=0%2C0%2C344%2C344&r=cover&sig=54c2fef7b23ff87b9fbff04008bce0bee1125865ef62aa056299edb1cce3e0c4&v=1&region=us",
            "user_portrait_large": "https://i.vimeocdn.com/portrait/121863746_100x100?subrect=0%2C0%2C344%2C344&r=cover&sig=54c2fef7b23ff87b9fbff04008bce0bee1125865ef62aa056299edb1cce3e0c4&v=1&region=us",
            "user_portrait_small": "https://i.vimeocdn.com/portrait/121863746_30x30?subr
…(truncated, see openapi.json for full schema)
```

### Browse

#### `GET /v1/album/videos` — Album videos

**Parameters:**
- `album` (query, required, string) — Album id
- `page` (query, optional, string) — Page (1-3)

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

#### `GET /v1/channel/videos` — Channel videos

**Parameters:**
- `channel` (query, required, string) — Channel id Example: `staffpicks`
- `page` (query, optional, string) — Page (1-3)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/vimeo-api/v1/channel/videos?channel=staffpicks"
```

**Response:**
```json
{
    "data": [
        {
            "id": 1184042470,
            "url": "https://vimeo.com/1184042470",
            "tags": "",
            "title": "DETLEV",
            "width": 2048,
            "height": 1024,
            "user_id": 39469539,
            "duration": 770,
            "user_url": "https://vimeo.com/filmakademiebw",
            "user_name": "Filmakademie Baden-Württemberg",
            "description": "A constantly freezing street sweeper drives to a remote gas station every evening and orders a microwave-warmed Toast Hawaii. He secretly indulges himself into this in a bizarre ritual - the only thing that warms him in his daily life. One night, however, a broadly grinning construction worker is observing him while doing that. Detlev flees in embarrassment and his world begins to fall apart as the desperate search for warmth drags him deeper and deeper into his inner abyss.<br />\n<br />\nCREDITS<br />\nDirector: Ferdinand Ehrhardt<br />\nProducer: Saskia Stirn, Ferdinand Ehrhardt<br />\nDirector of Photography: Sebastian Ganschow, Leoni Gora<br />\nEditing: Andreas Bothe<br />\nFilm Music: Clemens Gutjahr<br />\nSound Design: Manik Möllers, Samuel Krupke<br />\nSound: Perschya Chehrazi, Vincent Egerter<br />\nProduction Design: Céline Ahlbrecht<br />\nConcept Design: Julia Skala, Oscar Jacobson, Hazel Jankowski<br />\nVFX Supervision: Niklas Wolff<br />\nAnimation: Gregor Wittich, Ferdinand Ehrhardt, Valeriia Dyadyuh, Ilya Barrett, Arne Hain, Mona<br />
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/group/videos` — Group videos

**Parameters:**
- `group` (query, required, string) — Group id
- `page` (query, optional, string) — Page (1-3)

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

### Meta

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

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

**Response:**
```json
{
    "data": {
        "auth": "none upstream; gateway requires x-api-key",
        "name": "Vimeo API",
        "note": "Live, no cache. user accepts a Vimeo username or numeric id. Simple API pages cap at 3 (≈60 items). Stream URLs from the player config are public-video only.",
        "source": "Vimeo Simple API (vimeo.com/api/v2) + public player config",
        "endpoints": 8
    },
    "meta": {
        "timestamp": "2026-06-02T08:32:36.237Z",
        "request_id": "68de256a-3245-4e98-b3ae-fbceb1250923"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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