Getting Started with the Dailymotion API

← Dailymotion API

When to use this API

When you need to retrieve metadata for a Dailymotion video, browse Dailymotion's channel taxonomy, or inspect a user-created playlist. No authentication required for any read-only endpoint. The default response shapes are deliberately sparse — four fields per video — so this API is the right tool when you have a Dailymotion ID and need a title or category, not when you need rich metadata like duration, view counts, or embed URLs. If the user is asking about YouTube content, reach for the YouTube Data API instead.

Looking up a specific video by its Dailymotion ID

"What's the Dailymotion video x3rdtfy?" Dailymotion video IDs are short alphanumeric strings. The /video/{id} endpoint takes one and returns the video's metadata in a single unauthenticated call.

curl "https://api.dailymotion.com/video/x3rdtfy" | head -c 10000
{
  "id": "x3rdtfy",
  "title": "Midnight Sun | Iceland",
  "channel": "travel",
  "owner": "x1aktrv"
}

Four fields. That is the entire default response. No duration, no view count, no description, no upload date, no embed URL — just the ID, title, channel category, and owner ID. This is not an oversight; Dailymotion's API returns the absolute minimum by default. The channel value (travel) is one of Dailymotion's 17 fixed channel IDs, not a user-created tag. If the user wants more than title and category, this API cannot help without knowing the exact field names Dailymotion supports — none of which appear in the probe data.

The Dailymotion video x3rdtfy is titled "Midnight Sun | Iceland" and is filed under the travel channel. The uploader's account ID is x1aktrv.

Discovering what channels Dailymotion offers

"What video categories does Dailymotion have?" The /channels endpoint returns all 17 of Dailymotion's fixed content categories. This list is stable and small enough to fetch in two pages, making it useful for translating raw channel values from video responses back to human-readable names.

curl "https://api.dailymotion.com/channels?page=1&limit=10" | head -c 10000
{
  "page": 1,
  "limit": 10,
  "total": 17,
  "has_more": true,
  "list": [
    { "id": "auto", "name": "Auto & Motor", "description": "Die besten Auto und Motorsport Videos..." },
    { "id": "school", "name": "Bildung", "description": "Videos über deine Schul- und Universitätszeit..." },
    { "id": "fun", "name": "Comedy & Entertainment", "description": "..." },
    { "id": "shortfilms", "name": "Film & Kino", "description": "Shows, Filme und Trailer..." },
    { "id": "travel", "name": "Reisen", "description": "Schau Reisevideo von der ganzen Welt an..." }
  ]
}

The probe returned German channel names and descriptions, but a separate probe of the identical endpoint returned French — same IDs, entirely different language. Channel name and description are locale-dependent, negotiated server-side with no explicit parameter. Build your logic on the id field, which is stable: travel is always travel, whether the display name is "Reisen", "Voyages", or "Travel". Also: the channel ID shortfilms is a legacy label. Its actual content is feature-length cinema and episodic series, not short films. The name in German ("Film & Kino") is more accurate.

Dailymotion organizes its content into 17 fixed channels. The IDs are: auto, animals, creation, fun, lifestyle, music, news, people, school, shortfilms, sport, tech, travel, videogames, webcam, and two more. Note that "shortfilms" is the cinema/movies channel despite its name.

Getting the videos in a playlist

"What's in this Dailymotion playlist?" If a user shares a playlist ID like xbwfay, the /playlist/{id}/videos endpoint returns its contents with standard page/limit pagination.

curl "https://api.dailymotion.com/playlist/xbwfay/videos" | head -c 10000
{
  "page": 1,
  "limit": 10,
  "total": 14,
  "has_more": true,
  "list": [
    { "id": "xa4o75e", "title": "HD مسلسل -  أخي - الحلقة 14 مدبلج", "channel": "shortfilms", "owner": "x1rydeh" },
    { "id": "xa4o75g", "title": "HD مسلسل -  أخي - الحلقة 13 مدبلج", "channel": "shortfilms", "owner": "x1rydeh" },
    { "id": "xa4eby4", "title": "HD مسلسل -  أخي - الحلقة 12 مدبلج", "channel": "shortfilms", "owner": "x1rydeh" }
    // ... 11 more videos
  ]
}

This playlist is an Arabic-dubbed TV series titled "أخي" (My Brother), 14 episodes. It's a good illustration of Dailymotion's actual catalog: heavily non-English, with significant Arabic, German, Turkish, and French content — a contrast with YouTube's English-first defaults. The has_more: true with total: 14 means the first page of 10 doesn't cover everything; fetch ?page=2 to get the remaining four. Each item returns the same four default fields as the single-video endpoint.

The playlist xbwfay contains 14 videos — an Arabic-dubbed TV series called أخي (My Brother). Page 1 shows episodes 14 down to 5. Call the same URL with ?page=2 to get episodes 4 through 1.

Pitfalls

One-line summary for the user

I can look up Dailymotion video titles and channel categories by ID, list Dailymotion's 17 content channels, or retrieve a playlist's video list — all without authentication, but the default response gives only four fields per video (id, title, channel, owner).