Data API documentation

Getting started

Dailymotion is one of the biggest video platforms in the world, and as such, we offer video storage and viewing capability to our users. We would like to make it easy for you developers to integrate video creation and delivery across many platforms (desktop, mobile, consoles, set-top boxes and more). Our powerful and flexible APIs are here to help us help you!

Our APIs, what for?

Our developer tools enable you to access both data regarding videos, users, comments, etc. (via the Data API) and to interact with the player and embed it on your own website or application (via the Player API). At a high level, the range of available API calls covers virtually all facets of Dailymotion. Public data is available with no specific authentication while various parts of the API are available depending on the authenticated status and the permissions the user has granted your application.

Registering

While some basic features are available without authentication, you will need to register yourself as a developer in order to perform more elaborate API calls, authenticate users and act on their behalf.

To start developing with us, it is therefore recommended to register your application and retrieve an API key and secret:

  1. Create a new account or login using your own account on Dailymotion.
  2. Register your application on your developer profile. You will retrieve an API key and an API secret.
  3. You can now start developing your application!

Follow this documentation, try making some calls, read the examples and code samples and make the best out of dailymotion-hosted content!

Tip: use one API key per application/project to separate usages.


Data API overview

Introduction

The Dailymotion Data API is a simple way to access, publish and modify data on Dailymotion. It presents a simple, consistent view of the Dailymotion objects (e.g., users, videos, playlists, etc.) and connections between them (e.g., friend relationship, user's videos, videos in groups/playlists, etc.).

Our API is served over HTTPS, on the following endpoint:

https://api.dailymotion.com

Graph object

Every object in the Dailymotion Data API has a unique identifier (within its class of object). You can access fields of every object by requesting /<OBJECT_CLASS>/<OBJECT_ID>, where <OBJECT_CLASS> can be video, user, playlist, etc. Here are some examples of object URLs:

Connection

All of the objects in the Dailymotion Data API are connected to each other via relationships: users own playlists, playlists own videos, videos own comments, etc. In a Graph API, these relationships are called connections. You can explore the connections between objects using the URL structure /<OBJECT_CLASS>/<OBJECT_ID>/<CONNECTED_OBJECT>. Here are some examples of supported connections:

The complete Data API reference lists all the different objects and connections we support.

Response types

All responses are sent back to you in JSON, which is a lightweight data-interchange format. We return two kinds of structure: item and list.

Items

Items are JSON objects consisting of unordered attribute–value pairs, with a single level of pairs. They are delimited by curly brackets. This kind of response is used when a single object is requested. The properties are the requested field names and their corresponding values. By default, only a certain number of fields are returned, but you can define which fields you want to be returned. See the fields selection section for more details.

{
    "id": "x26ezrb",
    "title": "Hackathon BeMyApp/Dailymotion",
    "channel": "creation",
    "owner": "x1fz4ii"
}

Lists

The list response type is a JSON object containing a list property. The associated value is a JSON array of items. Some other properties are also returned such as:

Response properties Property type Property description
page number The current requested page number, by default page 1 is returned. You can pass the page parameter to request other pages (maximum page number is 100).
limit number The current maximum number of items per response page. You can change this limit using the limit parameter (maximum number of items per page is 100).
explicit boolean This boolean property tells you if there is at least one result that was flagged as explicit in the list. See the family_filter global parameter for more information about how to prevent or allow this behavior.
total number This property defines the total number of items in the result set. It is not always present and may return an approximate number. Do not trust this value to compute pagination as you may not be able to get the real number of pages this value implies. Always prefer the has_more value to know if there is a next page.
has_more boolean This boolean property tells you if there are more pages after the current one. If it is set to true, you can decide to access more results, hence this is helpful when paginating through results. This can also help you decide if you need show a more button in your UI.
{
    "page": 1,
    "limit": 10,
    "has_more": true,
    "list": [
        {"id": "xf2pow", "title": "Tony Bennett plans Winehouse"},
        {"id": "xf2v32", "title": "Escape From City 17"},
        {"id": "xemyk2", "title": "Portal : No Escape"},
        {"id": "xf35xa", "title": "Earthquake Ignites Social Media Frenzy"},
        {"id": "xf02xp", "title": "Triple Kiss! - The Worst Generation #3"},
        {"id": "xf38x0", "title": "Billion Points Finalists"},
        {"id": "xettt9", "title": "The Best of Gamescom 11"},
        {"id": "xf3cxr", "title": "Review: If Only It Was \"30 Minutes or Less\""},
        {"id": "xf3ix6", "title": "Cold War Kids - Cold Toes On The Cold Floor"},
        {"id": "xf3jaa", "title": "Matthew Morrison Tour Rehearsal"}
    ]
}

Performing a call

You can perform different requests on https://api.dailymotion.com in order to interact with data on our platform. Some requests are public (accessing a public video's title and description), some others will require a specific permission (accessing private videos, adding a comment on a video, etc.).

For a full list of writable fields and connections and their supported parameters, please refer to the Data API reference.

GET

A GET request allows you to retrieve data about an object. For instance, getting information about a user is done using a GET request such as https://api.dailymotion.com/user/x1fz4ii.

POST

Some fields are writable. You can edit these via the Dailymotion Data API by issuing an HTTP POST request to the appropriate URL (see the Data API Reference). For example, you can edit the title of a video by posting to /video/<VIDEO_ID>:

curl -H 'Authorization: Bearer <ACCESS_TOKEN>' \
     -F 'title=My New Title' \
     https://api.dailymotion.com/video/<VIDEO_ID>

You can add a comment on the video by posting to /video/<VIDEO_ID>/comments:

curl -H 'Authorization: Bearer <ACCESS_TOKEN>' \
     -F 'message=My comment text' \
     https://api.dailymotion.com/video/<VIDEO_ID>/comments

Since only the owner of an object can write fields and some fields may require extended permissions or scopes granted by the user, write operations require to pass an access token. See the authentication guide for details on how you can request a token and extended permissions from the user during the authentication step.

DELETE

You can delete an object by issuing an HTTP DELETE request to the object URLs, for example:

curl -X DELETE \
     -H 'Authorization: Bearer <ACCESS_TOKEN>' \
     https://api.dailymotion.com/video/<VIDEO_ID>

To work with clients that do not support all of the HTTP methods (like JavaScript clients), you can alternatively issue a GET request to an object URL with the additional parameter method=delete to override the HTTP method. For example, you can delete a comment by issuing a GET request to /comment/<COMMENT_ID>?method=delete.

Fields selection

All objects are composed of fields. They all have an identifier id (unique in the given class of objects) plus some other fields defined in the Data API Reference. Some fields are publicly readable, some other are not and need the user to be authenticated and may require extended permissions granted by the user.

By default, a few fields are returned. To request more specific fields, use the fields parameter with the list of fields you need in the response. We are urging you to always use fields to only request the fields you will use in your application. For instance, to select the id and the title fields of a video object, perform a GET request to /video/<VIDEO_ID>?fields=id,title.

Let's call https://api.dailymotion.com/video/x26ezj5?fields=id,title. The response will be like this:

{
    "id": "x26ezj5",
    "title": "Greetings"
}

If a field is supposed to return a connected object, selecting the field will return the connected object id. In such case you can request any sub-field of this connected object by concatenating the sub-field name to the field, separated by a dot. For instance, the owner field of the video object returns a user object. If you need the screenname and the url of the video owner, you can perform the following request: https://api.dailymotion.com/video/x26ezj5?fields=id,title,owner,owner.screenname,owner.url. The response will look like this:

{
    "id": "x26ezj5",
    "title": "Greetings",
    "owner": "x1fz4ii",
    "owner.screenname": "Dailymotion API",
    "owner.url": "http://www.dailymotion.com/DailymotionAPI"
}

Note: This also works for lists of objects and connections.

Filtering

When searching for a list of objects, some fields can be used for filtering. Those filters are listed in the API reference, under the filters section of every object (see the filters available for the video object for example). To filter, perform a GET request and put your filters as parameters of the query string. For instance, the following request /videos?channel=tech&language=en will list all English-speaking videos in the 'technology' channel.

Just like a field, a filter declares a data type and only takes specific values in input. When a filter is marked as a flag though, it means that it doesn't take any specific value, its presence in the query string is the only thing that matters. Please see the flag type description for more information.

When the response to your call is a list of objects, you can also sort the list by using the sort filter with any of the available values listed in the API reference.

Caching

The REST API uses HTTP cache control mechanisms. If you want to benefit from caching, you have to make sure URLs don't change between requests. To that end, you should always sort query string parameters by alphabetic order and send the access token using the Authorization HTTP header as follow:

curl -H 'Authorization: OAuth <ACCESS_TOKEN>' \
     https://api.dailymotion.com/videos

Since requests are sent over SSL, your requests' responses cannot be stored on public intermediate proxy cache servers. However, if your application can potentially share the cache between different users, you have to be sure you only share responses marked as public in the Cache-Control HTTP header. This should be done automatically by your HTTP library if it respects the Vary HTTP header sent with private cacheable responses though.

More about requests!

You will find call examples and scenarios in the use-cases section. Our API Explorer will also let you test possible calls through its simple interface.

Learn how to authenticate in the authentication section, so you can perform elaborate calls and interact with your user's videos.

If you want to test the availablility of the API, the /echo endpoint is just want you're looking for! Check the documentation on the /echo endpoint.

Error codes

Receiving error codes

The following is an an example of a common error response, resulting from a failed API Call. Errors contains a status code, a message and an error type.

curl "https://api.dailymotion.com/video/xnotfound"
HTTP/1.1 404 Not Found
{
    "error": {
        "code": 404, 
        "message": "This video does not exist or has been deleted.", 
        "type": "not_found"
    }
}

HTTP Status Code

The Dailymotion Data API uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error resulting from invalid provided information (e.g. a required parameter is missing, invalid access token, etc.), and codes in the 5xx range indicate an error with the Dailymotion servers. Hence, we are using the following match for error codes:

Classic HTTP errors Corresponding Dailymotion errors
400
Bad Request
The API call requires authentication but it was not presented or was wholly invalid, or the API call was invalid (invalid_parameter, missing_required_parameter).
401
Unauthorized
A valid access token should be provided. This error may come from an expired access token.
403
Forbidden
The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why. This code is used when requests are being denied due to spam activity, or the request requires higher privileges than provided by the access token.
404
Not Found
The requested object was not found (can also be thrown when you request non active users, censored videos, etc.).
405
Method Not Allowed
Invalid HTTP Method + method_not_allowed error type.
501
Not Implemented
The specified method does not exist (invalid_method).
500
Internal Server Error
This API error covers any other type of problem (e.g.: a temporary problem with the Dailymotion servers) and should turn up only very infrequently. Check the associated message for more information.

Error types

Here's a list of error types you may encounter in errors returned by the API:

Error types Type descriptions
invalid_parameter Your request contains invalid parameters (e.g. you set an invalid data type for a field).
missing_required_parameter You forgot a required parameter in your API call.
access_forbidden Thrown when the user doesn't have the permission to access the data (e.g. missing a required scope to access certain fields).
not_found The requested object was not found.
method_not_allowed The API call is correct, but the method is not allowed (e.g.: replace a video URL before encoding process is over).
invalid_method The API endpoint or object connection is invalid.
write_failure The data you tried to set using the API could not be saved, this is generally a temporary error that will resolve itself over time.

Note: This is not an exhaustive list, only the most common ones are listed here.

Video access error

When requesting access to a video, the API may return a message explaining why the access can't be granted inside the specific access_error field. Here is a list of the different access error codes you may encounter and their descriptions:

Error code Error description
DM001 No video has been specified, you need to specify one.
DM002 Content has been deleted.
DM003 Live content is not available, i.e. it may not have started yet.
DM004 Copyrighted content, access forbidden.
DM005 Content rejected (this video may have been removed due to a breach of the terms of use, a copyright claim or an infringement upon third party rights).
DM006 Publishing in progress...
DM007 Video geo-restricted by its owner.
DM008 Explicit content.
DM009 Explicit content (offsite embed).
DM010 Private content.
DM011 An encoding error occured.
DM012 Encoding in progress...
DM013 This video has no preset (no video stream).
DM014 This video has not been made available on your device by its owner.
DM015 Kids host error.
DM016 Content not available on this website, it can only be watched on Dailymotion.

Guidelines

API rate limits

We enforce some quotas on the Data API calls. For the time being, all stream_*_url fields are rate-limited to 50 calls per day per API key.

Upload is also limited to:

  • 4 videos per hour
  • 2 hours of videos (total) per day
  • 60 minutes per video
  • 2 GB per video

These limits may change on a case-by-case basis. To check your limits at the video level, you can request the limits field on your own user using the API, like this: /me?fields=limits (you will need to be authenticated).

Input/output types

Each graph object field and filter has its own data type, here are the different types available in the API. Please note that any of these can return either their advertised type or a null value if they have no associated data.

string

A simple sequence of UTF-8 characters. Please URL encode all input strings (RFCs 3986 and 1738).

  • "123"
  • "aerft438j"
  • "Simple sequence of UTF-8 characters."
  • /video/x26ezrb?title=A+string+for+a+new+title
  • /video/x26ezrb?title=A%20string%20for%20a%20new%20title
number

Any number, can be integer or floating point. Please use the international notation with a dot between the integer and decimal parts.

  • 0
  • 4
  • 2.95
  • /video/x26ezrb?rental_start_time=3.5
boolean

A truth value. For input values, 0, "false" and "no" all resolve to false and 1, "true" and "yes" all resolve to true.

  • true
  • false
  • /user/x1fz4ii?email_notification=1
  • /user/x1fz4ii?email_notification=false
date

A date expressed as a UNIX timestamp (number of seconds since the UNIX Epoch).

  • 0
  • 1287507036
  • 2147483647
  • /user/x1fz4ii?birthday=532701000
array

An unordered collection of any other scalar data type (most likely strings or numbers). Elements are listed between square brackets and separated by commas. For inputting arrays, simply separate every element with commas.

  • []
  • [1,2,3]
  • ["ld","sd","hq","hd720"]
  • /video/x26ezrb?tags=elements,separated,with,commas
  • /video/x26ezrb?tags=elements%2Cseparated%2Cwith%2Ccommas
dict

A dict is a flat single level deep map that associates various type of values to keys.

  • {}
  • {1:"January",2:"February",3:"March"}
  • {"video_duration":3600,"video_size":2147483648}
url

Any URL, it isn't implied that the URL actually resolves to any resource.

  • http://www.dailymotion.com/videos
  • https://www.dailymotion.com/video/x26ezrb_hackathon-bemyapp-dailymotion_creation
  • /video/x26ezrb?url=http%3A%2F%2Fwww.dailymotion.com%2Fvideo%2Fx26ezrb
email

An email address, it isn't implied that the address actually resolves to any inbox.

  • user@example.org
  • example+value@email.com
  • /user/x1fz4ii?email=user%40example.org
object

Any other Data API object, which means that the returned value will be an identifier and that you can retrieve sub-fields of the corresponding object using the dot-notation. For inputting object values, simply provide the identifier of the object.

flag

Flag is a special type reserved for simple boolean filters. When a filter is marked as a flag, it means that it doesn't take any specific value, its presence in the query string is the only thing that matters. You can still attach a value to them in your query string, but it won't have any effect and will be discarded. Here are the three different ways of using them:

  • /videos?flags=featured,hd,no_live (recommended)
  • /videos?featured&hd&no_live
  • /videos?featured=true&hd=true&no_live=true (not recommended)

Encoding

We strongly recommend the use of UTF-8 encoding for all interactions with the API.

Advanced API

The Dailymotion Data API is designed to make it really easy to get data for individual objects and lists of objects. If your application needs more control over latency and caching, the Advanced API is here to help you. The Advanced API allows you to pass instructions for several operations in a single HTTP request. The protocol also provides a better caching control mechanism.

Call a method

To call a method, all you need is a JSON object with the two following parameters POST-ed on the https://api.dailymotion.com URL endpoint:

Parameter Parameter description
call The HTTP method and resource URI (ex: GET /me, POST /videos). If the method is omitted, the GET method is implied.
args A JSON object with named arguments to send to the method (ex: {"title": "My New Title"}).

Here is a sample request:

{
    "call": "POST /video/xa3krd9",
    "args": {
        "title": "A Title",
        "tags": ["a tag", "another tag"]
    }
}

The following parameters may also be added:

Parameter Parameter description
id An opaque string or number that will be returned in the response.
etag An entity tag used to conditionally call the method (see Cache Management for more information).

Response

A response is a JSON object containing either a result or an error property.

Result

A successful response is a JSON object with a result property containing another JSON object, the result of the method as specified in the response types section.

Example of a result response:

{
    "result": {
        "title": "A title",
        "tags": ["a tag", "another tag"],
        "created_time": 1286368714
    }
}
Error

This kind of response contains information on the error in case an error is thrown by the API. In such case, the JSON returned contains an error property instead of a result property.

An error object contains these three properties: code, message and type. It is described in more details in the error codes section.

Example of an error response:

{
    error: {
        code: 404
        message: "This video does not exist or has been deleted."
        type: "not_found"
    }
}

Multi-call

When latency is important (on mobile applications for instance), it is possible to perform up to 10 actions in a single HTTP request. Actions are put in a JSON array. The responses will be returned in a JSON array in the same order as they where requested.

Here is an example of multi-call request:

[
    {
        "call": "/auth"
    },
    {
        "call": "/video/x1k2",
        "args": {
            "fields": [
                "title",
                "thumbnail_url",
                "owner.screenname"
            ]
        },
        "id": "an opaque id"
    },
    {
        "call": "/invalid/resource"
    }
]

And then the resulting responses:

[
    {
        "result":{
            "id":"x1fz4ii",
            "scope":["manage_comments","manage_playlists","manage_videos"],
            "roles":[],
            "username":"DailymotionAPI",
            "screenname":"Dailymotion API"
        }
    },
    {
        "result":{
            "title":"Hackathon BeMyApp\/Dailymotion",
            "thumbnail_url":"http:\/\/s1.dmcdn.net\/HRnTi.jpg",
            "owner.screenname":"Dailymotion API"
        },
        "cache":{
            "namespace":"SNTeoLU9ihu0vOg90ieK",
            "public":false,
            "maxage":900,
            "etag":"RLiVm1TlezYm6kGhbtXgfQ"
        }
    },
    {
        "error":{
            "code":501,
            "message":"Invalid method name: GET \/invalid\/resource.",
            "type":"invalid_method"
        }
    }
]

Cache management

The Advanced Dailymotion API defines a rich set of caching directives. Caching is the best way to reduce latency in your application by reducing or even removing the size of the data to be transferred.

Expiration caching

If the server decides that a response can be cached for a specific amount of time, then a cache property with the following sub-property will be returned in the response:

{
    "result": {
        ... method result payload ...
    },
    "cache": {
        "namespace": "aRw9pEGA77rsgJ417yT3cA",
        "public": false,
        "maxage": 900,
    }
}

It means that you can store the response data and use it with no re-validation for a maximum of 900 seconds. You should compute cache keys so they contain the method name and all of its arguments.

If the public property is false you must not share this cached response between several Dailymotion users. To do that, the easiest way is to add the OAuth refresh_token or the user identifier in the cache key. On cache hit, if you find both public and private cached responses for the same method/arguments, you should re-validate the most recent cached response.

If the namespace property is present, you have to store it with your cached response. See the cache invalidation section for more information.

Validation caching

A cacheable response may also contains an etag entity tag. This entity tag is an opaque string assigned by the server to a specific response version. If the response contained for the same method/arguments changes, a new and different entity tag will be assigned. An entity tag is tied to the method/arguments; using an entity tag with another method, or the same method but with different arguments, is bad practice and may lead to errors.

Here is an example of response with an entity tag:

{
    "result": {
        ... method result payload ...
    },
    "cache": {
        "namespace": "aRw9pEGA77rsgJ417yT3cA",
        "public": false,
        "maxage": 900,
        "etag": "hAkyy5oqCLW6Xt5hHe-YPg",
    }
}

In this response, the API client has the right to store this response and use the cached version for a maximum of 900 seconds. After this time it can keep the cached data, but must re-validate it. To re-validate, a conditional method call is performed by adding the etag property to the call JSON object:

{
      "etag": "hAkyy5oqCLW6Xt5hHe-YPg",
      "call": "POST /videos"
}

The server will then compare the provided entity tag with the entity tag of the response and, if they match, the response will contain neither the result or error properties, but may contain a cache property containing instructions on what to do with your cached data. For instance, if the maxage property is present, you may mark your stored cached as valid for another maxage seconds with no need for re-validation.

Here is an example of a validated cache response:

{
    "cache": {
        "namespace": "aRw9pEGA77rsgJ417yT3cA",
        "public": false,
        "maxage": 900,
        "etag": "hAkyy5oqCLW6Xt5hHe-YPg",
    }
}

If the etag does not match, a normal response will be returned, as if the etag was not provided.

Cache Invalidation

Namespaces are used to invalidate cached responses. Some responses may not be cacheable, but may affect already cached data. For instance, if you add a video to a user account, all cached responses for video lists of this users may be outdated. All subsequent uses of such cached response must be re-validated with the server.

For instance, here is a response with cache invalidation:

{
    "result": {
        ... method result payload ...
    },
    "cache": {
        "invalidates": [
            "aRw9pEGA77rsgJ417yT3cA",
            "CICtFj-YhnrBHD9fE2wS9g"
        ]
    }
}

To implement this, you may add a key in your cache store for each namespace invalidation with the date of the last invalidated request for this namespace.


Authentication

By default, your application can only access public API data. In order to interact with someone's Dailymotion account, this user has to authorize your application. The Dailymotion Data API uses the OAuth 2.0 protocol for managing authentication and authorization flows between the API and third-party applications.

OAuth 2.0

For accessing and/or manipulating protected resources (such as private user data), the client application (your application) needs to be granted permission to do so. The OAuth 2.0 standard defines a protocol that allows such third-party authorization through the use of access tokens. Access tokens are central in the protocol: those tokens, in the form of strings, are delivered by an authorization server (at Dailymotion) and they enable the client application to securely access protected data on behalf of the resource owner (the end-user).

OAuth 2.0 actor Your scenario when using the Dailymotion API
client application Your application/website/project
resource owner Any Dailymotion user
resource server The Dailymotion API endpoint (https://api.dailymotion.com)
authorization server The Dailymotion authorization endpoint
(https://www.dailymotion.com/oauth/authorize)

Hence, there is a series of back-and-forth exchanges between the client application, the resource owner and the authorization server in order to create an access token, which will be forwarded every time you perform requests to the resource server. The typical exchange is as follows:

  1. The client application asks the resource owner for authorization and receives an authorization grant.
  2. The client application then authenticate itself to the authorization server (by forwarding this authorization grant) in order to obtain an access token. These two steps are described in the retrieving an access token section.
  3. Lastly, the client application uses this access token to request resources to the resource server. Read the using an access token section for more details on how to use the access token when performing an API request.

With no scope provided, your application will only be able to interact with public data such as searching for a public video or requesting comments on a video. If your application needs to read private data or change some user's associated data (post a comment on behalf of someone, modify someone else's video title, etc), your application can request a larger permission scope. How to request extended permissions is described in the Extended Permissions section.

For more in depth information about the OAuth 2.0 protocol and specifications, please refer to the Request For Comments (RFC) #6749.

Retrieving an access token

A typical scenario when using the Dailymotion API is that of an application managing someone's videos and acting on his/her behalf.

For this, three canonical types of grant types exist (given by resource owner to client application, depending on the scenario and technology used):

  1. Authorization code: the authorization server acts as intermediary between the resource owner and the client application. The resource owner is directly authenticated and asked for authorization by the authorization server, before the authorization code is returned to the client application. For this usage, use the authorization_code grant type.
  2. Resource owner password credentials: the client application asks the user for his/her credentials (login and password) and pass them directly to the authorization server to retrieve an access token. The credentials should only be used when there is a high degree of trust between the resource owner and the client application (e.g., the client application is part of the device operating system or a highly privileged application), and when other authorization grant types are not available (such as an authorization code). Because the application has the responsibility to ask the user for his/her credentials, you have to make sure your API secret remains a secret. For this usage, use the password grant type.
  3. Client credentials: authorization is managed using client credentials (application credendials, no authenticated user), for example for publicly available resources in Dailymotion (seldom used). This is enough if you don't need to access the Dailymotion API on behalf of another user. For this usage, use the client_credentials grant type.

Client profiles

For this purpose, there are three main profiles:

Web application profile

The web application profile is suitable for client applications capable of interacting with the end-user's user-agent (typically a web browser) and capable of receiving incoming requests from the authorization server (capable of acting as an HTTP server).

The steps to obtain an access token are:

  1. Once your application has been registered, you get an API key, which we will call your client_id and an API secret, which is your client_secret.

  2. Redirect the user to https://www.dailymotion.com/oauth/authorize with your client_id and the URL the user should be redirected back to after the authorization process (the redirect_uri). For security reason, only redirect_uri starting with the callback URL provided when you created your API key will be accepted (line breaks are for display purposes only):

    https://www.dailymotion.com/oauth/authorize
      ?response_type=code
      &client_id=<API_KEY>
      &redirect_uri=http://www.example.org/callback

    If your redirect_uri has to contain a dynamic part, you can use a slug this way when you specify your application callback URL: http://www.example.org/callback/[<SLUGNAME>]. The <SLUGNAME> part becomes the dynamic part.

  3. If the user authorizes your application, Dailymotion redirects the user back to the redirect_uri you specified with a verification string in the code query parameter. This authorization code can then be exchanged for an OAuth access token by POST-ing to the token server at https://api.dailymotion.com/oauth/token. Pass the exact same redirect_uri as in the previous step (line breaks are for display purposes only):

    POST /oauth/token HTTP/1.1
    Host: api.dailymotion.com
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=authorization_code
      &client_id=<API_KEY>
      &client_secret=<API_SECRET>
      &redirect_uri=http://www.example.org/callback
      &code=<AUTHORIZATION_CODE>

    In return, you will retrieve the following JSON response:

    {
      "access_token": "<ACCESS_TOKEN>",
      "expires_in": 36000,
      "refresh_token": "<REFRESH_TOKEN>"
    }
  4. You can then use the access_token from the response to make requests on behalf of this user. Read the using an access token section for more details.

Note: If the user does not authorize your application, Dailymotion redirects the user to the redirect_uri you specified, and adds both error and error_description parameters to the query.

Note: The access token is valid for the given number of seconds defined by the expires_in parameter of the token server response. You can use the obtained refresh_token to request another access token without the need to ask anything to the user again. See the requesting an access token from a refresh token section for more details.

Note: We strongly advise you to use one of the official Dailymotion SDKs that abstract all of these exchanges for you and make this process easier.

User-Agent profile

The user-agent profile is suitable for client applications residing in a user-agent, typically implemented in a browser using a scripting language such as JavaScript. There, client applications cannot keep secrets confidential and the authentication of the client application is based on the user-agent's same-origin policy.

Unlike the web application profile (in which the client application makes separate requests for end-user authorization and access token), the client application receives the access token as a result of the end-user authorization request in the form of an HTTP redirection. The client application requests the authorization server to redirect the user-agent to another web server or local resource accessible to the user-agent which is capable of extracting the access token from the response and passing it to the client application.

This user-agent profile does not use the client application's API secret since the code resides on the end-user's computer or device which makes the API secret accessible and exploitable. Because the access token is encoded into the redirection URI, it may be exposed to the end-user and other applications residing on the computer or device.

The steps to obtain an access token are:

  1. Once your application has been registered, you get an API key, which we will call your client_id and an API secret (which is not used with this profile).

  2. Redirect the user to https://www.dailymotion.com/oauth/authorize with your client_id, redirect_uri and response_type set to token. If your application is popping up a window, you can trigger the compatibility pop-up version of the authorization window by setting display to popup. For example (line breaks are for display purposes only):

    https://www.dailymotion.com/oauth/authorize
      ?response_type=token
      &client_id=<API_KEY>
      &redirect_uri=http://www.example.org/callback
      &display=popup

    After the user authorizes your application, Dailymotion redirects the user to the redirect_uri you specified with the access token in the URI fragment (line breaks are for display purposes only):

    http://www.example.org/callback
      ?access_token=<ACCESS_TOKEN>
      &expires_in=<EXPIRES_IN_SECONDS>
  3. Use the access token returned above to fetch data from the Dailymotion API on behalf of the user. Read the using an access token section for more details. You can also use JSONP callbacks with the jsonp parameter like so (line breaks are for display purposes only):

    https://api.dailymotion.com/videos
      ?access_token=<ACCESS_TOKEN>
      &jsonp=<CALLBACK_FUNCTION>

Note: If the user does not authorize your application, Dailymotion redirects him to the redirect_uri you specified, and adds both error and error_description parameters to the query.

Note: We strongly advise you to use one of the official Dailymotion SDKs that abstract all of these exchanges for you and make this process easier.

Native application profile

Native client applications are running as native code on the end-user's computer or device (i.e. executing outside a user-agent or as a desktop program). These client applications are often capable of interacting with (or embedding) the end-user's user-agent but are limited in how such interaction affects their end-user experience. In many cases, native applications are incapable of receiving direct callback requests from the server (e.g. firewall, operating system restrictions, etc.).

Native client applications can be implemented in different ways based on their requirements and desired end-user experience. Native client applications can:

  • Use the end-user authorization endpoint as described in the User-Agent section by launching an external user-agent. The client application can capture the response by providing a redirection URI with a custom URI scheme (registered with the operating system to invoke the native client application), or by providing a redirection URI pointing to a server-hosted resource under the client application's control which makes the response available to the client application (e.g. using the window title or other locations accessible from outside the user-agent).

  • Use the end-user authorization endpoint as described in the User-Agent section by using an embedded user-agent. The client application obtains the response by directly communicating with the embedded user-agent.

  • Prompt the end-user for their password credentials and use them directly to obtain an access token. This method is discouraged since users will have to communicate their credentials directly to your client application. Additionally, users who created their account using their Facebook, Google or other third-party accounts won't be able to log-in into your application using this authentication method. Please note that if you have no other choice but to use this method, you are not allowed to store the end-user credentials you obtained.

The steps to obtain an access token using the end-user credentials are:

  1. Once your application has been registered, you get an API key, which we will call your client_id and an API secret, which is your client_secret.

  2. Ask the end-user for his credentials which consist of a username and a password.

  3. Retrieve an OAuth access token by POST-ing to the token server at https://api.dailymotion.com/oauth/token. Set the grant_type to password and pass the client_id (username) and client_password with the user credentials (line breaks are for display purposes only):

    POST /oauth/token HTTP/1.1
    Host: api.dailymotion.com
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=password
      &client_id=<API_KEY>
      &client_secret=<API_SECRET>
      &username=<USER_USERNAME>
      &password=<USER_PASSWORD>

    In return, you will get the following JSON response:

    {
      "access_token": "<ACCESS_TOKEN>",
      "expires_in": 36000,
      "refresh_token": "<REFRESH_TOKEN>"
    }
  4. Use the access token returned by the request above to make requests on behalf of the user. Read the using an access token section for more details.

Note: The access token is valid for a given number of seconds defined by the expires_in parameter of the token server response. You can use the obtained refresh_token to request another access token without the need to ask anything to the user again. See the (requesting an access token from a refresh token)[#using-refresh-tokens] section for more details.

Note: We strongly advise you to use one of the official Dailymotion SDKs that abstract all of these exchanges for you and make this process easier.

Refreshing a token

Some authorization methods provide you with a refresh token in addition to the access token. The access token validity is always limited in time indicated by the expires_in property of the token server response or by a 401 HTTP status code error when used with the API (see the Request For Comments (RFC) #6749 for more in depth information).

Once an access token has expired, you can request another access token without the need to repeatedly ask anything to the end-user, but only if you are in possession of a refresh token. To do that, send the following request to the token server at https://api.dailymotion.com/oauth/token (line breaks are for display purposes only):

POST /oauth/token HTTP/1.1
Host: api.dailymotion.com
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
    &client_id=<API_KEY>
    &client_secret=<API_SECRET>
    &refresh_token=<REFRESH_TOKEN>

In return you will get the following JSON response:

{
    "access_token": "<ACCESS_TOKEN>",
    "expires_in": 36000,
    "refresh_token": "<REFRESH_TOKEN>"
}

In case of error, the JSON object will contain both an error and error_description properties. See the Request For Comments (RFC) #6749 for more details.

Note: We strongly advise you to use one of the official Dailymotion SDKs that abstract all of these exchanges for you and make this process easier.

Note: One of the problems with OAuth 2 is that the specification doesn't offer any mechanism to upgrade the scope of an existing session on refresh. See the extended permissions section for more information.

Extended permissions

In the above examples, the OAuth process will authenticate your application with the Dailymotion user, which will allow you to fetch general information about the user's profile via the Dailymotion API /me endpoint. As mentioned above, if you need to fetch private data associated to the user or you want to request permission to publish content on a user's behalf, you will need to request extended permissions.

To request extended permissions via OAuth 2.0, use the scope parameter in your authorization request, and include a white-space-separated list of all the permissions you want to request. For example this authorization request asks for personal information and full video control (line breaks are for display purposes only):

https://www.dailymotion.com/oauth/authorize
    ?response_type=code
    &client_id=<API_KEY>
    &redirect_uri=http://www.example.org/callback
    &scope=userinfo+manage_videos

Note: One of the problems with OAuth 2 is that the specification doesn't offer any mechanism to upgrade the scope of an existing session. To add new scopes to an already existing session, you first need to call the /logout endpoint and start a new session with your new list of scopes.

Here are a few of the extended permissions available:

Scope Description
email Provides access to the user's primary email address.
userinfo Provides read/write access to some personal user information like address and birthday.
manage_videos Allows to modify or delete the user's uploaded videos and to publish new ones.
manage_comments Allows to publish comments on videos on behalf of the user.
manage_playlists Allows to create/edit/delete playlists on behalf of the user.
manage_tiles Allows to read/write a user's saved tiles.
manage_subscriptions Allows to manage a user's subscriptions.
manage_friends Allows to manage a user's friends.
manage_favorites Allows to add/remove videos from a user's favorites.
manage_groups Allows to manage a user's groups.

There is more to it. Refer yourself to the full Data API reference for a complete list of the information your can access and the permissions needed to request them.

Revoking authorization

Your application should always allow users to revoke authorization granted to your API key. The user can also revoke your application from his profile on Dailymotion, but it's far less user-friendly than having a simple Logout from Dailymotion button in your interface.

To revoke authorization, perform a GET request to the /logout URI with the Authorization header (or access_token query parameter). Read the using an access token section for more details. Once done, your current session (access token and/or refresh token) are no longer valid and you can forget about them in your application.

Form factors

Dailymotion supports a non-standard display parameter to trigger different form factors for the authorization dialog that may be more appropriate for your application:

Parameter value Feature description
page Displays a full-page authorization screen (by default).
popup Displays a compact dialog optimized for web pop-up windows.
mobile Displays an iPhone/Android/smartphone-optimized version of the dialog (deprecated).

For example, to trigger the dialog in a pop-up window, you would redirect the user to (line breaks are for display purposes only):

https://www.dailymotion.com/oauth/authorize
    ?response_type=code
    &client_id=<API_KEY>
    &redirect_uri=http://www.example.org/callback
    &display=popup

Note: Even if you chose page or popup from a known mobile device, the mobile display will be chosen automatically.

Using an access token

At high level, using OAuth 2.0 entails getting an access token for a Dailymotion user via a redirect to Dailymotion. After you obtain the access token, you can perform authorized requests on behalf of this user by including it in all of your API requests using the Authorization HTTP header:

GET /videos HTTP/1.1
Host: api.dailymotion.com
Authorization: Bearer <ACCESS_TOKEN>

You can also provide the access token directly as a query parameter, but this method is not recommended because it's unsafe and incompatible with some other API entry points (like the Advanced API):

https://api.dailymotion.com/videos?access_token=<ACCESS_TOKEN>

Once authenticated on the API, you can use the special identifier /me which refers to the currently authenticated user (alias of /user/<USER_ID>). So the URL https://api.dailymotion.com/me/videos returns the same thing as https://api.dailymotion.com/user/<USER_ID>/videos.

Checking an access token

If you want to retrieve information on your access token, you can perform a GET request of /auth. This request returns diverse information on the user authentified in your application: id, username, screename, extended permissions accepted, roles granted the application through which the token was created.

{
  "id": "x1fz4ii",
  "scope": [
    "manage_comments",
    "manage_videos",
    "userinfo"
  ],
  "roles": [],
  "username": "DailymotionAPI",
  "screenname": "Dailymotion API"
}

Data API reference

Here is a list of the various graph objects available through the Dailymotion Data API. Some of them will only be available for reading, and some others for creation and edition too.

Object name Short description
activity An activity object represents any action performed by a user on Dailymotion, for example: uploading a video, posting a comment, joining a group, etc.
channel A channel object represents a category of videos on Dailymotion (formerly a channel), for example: shortfilms, videogames, news, etc.
comment A comment object represents a message left by a user on a video on Dailymotion.
contest A contest object represents a video contest organized and run on Dailymotion where participants submit their videos and try to win the organizer's prize (if any).
game A game object represents a video-game featured in a Dailymotion video or live show.
group A group object represents a group of Dailymotion users sharing videos around a common topic, for example: Asian music, Walkthrough fans, Globetrotters, etc.
playlist A playlist object represents an ordered list of videos created by a user. Videos in a playlist do not necessarily have anything in common.
report A report object represents a user complaint against a video. Reports can only be created, edited and deleted. They are automatically sorted and sent to the appropriate recipient.
strongtag A strongtag object represents a metadata entity used to enrich and helps describe videos and allows them to be found more easily by browsing or searching. Please note that a strong tag is different from a tag. A tag is a free user character string whereas strong tags comes a full-blown predefined read-only tags database.
subtitle A subtitle object represents a file resource containing closed captioning for a given video.
user A user object represents a Dailymotion user account. Users are at the foundation of every other graph objects, since most of them are created through —or owned by— users. Users also represent the main authentication vector to Dailymotion services.
video The video object is the foundation of Dailymotion' service. Videos are metadata containers wrapped around media streams and can be accessed either directly or through several connections through the Data API.

Global API Parameters

The following query-string parameters are valid on the whole API and can be provided along with any type of request. Some of them are strongly recommended if you want to enhance your end-user experience. To use a global parameter, simply add it to any request's query-string like so:
/video/x26m1j4/comments?family_filter=false&localization=it

Type Name Description
string context Additional call context for this request.
Some resources of the API require that you provide contextual information along with your request in order to return relevant data. This is especially useful when the API cannot retrieve or guess this additional information by itself. Contextual information should only be provided when expressly needed by the resource you are trying to query. Values should be passed as an embedded and URL encoded query string, for example:
?field=data&context=key1%3Dvalue1%26key2%3Dvalue2
string device_filter Filter out content and change media assets.
By default, the device is auto-detected based on the user-agent of the API consumer. Valid values are detect, web, mobile and iptv. Changing this value will filter out content not allowed on the defined device.
boolean family_filter Enable/disable the family filter.
By default, the family filter is turned on. Setting this parameter to false will stop filtering-out explit content from searches and global contexts. You should always check the result's explicit field when applicable as some contexts may still return those contents. You should also flag them in your UI to warn the user about the nature of the content.
string localization Change the default localization of the user.
This will affect results language and content selection. Note that changing the localization won't give access to geoblocked content of the corresponding location. The IP address of the API consumer is always used for this kind of restriction. You can use a standard locale like fr_FR, en_US (or simply en, it) but you can also provide detect to tell the API to detect the most probable locale based on the consumer's location.
boolean ssl_assets Get secured HTTPS URLs for all assets (URLs, images, videos, etc.).
By default, this option is turned off.
string thumbnail_ratio Change the size ratio for all video thumbnails.
By default, this option is set to original. Accepted values are original, widescreen and square.

Activity

An activity object represents any action performed by a user on Dailymotion, for example: uploading a video, posting a comment, joining a group, etc.

Manipulating activities

To retrieve a specific activity object, perform a GET request on /activity/<ACTIVITY_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of activity objects, perform a GET request on /activities. You can also use the connection available through the user graph object. You can then use filters (if any) to filter down the result set, see the filtering section for more information.

Sample activity API call: /activity/xfaxjsj
Test it further with the API Explorer.

Activity fields

Here is the list of fields you can retrieve on every activity object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this activity happened.

string from_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "video"

Object type of this activity' sender.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xbaehkr"

Unique object identifier (unique among all activities)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "activity"

Graph type of this object (hopefully activity)

string object_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user"

Object type of this activity's target.

video object_video
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "xu27gb3"

Activity target object casted as a video if it's a video, null otherwise. You can retrieve sub-fields of this video object using the dot-notation (e.g.: object_video.id).

string type
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.postVideo"

Activity type.

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this activity was last updated.

Activity filters

Here is the list of filters you can use to limit a result set of activity objects. You can use these by passing them as query-string parameters with your request.

from_type
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: video

Limit the result set to this type of activity sender.

ignore_tile_ids
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: Ly9idXp6L2NoYW5uZWwvc2hvcnRmaWxtcw,Ly9idXp6L2NoYW5uZWwvdmlkZW9nYW1lcw

Limit the result set by ignoring this list of tile identifiers.

object_type
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: user

Limit the result set to this type of activity's target.

sort
string Format of the expected value allowed values: recent, old Corresponding values have to respect this format
Sample value: old

Change the default result set ordering.

tile_ids
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: L2Jvb2ttYXJrcy9uaWNvbGFzLWdyZXZldC8x,L215Y2hhbm5lbC9uaWNvbGFzLWdyZXZldC8x

Limit the result set to this list of tile identifiers.

user_ids
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: x25pq7q,x25pq7w

Limit the result set to this list of user identifiers.


Auth

This endpoint enables to access information about the current authenticated user. This relates to the user authenticated using an access token (provided with the appropriate header or as a query-string parameter).

Retrieving current auth information

To retrieve information about the current authenticated user, perform a GET request on /auth. By default, only a small number of default fields are returned, please refer to the complete field list below. For help on requesting more specific fields, see the fields selection section.

Sample auth API call: /auth

Current auth information response

Here is the list of fields you can retrieve when performing a call on /auth.

Field name Description Sample
id The user identifier of the authenticated user. "x1fz4ii"
scope The scope of permissions granted to the authenticated user. ["manage_videos","userinfo"]
roles The list of roles associated to the API key of the authenticated user. []
username The username of the authenticated user. "DailymotionAPI"
screenname The authenticated user's username or full name depending on his preferences. "Dailymotion API"
language The authenticated user spoken language (declarative). "fr"

Channel

A channel object represents a category of videos on Dailymotion (formerly a channel), for example: shortfilms, videogames, news, etc.

Manipulating channels

To retrieve a specific channel object, perform a GET request on /channel/<CHANNEL_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of channel objects, perform a GET request on /channels. You can also use You can then use filters (if any) to filter down the result set, see the filtering section for more information.

Sample channel API call: /channel/music
Test it further with the API Explorer.

Channel fields

Here is the list of fields you can retrieve on every channel object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this channel was created.

string description
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Everything about video-games!"

Comprehensive localized description of this channel.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xteydso"

Unique object identifier (unique among all channels)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "channel"

Graph type of this object (hopefully channel)

string name
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Video Games"

Localized short name of this channel.

string slug
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "video-games"

Slug name of this channel.

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this channel was last updated.

Channel filters

Here is the list of filters you can use to limit a result set of channel objects. You can use these by passing them as query-string parameters with your request.

sort
string Format of the expected value allowed values: popular, alpha Corresponding values have to respect this format
Sample value: popular

Change the default result set ordering.

Channel connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the channel object.

[user] users
public Publicly documented and available for all readable Can be accessed without authentication

List of the top users of this channel.
This connection joins an object of type channel with a list of user objects.

Read the channel's users connection

You can retrieve the list of users connected to a channel object by issuing a GET request to /channel/<CHANNEL_ID>/users. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

[video] videos
public Publicly documented and available for all readable Can be accessed without authentication

List of videos of this channel.
This connection joins an object of type channel with a list of video objects.

Read the channel's videos connection

You can retrieve the list of videos connected to a channel object by issuing a GET request to /channel/<CHANNEL_ID>/videos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.


Comment

A comment object represents a message left by a user on a video on Dailymotion.

Manipulating comments

To retrieve a specific comment object, perform a GET request on /comment/<COMMENT_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To create an object of type comment, perform a POST request on the connection available through the video graph object. Join all the fields you want to specify and their value as an application/x-www-form-urlencoded payload. Please note that, for creation, some fields and/or specific query-string parameters could be mandatory, please refer to the field list below.

Type Parameter Required Description
string language No Language in which this comment was written.

To edit an object of type comment, perform a POST request on /comment/<COMMENT_ID>. Join all the fields you want to update and their new value as an application/x-www-form-urlencoded payload.

To delete an object of type comment, perform a DELETE request on /comment/<COMMENT_ID>. If you do not receive any error (empty result set), it means that the deletion was successful.

Sample comment API call: /comment/xqqa62
Test it further with the API Explorer.

Comment fields

Here is the list of fields you can retrieve on every comment object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this comment was posted.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xtmuqyi"

Unique object identifier (unique among all comments)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "comment"

Graph type of this object (hopefully comment)

string language
public Publicly documented and available for all readable Can be accessed without authentication for creation Can be used for object creation if authenticated and owner of the object min length: 2 Corresponding values have to respect this format max length: 2 Corresponding values have to respect this format
Sample value: "fr"

Language in which this comment was written.

boolean locked
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: false

Defines if this comment is still editable or not (a comment is locked a few minutes after it is posted).

string message
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 1000 Corresponding values have to respect this format
Sample value: "Love this video, you should post more!"

Message body of this comment.

user owner
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xtrkocg"

Author of this comment. You can retrieve sub-fields of this user object using the dot-notation (e.g.: owner.id).

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this comment was last updated.

video video
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "xtrkocg"

Video object this comment is attached to. You can retrieve sub-fields of this video object using the dot-notation (e.g.: video.id).

Comment filters

Here is the list of filters you can use to limit a result set of comment objects. You can use these by passing them as query-string parameters with your request.

sort
string Format of the expected value allowed values: recent, old Corresponding values have to respect this format
Sample value: old

Change the default result set ordering.


Contest

A contest object represents a video contest organized and run on Dailymotion where participants submit their videos and try to win the organizer's prize (if any).

Manipulating contests

To retrieve a specific contest object, perform a GET request on /contest/<CONTEST_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of contest objects, perform a GET request on /contests. You can also use one of the several connections available through the user and video graph objects. You can then use filters (if any) to filter down the result set, see the filtering section for more information.

Sample contest API call: /contests
Test it further with the API Explorer.

Contest fields

Here is the list of fields you can retrieve on every contest object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this contest was created.

string description
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 2000 Corresponding values have to respect this format
Sample value: "Judge the best freestyle football actions!"

Comprehensive description of this contest.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "x43gdxo"

Unique object identifier (unique among all contests)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "contest"

Graph type of this object (hopefully contest)

string name
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 35 Corresponding values have to respect this format
Sample value: "Freestyle Football Contest"

Short descriptive name of this contest.

user owner
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xsa3tx6"

Owner of this contest. You can retrieve sub-fields of this user object using the dot-notation (e.g.: owner.id).

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this contest was last updated.

string url_name
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 35 Corresponding values have to respect this format
Sample value: "Freestyle_Football_Contest_2432_2470"

Unique slug name of this contest to be used in URLs (only alphanum, "-" and "_" characters allowed).

Contest filters

Here is the list of filters you can use to limit a result set of contest objects. You can use these by passing them as query-string parameters with your request.

sort
string Format of the expected value allowed values: recent, active Corresponding values have to respect this format
Sample value: active

Change the default result set ordering.

Contest connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the contest object.

[user] members
public Publicly documented and available for all readable Can be accessed without authentication

List of users associated with this contest.
This connection joins an object of type contest with a list of user objects.

Read the contest's members connection

You can retrieve the list of members connected to a contest object by issuing a GET request to /contest/<CONTEST_ID>/members. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

[video] videos
public Publicly documented and available for all readable Can be accessed without authentication

List of videos associated with this contest.
This connection joins an object of type contest with a list of video objects.

Read the contest's videos connection

You can retrieve the list of videos connected to a contest object by issuing a GET request to /contest/<CONTEST_ID>/videos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.


Echo

This endpoint returns the same exact message which was given as a parameter. It can be used to test the availability and reactivity of the API.

Using echo

To send an /echo request, perform a GET request on /echo. The table below lists all the parameters that can be provided when performing this request:

Type Parameter Required Description
string message Yes The message to be returned by the echo.

Sample echo API call: /echo?message=this+is+a+test

Echo response

Here is the list of fields you can retrieve when performing a call on /echo.

Field name Description Sample
message The message which was given as a parameter. "echo... echo... echo..."

File

This endpoint allows anyone to retrieve a video upload URL, when you need to upload a video on Dailymotion's servers and don't want to upload it on your own server.

File upload

To retrieve an upload URL, perform a GET request on /file/upload. The table below lists the parameters that can be provided when performing this request.

Type Parameter Required Description
string callback_url No The URL where the uploader will be redirected (HTTP 302) after the upload finishes. If this parameter is not provided, the resulting upload parameters will be included in the response body of the file POST as JSON.

Sample file upload API call: /file/upload

File upload response

Here is the list of fields you can retrieve when performing a call on /file/upload.

Field name Description Sample
upload_url The URL you will be able to upload your video to. http://upload-XX.dailymotion.com/upload?uuid=<UUID>&seal=<SEAL>
progress_url An URL to poll the progress of the current upload. A GET request to this URL returns a JSON object with size, received, progress, percent, elapsed and remaining fields. http://upload-XX.dailymotion.com/progress?uuid=<UUID>

Game

A game object represents a video-game featured in a Dailymotion video or live show.

Manipulating games

To retrieve a specific game object, perform a GET request on /game/<GAME_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of game objects, perform a GET request on /games. You can also use You can then use filters (if any) to filter down the result set, see the filtering section for more information.

Sample game API call: /games
Test it further with the API Explorer.

Game fields

Here is the list of fields you can retrieve on every game object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

number audience
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 12083

Sum of the live audience for this game.

url background_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/FiPx1\/1920x1080-i2_.jpg"

URL of this game's background image.

url cover_196_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/FiPx1\/140x196-Qq6.jpg"

URL of this game's cover image (196px height)

url cover_392_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/FiPx1\/280x392-Z3j.jpg"

URL of this game's cover image (392px height)

url cover_800_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/FiPx1\/571x800-VrA.jpg"

URL of this game's cover image (800px height)

url cover_1600_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/FiPx1\/1142x1600-SPt.jpg"

URL of this game's cover image (1600px height)

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this game was added to the database.

string description
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Kick a ball and be paid for doing it."

Comprehensive description of this game.

array genres
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: ["Action","Sports"]

Genres of this game.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "x8afomn"

Unique object identifier (unique among all games)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "game"

Graph type of this object (hopefully game)

url logo_103_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/FiPx1\/144x103F-2Oe.png"

URL of this game's logo (103px height)

url logo_160_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/FiPx1\/223x160F-a2p.png"

URL of this game's logo (160px height)

url logo_272_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/FiPx1\/380x272F-B2Q.png"

URL of this game's logo (272px height)

string publisher
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Electronic Arts"

Publisher of this game.

string title
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "FIFA 14"

Title of this game.

string uid
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "fifa-14"

Uid of this game.

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this game was last updated.

Game filters

Here is the list of filters you can use to limit a result set of game objects. You can use these by passing them as query-string parameters with your request.

flags
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format allowed values: with_audience, suggested Corresponding values have to respect this format
Sample value: with_audience

List of simple boolean flags available to reduce the result set.

search
string Format of the expected value min length: 3 Corresponding values have to respect this format max length: 255 Corresponding values have to respect this format
Sample value: football

Limit the result set to this full text search. If used in conjunction with the suggest filter, it acts as an auto-completer instead, limiting the result set to games whose names start with the value present in the search filter.

suggested
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to games whose names start with the value present in the search filter. Note: the suggest filter can only be used in conjunction with the search filter.

with_audience
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to games with a live-streaming audience.

Game deprecated filters

These deprecated filters were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each filter. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

filters
This filter was deprecated on January 5, 2015. The filters shortcut has been deprecated. From now on, if you need to use a simple boolean filter, either use the new flags system or look for an equivalent in the filters list (e.g.: ?filters=with-audience becomes ?flags=with_audience or simply ?with_audience). Projected end of support: January 5, 2017.
array Format of the expected value allowed values: with-audience, suggest Corresponding values have to respect this format
Sample value: with-audience

List of simple boolean filters available to reduce the result set.

Game connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the game object.

[video] videos
public Publicly documented and available for all readable Can be accessed without authentication

List of videos associated with this game.
This connection joins an object of type game with a list of video objects.

Read the game's videos connection

You can retrieve the list of videos connected to a game object by issuing a GET request to /game/<GAME_ID>/videos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.


Group

A group object represents a group of Dailymotion users sharing videos around a common topic, for example: Asian music, Walkthrough fans, Globetrotters, etc.

Manipulating groups

To retrieve a specific group object, perform a GET request on /group/<GROUP_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of group objects, perform a GET request on /groups. You can also use one of the several connections available through the user and video graph objects. You can then use filters (if any) to filter down the result set, see the filtering section for more information.

Sample group API call: /groups
Test it further with the API Explorer.

Group fields

Here is the list of fields you can retrieve on every group object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

url avatar_40_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/static1-ssl.dmcdn.net\/images\/avatar\/group\/40x40.png.v324293874"

URL of this group's avatar image (40px wide square).

url avatar_80_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/static1-ssl.dmcdn.net\/images\/avatar\/group\/80x80.png.v324293874"

URL of this group's avatar image (80px wide square).

url avatar_160_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/static1-ssl.dmcdn.net\/images\/avatar\/group\/160x160.png.v324293874"

URL of this group's avatar image (160px wide square).

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this group was created.

string description
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 2000 Corresponding values have to respect this format
Sample value: "Football fans united together right here!"

Comprehensive description of this group.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xmaz2j4"

Unique object identifier (unique among all groups)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "group"

Graph type of this object (hopefully group)

string name
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 50 Corresponding values have to respect this format
Sample value: "Football fans"

Short descriptive name of this group.

user owner
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xdhn1d8"

Creator of this group. You can retrieve sub-fields of this user object using the dot-notation (e.g.: owner.id).

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this group was last updated.

string url_name
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 35 Corresponding values have to respect this format
Sample value: "football_fans"

Unique slug name of this group to be used in URLs (only alphanum, "-" and "_" characters allowed)

Group filters

Here is the list of filters you can use to limit a result set of group objects. You can use these by passing them as query-string parameters with your request.

flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to featured groups.

flags
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format allowed values: featured Corresponding values have to respect this format
Sample value: featured

List of simple boolean flags available to reduce the result set.

search
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: football

Limit the result set to this full text search.

sort
string Format of the expected value allowed values: recent, relevance, active Corresponding values have to respect this format
Sample value: active

Change the default result set ordering.

Group deprecated filters

These deprecated filters were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each filter. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

filters
This filter was deprecated on January 5, 2015. The filters shortcut has been deprecated. From now on, if you need to use a simple boolean filter, either use the new flags system or look for an equivalent in the filters list (e.g.: ?filters=featured becomes ?flags=featured or simply ?featured). Projected end of support: January 5, 2017.
array Format of the expected value allowed values: featured Corresponding values have to respect this format
Sample value: featured

List of simple boolean filters available to reduce the result set.

Group connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the group object.

[user] members
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_groups Can be written when authenticated with the specified scope

List of users associated with this group.
This connection joins an object of type group with a list of user objects.

Read the group's members connection

You can retrieve the list of members connected to a group object by issuing a GET request to /group/<GROUP_ID>/members. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any member is connected to an existing group object by issuing a GET request to /group/<GROUP_ID>/members/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a group's members connection

You can connect members to an existing group object one by one by issuing multiple POST requests to /group/<GROUP_ID>/members/<USER_ID>.

Delete a group's members connection

You can disconnect members from a group object by issuing DELETE requests to /group/<GROUP_ID>/members/<USER_ID>. You can also disconnect all members at once by issuing a POST request to /group/<GROUP_ID>/members with an empty ids query-string parameter.
Test it with the API Explorer.

[video] videos
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_groups Can be written when authenticated with the specified scope

List of videos associated with this group.
This connection joins an object of type group with a list of video objects.

Read the group's videos connection

You can retrieve the list of videos connected to a group object by issuing a GET request to /group/<GROUP_ID>/videos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any video is connected to an existing group object by issuing a GET request to /group/<GROUP_ID>/videos/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a group's videos connection

You can connect videos to an existing group object one by one by issuing multiple POST requests to /group/<GROUP_ID>/videos/<VIDEO_ID>.

Delete a group's videos connection

You can disconnect videos from a group object by issuing DELETE requests to /group/<GROUP_ID>/videos/<VIDEO_ID>. You can also disconnect all videos at once by issuing a POST request to /group/<GROUP_ID>/videos with an empty ids query-string parameter.
Test it with the API Explorer.


Locale

A locale is a set of parameters that defines a user's language, country, currency, etc.

Detecting and retrieving locales

To detect the locale of the current requestor, perform a GET request on /locale.

To retrieve the list of locales supported by Dailymotion, perform a GET request on /locales.

In both cases, the list of fields returned is fixed and defined as follow since these calls do not support the fields parameter. You can also return informations on a specific locale by changing your request locale using the localization global parameter.

Sample locale API call: /locale

Locale detection response

Here is the list of fields you will retrieve when performing a call on /locale or /locales.

Field name Description Sample
locale The locale code. "ja_JP"
site_code The site version code associated to the locale. This code is to be used in the API wherever a "localization" parameter is requested "jp"
language The name of the language in English. "Japanese"
localized_language The name of the language in the current API request locale. "Japonais"
locally_localized_language The name of the language in the locale's language. "日本語"
country The name of the country in English "Japan"
localized_country The name of the country in the current API request locale. "Japon"
locally_localized_country The name of the country in the locale's language. "日本"
currency The currency accepted by Dailymotion for this locale. "JPY"

Logout

This endpoint removes the right for the current API key to access the current user account (the user authenticated by the current access token). Once this method is called, all further requests with the same access token will fail and any previously obtained refresh token for this session will be invalidated.

Logging out

To logout a user, perform a GET request on /logout. This call returns an empty JSON object in case of success: {}

Sample logout API call: /logout


Playlist

A playlist object represents an ordered list of videos created by a user. Videos in a playlist do not necessarily have anything in common.

Manipulating playlists

To retrieve a specific playlist object, perform a GET request on /playlist/<PLAYLIST_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of playlist objects, perform a GET request on /playlists. You can also use one of the several connections available through the user and video graph objects. You can then use filters (if any) to filter down the result set, see the filtering section for more information.

To create an object of type playlist, perform a POST request on the connection available through the user graph object. Join all the fields you want to specify and their value as an application/x-www-form-urlencoded payload. Please note that, for creation, some fields and/or specific query-string parameters could be mandatory, please refer to the field list below.

To edit an object of type playlist, perform a POST request on /playlist/<PLAYLIST_ID>. Join all the fields you want to update and their new value as an application/x-www-form-urlencoded payload.

To delete an object of type playlist, perform a DELETE request on /playlist/<PLAYLIST_ID>. If you do not receive any error (empty result set), it means that the deletion was successful.

Sample playlist API call: /playlist/x3ecgj
Test it further with the API Explorer.

Playlist fields

Here is the list of fields you can retrieve on every playlist object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this playlist was created.

string description
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 2000 Corresponding values have to respect this format
Sample value: "Check out the top 10 best goals of this year's championship!"

Comprehensive description of this playlist.

string event_playlist_add
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "playlist.videoAdd.x3ecgj"

Name of the Pushd event sent when a video is added to this playlist.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xd8l7iv"

Unique object identifier (unique among all playlists)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "playlist"

Graph type of this object (hopefully playlist)

string name
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 50 Corresponding values have to respect this format
Sample value: "Best goals of the championship"

Short descriptive name of this playlist.

user owner
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xhf7n2g"

Author of this playlist. You can retrieve sub-fields of this user object using the dot-notation (e.g.: owner.id).

url thumbnail_60_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x60-epG.jpg"

URL of this playlist's first video thumbnail image (60px height).

url thumbnail_120_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x120-lbT.jpg"

URL of this playlist's first video's thumbnail image (120px height).

url thumbnail_180_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x180-Pe8.jpg"

URL of this playlist's first video's thumbnail image (180px height).

url thumbnail_240_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x240-bP7.jpg"

URL of this playlist's first video's thumbnail image (240px height).

url thumbnail_360_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x360-AdG.jpg"

URL of this playlist's first video's thumbnail image (360px height).

url thumbnail_480_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x480-kEp.jpg"

URL of this playlist's first video's thumbnail image (480px height).

url thumbnail_720_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/3CQ3\/x720-LZe.jpg"

URL of this playlist's first video's thumbnail image (720px height).

url thumbnail_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s1-ssl.dmcdn.net\/3CQ3.jpg"

URL of the thumbnail of this playlist's first video (raw, respecting full size ratio).

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this playlist was last updated.

number videos_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 14

Total amount of videos in this playlist.

Playlist deprecated fields

These deprecated fields were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each field. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

string relative_updated_time
This field was deprecated on November 24, 2014. Use the updated_time field and format the result client-side instead. Projected end of support: November 24, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "42 minutes ago"

Localized date and time when this playlist was last updated (formatted).

url thumbnail_large_url
This field was deprecated on July 31, 2014. Use the thumbnail_360_url field instead. Projected end of support: July 31, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/3CQ3\/x240-bP7.jpg"

URL of the thumbnail of this playlist's first video (320px by 240px).

url thumbnail_medium_url
This field was deprecated on July 31, 2014. Use the thumbnail_240_url field instead. Projected end of support: July 31, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/3CQ3\/160x120-9HK.jpg"

URL of the thumbnail of this playlist's first video (160px by 120px).

url thumbnail_small_url
This field was deprecated on July 31, 2014. Use the thumbnail_60_url field instead. Projected end of support: July 31, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/3CQ3\/80x60-LKd.jpg"

URL of the thumbnail of this playlist's first video (80px by 60px).

Playlist filters

Here is the list of filters you can use to limit a result set of playlist objects. You can use these by passing them as query-string parameters with your request.

owner
object Format of the expected value
Sample value: xhf7n2g

Limit the result set to playlists of this user.

search
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: football

Limit the result set to this full text search.

sort
string Format of the expected value allowed values: recent, relevance, alpha, most, least, alphaaz, alphaza Corresponding values have to respect this format
Sample value: relevance

Change the default result set ordering.

Playlist connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the playlist object.

[video] videos
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of videos contained in this playlist (in the order defined by its owner).
This connection joins an object of type playlist with a list of video objects.

Read the playlist's videos connection

You can retrieve the list of videos connected to a playlist object by issuing a GET request to /playlist/<PLAYLIST_ID>/videos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any video is connected to an existing playlist object by issuing a GET request to /playlist/<PLAYLIST_ID>/videos/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a playlist's videos connection

You can connect videos to an existing playlist object one by one by issuing multiple POST requests to /playlist/<PLAYLIST_ID>/videos/<VIDEO_ID>.

You can connect multiple videos to an existing playlist object at once by issuing one POST request to /playlist/<PLAYLIST_ID>/videos?ids=<VIDEO_ID_1>,...,<VIDEO_ID_N>. Note that the order of the identifiers is saved.

Delete a playlist's videos connection

You can disconnect videos from a playlist object by issuing DELETE requests to /playlist/<PLAYLIST_ID>/videos/<VIDEO_ID>. You can also disconnect all videos at once by issuing a POST request to /playlist/<PLAYLIST_ID>/videos with an empty ids query-string parameter.
Test it with the API Explorer.


Report

A report object represents a user complaint against a video. Reports can only be created, edited and deleted. They are automatically sorted and sent to the appropriate recipient.

Manipulating reports

To create an object of type report, perform a POST request on the connection available through the video graph object. Join all the fields you want to specify and their value as an application/x-www-form-urlencoded payload. Please note that, for creation, some fields and/or specific query-string parameters could be mandatory, please refer to the field list below.

Type Parameter Required Description
string message No Message body of this report.
string type No Type of this report.
user user No Author of this report.

To edit an object of type report, perform a POST request on /report/<REPORT_ID>. Join all the fields you want to update and their new value as an application/x-www-form-urlencoded payload.

To delete an object of type report, perform a DELETE request on /report/<REPORT_ID>. If you do not receive any error (empty result set), it means that the deletion was successful.

Sample report API call: /video/x26m1j4/reports
Test it further with the API Explorer.

Report fields

Here is the list of fields you can retrieve on every report object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

string id
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "xuqf1j9"

Unique object identifier (unique among all reports)

Report filters

Here is the list of filters you can use to limit a result set of report objects. You can use these by passing them as query-string parameters with your request.

type
string Format of the expected value allowed values: porn, prohibited, violent, racism, copyrighted, copyrighted-audio, flirt, inappropriate, copyrighted-video, copyrighted-audio-video, humanity_crime, child_porn, privacy, slandering, hateful_content, other, auto-abuse, punt Corresponding values have to respect this format
Sample value: copyrighted

Limit the result set to reports of this type.

user
object Format of the expected value
Sample value: xmp144d

Limit the result set to reports of this user.

video
object Format of the expected value
Sample value: xmp144d

Limit the result set to reports of this video.


Strongtag

A strongtag object represents a metadata entity used to enrich and helps describe videos and allows them to be found more easily by browsing or searching. Please note that a strong tag is different from a tag. A tag is a free user character string whereas strong tags comes a full-blown predefined read-only tags database.

Manipulating strongtags

To retrieve a specific strongtag object, perform a GET request on /strongtag/<STRONGTAG_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

Sample strongtag API call: /strongtag/xmwa
Test it further with the API Explorer.

Strongtag fields

Here is the list of fields you can retrieve on every strongtag object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this strong tag was created.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "x2vtsah"

Unique object identifier (unique among all strongtags)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "strongtag"

Graph type of this object (hopefully strongtag)

string language
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "fr"

The language of the Strongtag

string mid
public Publicly documented and available for all readable Can be accessed without authentication min length: 2 Corresponding values have to respect this format max length: 50 Corresponding values have to respect this format
Sample value: "\/m\/01p19r"

Freebase machine identifier of this strong tag (see: http://wiki.freebase.com/wiki/Machine_ID).

string name
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 255 Corresponding values have to respect this format
Sample value: "United States of America"

Short descriptive name of this strong tag.

string normalizename
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 255 Corresponding values have to respect this format
Sample value: "united-states-of-america"

Normalized name of this strong tag (for use in URLs).

dict type
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: {"\/location\/country":"Country"}

Freebase type of this strong tag (see: http://wiki.freebase.com/wiki/Type).

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this strong tag was last updated.


Subtitle

A subtitle object represents a file resource containing closed captioning for a given video.

Manipulating subtitles

To retrieve a specific subtitle object, perform a GET request on /subtitle/<SUBTITLE_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To create an object of type subtitle, perform a POST request on the connection available through the video graph object. Join all the fields you want to specify and their value as an application/x-www-form-urlencoded payload. Please note that, for creation, some fields and/or specific query-string parameters could be mandatory, please refer to the field list below.

Type Parameter Required Description
string format Yes Data format, either SRT, STL (EBU style) or Time Text (TT) with all the following variants (W3C, SMTPE-TT, EBU-TT)
string language Yes Language of these subtitles.
url url Yes URL pointing to these subtitles data in one of the valid formats. You don't need to host the file, you can use the GET /file/upload API ressource to create a temporary URL to a file of your own, just like when you upload a video source file.

Sample subtitle API call: /video/x26m1j4/subtitles
Test it further with the API Explorer.

Subtitle fields

Here is the list of fields you can retrieve on every subtitle object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xo4mlod"

Unique object identifier (unique among all subtitles)

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "subtitle"

Graph type of this object (hopefully subtitle)

string language
public Publicly documented and available for all readable Can be accessed without authentication for creation Can be used for object creation if authenticated and owner of the object default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "en"

Language of these subtitles.

string language_label
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Fran\u00e7ais"

Subtitles's language in its own language.

url url
public Publicly documented and available for all readable Can be accessed without authentication for creation Can be used for object creation if authenticated and owner of the object
Sample value: "http:\/\/static2.dmcdn.net\/static\/video\/354\/170\/120453:subtitle_en.srt"

URL pointing to these subtitles data in one of the valid formats. You don't need to host the file, you can use the GET /file/upload API ressource to create a temporary URL to a file of your own, just like when you upload a video source file.

Subtitle filters

Here is the list of filters you can use to limit a result set of subtitle objects. You can use these by passing them as query-string parameters with your request.

language
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: en

Limit the result set to subtitles of this language.


User

A user object represents a Dailymotion user account. Users are at the foundation of every other graph objects, since most of them are created through —or owned by— users. Users also represent the main authentication vector to Dailymotion services.

Manipulating users

To retrieve a specific user object, perform a GET request on /user/<USER_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of user objects, perform a GET request on /users. You can also use one of the several connections available through the channel, contest, group and user graph objects. You can then use filters (if any) to filter down the result set, see the filtering section for more information.

To edit an object of type user, perform a POST request on /user/<USER_ID>. Join all the fields you want to update and their new value as an application/x-www-form-urlencoded payload.

Sample user API call: /user/x1fz4ii
Test it further with the API Explorer.

User fields

Here is the list of fields you can retrieve on every user object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

string address
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "715 5th Avenue"

Postal address of this user.

url avatar_25_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/25x25--w1.png"

URL of this user's avatar image (25px wide square).

url avatar_60_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/60x60-As1.png"

URL of this user's avatar image (60px wide square).

url avatar_80_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/80x80-Rf1.png"

URL of this user's avatar image (80px wide square).

url avatar_120_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/120x120-bn1.png"

URL of this user's avatar image (120px wide square).

url avatar_190_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/190x190-ma1.png"

URL of this user's avatar image (190px wide square).

url avatar_240_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/240x240-sU1.png"

URL of this user's avatar image (240px wide square).

url avatar_360_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/360x360-PM1.png"

URL of this user's avatar image (360px wide square).

url avatar_480_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/480x480-CD1.png"

URL of this user's avatar image (480px wide square).

url avatar_720_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s1.dmcdn.net\/AVM\/720x720-Gr1.png"

URL of this user's avatar image (720px wide square).

url avatar_url
private Requires authentication to be accessed write-only Can't be read, only written writable Can be written if authenticated and owner of the object
Sample value: "http:\/\/www.example.org"

URL of an image to change this user's avatar.

date birthday
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope
Sample value: 532652400

Birthday date of this user.

boolean can_create_live
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope
Sample value: true

True if this user can create lives.

string city
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "New York City"

City of residence of this user.

string country
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "US"

Country of residence of this user.

url cover_100_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/GJCWj\/x100-qZJ.jpg"

URL of this user's cover image (height = 100px).

url cover_150_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/GJCWj\/x150-KrI.jpg"

URL of this user's cover image (height = 150px).

url cover_200_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/GJCWj\/x200--y5.jpg"

URL of this user's cover image (height = 200px).

url cover_250_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/s2-ssl.dmcdn.net\/GJCWj\/x250-u-x.jpg"

URL of this user's cover image (height = 250px).

url cover_url
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: "http:\/\/www.example.org"

URL of this user's cover image (original size).

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this user joined the site.

string description
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 2000 Corresponding values have to respect this format
Sample value: "Hi, I'm <i>John<\/i> and I'm here to break <b>everything<\/b>!"

Comprehensive description of this user.

string donation_url
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 400 Corresponding values have to respect this format
Sample value: "https:\/\/www.paypal.com\/johndoe424"

Donation URL of this user.

email email
private Requires authentication to be accessed read scope: email Can be read when authenticated with the specified scope write scope: email Can be written when authenticated with the specified scope
Sample value: "john.doe@provider.com"

Email address of this user.

boolean email_notification
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope
Sample value: true

True if this user can receive email notifications, false otherwise.

string event_delete
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.x1fz4ii.profile.delete"

Name of the Pushd event sent on user deletion.

string event_modify
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.x1fz4ii.profile.edit"

Name of the Pushd event sent on user update.

string event_video_delete
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.x1fz4ii.video.delete"

Name of the Pushd event sent when this user deletes a video.

string event_video_live_offair
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.x1fz4ii.video.live.offAir"

Name of the Pushd event sent when this user puts a live video off air.

string event_video_live_onair
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.x1fz4ii.video.live.onAir"

Name of the Pushd event sent when this user puts a live video on air.

string event_video_modify
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.x1fz4ii.video.modify"

Name of the Pushd event sent when this user updates a video.

string event_video_publish
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user.postVideo.x1fz4ii"

Name of the Pushd event sent when this user post a video.

number facebook_id
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min value: 0 Corresponding values have to respect this format
Sample value: 1000983487930

Numeric Facebook account identifier for this user. Use this to link and unlink a Dailymotion account to a Facebook account. Set the value to null to unlink the accounts.

string facebook_url
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 400 Corresponding values have to respect this format
Sample value: "https:\/\/www.facebook.com\/johndoe424"

Facebook profile URL of this user.

number fans_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 42

Total amount of fans of this user.

string first_name
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "John"

First name of this user.

string fullname
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 50 Corresponding values have to respect this format
Sample value: "John Doe"

Full name of this user.

string gender
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object allowed values: male, female Corresponding values have to respect this format
Sample value: "male"

Gender of this user.

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xj7a3a5"

Unique object identifier (unique among all users)

boolean is_following
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if the authenticated user is following this user. If no user is authentified, it will always return false

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "user"

Graph type of this object (hopefully user)

string language
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "en"

Language used by this user.

string last_name
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Doe"

Last name of this user.

dict limits
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: {"video_duration":3600,"video_size":2147483648}

Returns the various user limits like the maximum allowed duration and size per uploaded video etc. This property can only be obtained for the currently logged in user.

boolean live_notification_followed_onair
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this user has authorized live notifications, false otherwise.

user parent
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "x6duk86"

Identifier of this user's parent (use parent.screenname to access its user name). You can retrieve sub-fields of this user object using the dot-notation (e.g.: parent.id).

boolean partner
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this user is a partner.

string password
private Requires authentication to be accessed write-only Can't be read, only written writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "TrickyPasswd13!"

User account credentials password.

boolean paywall
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this user has an SVOD offer defined.

boolean paywall_content
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

If enabled, then the content from this user can only be access by subscribers

boolean paywall_noads_live
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

If enabled, then the subscribers won't have any ads on live from this user

boolean paywall_noads_vod
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

If enabled, then the subscribers won't have any ads on vod from this user

number paywall_price
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 2.95

Subscription VOD price set on the user, as a float in the current currency or null. See the currency field of the /locale endpoint to retrieve the current currency.

string paywall_subscription_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "monthly"

Subscription recurrence (monthly/weekly).

string phone
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "555-535-2475"

Phone number of this user.

number playlists_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 5

Total amount of playlists of this user.

string post_code
private Requires authentication to be accessed read scope: userinfo Can be read when authenticated with the specified scope write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "10022"

Postal zip code of this user.

string screenname
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 50 Corresponding values have to respect this format
Sample value: "johndoe424"

Returns this user's full name or login depending on the user's preferences.

string status
public Publicly documented and available for all readable Can be accessed without authentication allowed values: pending-activation, disabled, active, unknown Corresponding values have to respect this format
Sample value: "active"

Current user account status.

string twitter_url
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "https:\/\/twitter.com\/johndoe424"

Twitter profile URL of this user.

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this user was last updated.

url url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/johndoe424"

URL of this user's profile on Dailymotion.

string username
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "johndoe424"

User account credentials login.

boolean verified
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this user is a verified partner.

number videos_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 27

Total amount of public videos of this user.

video videostar
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_videos Can be written when authenticated with the specified scope
Sample value: "x6duk86"

Showcased video of this user. You can retrieve sub-fields of this video object using the dot-notation (e.g.: videostar.id).

number views_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 1239873

Total aggregated number of views on all of this user's videos.

string website_url
public Publicly documented and available for all readable Can be accessed without authentication write scope: userinfo Can be written when authenticated with the specified scope min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "http:\/\/www.johndoe424.net"

Personal website URL of this user.

User deprecated fields

These deprecated fields were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each field. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

url background_url
This field was deprecated on July 21, 2014. The custom skin feature has been discontinued. Projected end of support: July 21, 2015.
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: "http:\/\/www.example.org"

URL of this user's background image (Max 1680px by 2000px).

url banner_url
This field was deprecated on July 21, 2014. The custom skin feature has been discontinued. Projected end of support: July 21, 2015.
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: "http:\/\/www.example.org"

URL of this user's banner image (Max 970px by 120px).

string type
This field was deprecated on December 5, 2014. Use the partner and verified fields instead. Projected end of support: December 5, 2015.
public Publicly documented and available for all readable Can be accessed without authentication allowed values: ugc, creative, official Corresponding values have to respect this format
Sample value: "ugc"

Type of user account.

User filters

Here is the list of filters you can use to limit a result set of user objects. You can use these by passing them as query-string parameters with your request.

flags
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format allowed values: online, mostpopular, recommended, partner, verified Corresponding values have to respect this format
Sample value: mostpopular,partner

List of simple boolean flags available to reduce the result set.

ids
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: xk2k3,x1fz4ii,xw83x45

Limit the result set to this list of user identifiers.

language
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: en

Limit the result set to users using this language.

list
string Format of the expected value allowed values: recommended Corresponding values have to respect this format
Sample value: recommended

Limit the result set to this user list.

mostpopular
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to the most popular users.

online
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to users that are currently connected and online.

parent
object Format of the expected value
Sample value: x6duk86

Limit the result set to children of this user.

partner
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to partner users.

flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to recommended users.

recommendedforchannel
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: news

Limit the result set to this channel's top users.

search
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: john

Limit the result set to this full text search.

sort
string Format of the expected value allowed values: recent, relevance, popular, random, daily, weekly, monthly, commented, rated, alpha, alphaZA, alphaAZFullname, alphaZAFullname, activity Corresponding values have to respect this format
Sample value: popular

Change the default result set ordering.

verified
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to verified partner users.

User deprecated filters

These deprecated filters were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each filter. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

creative
This filter was deprecated on December 24, 2014. The official and creative programs have been discontinued. Projected end of support: June 24, 2015.
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to creative users.

filters
This filter was deprecated on January 5, 2015. The filters shortcut has been deprecated. From now on, if you need to use a simple boolean filter, either use the new flags system or look for an equivalent in the filters list (e.g.: ?filters=featured,creative becomes ?flags=featured,creative or simply ?featured&creative). Projected end of support: January 5, 2017.
array Format of the expected value allowed values: online, mostpopular, recommended, official, creative, premium, kids, kidsContentPremium, kidsContentFree, kidsContentPremiumAndFree, kidsMaleGender, kidsFemaleGender, kidsAge1, kidsAge2, promoted-on-games Corresponding values have to respect this format
Sample value: mostpopular,online

List of simple boolean filters available to reduce the result set.

official
This filter was deprecated on December 24, 2014. The official and creative programs have been discontinued. Projected end of support: June 24, 2015.
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to official users.

User connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the user object.

[activity] activities
public Publicly documented and available for all readable Can be accessed without authentication

List of activities associated with this user.
This connection joins an object of type user with a list of activity objects.

Read the user's activities connection

You can retrieve the list of activities connected to a user object by issuing a GET request to /user/<USER_ID>/activities. You can specify the list of fields from the activity objects to be returned using the fields parameter.
Test it with the API Explorer.

[user] blacklistedusers
private Requires authentication to be accessed read scope: manage_history Can be read when authenticated with the specified scope write scope: manage_history Can be written when authenticated with the specified scope

List of blacklisted users that this user doesn't want to see in his recommendations anymore.
This connection joins an object of type user with a list of user objects.

Read the user's blacklistedusers connection

You can retrieve the list of blacklistedusers connected to a user object by issuing a GET request to /user/<USER_ID>/blacklistedusers. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any blacklisteduser is connected to an existing user object by issuing a GET request to /user/<USER_ID>/blacklistedusers/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a user's blacklistedusers connection

You can connect blacklistedusers to an existing user object one by one by issuing multiple POST requests to /me/blacklistedusers/<USER_ID>.

Delete a user's blacklistedusers connection

You can disconnect blacklistedusers from a user object by issuing DELETE requests to /me/blacklistedusers/<USER_ID>. You can also disconnect all blacklistedusers at once by issuing a POST request to /me/blacklistedusers with an empty ids query-string parameter.
Test it with the API Explorer.

[video] blacklistedvideos
private Requires authentication to be accessed read scope: manage_history Can be read when authenticated with the specified scope write scope: manage_history Can be written when authenticated with the specified scope

List of blacklisted videos that this user doesn't want to see in his recommendations anymore.
This connection joins an object of type user with a list of video objects.

Read the user's blacklistedvideos connection

You can retrieve the list of blacklistedvideos connected to a user object by issuing a GET request to /user/<USER_ID>/blacklistedvideos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any blacklistedvideo is connected to an existing user object by issuing a GET request to /user/<USER_ID>/blacklistedvideos/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a user's blacklistedvideos connection

You can connect blacklistedvideos to an existing user object one by one by issuing multiple POST requests to /me/blacklistedvideos/<VIDEO_ID>.

Delete a user's blacklistedvideos connection

You can disconnect blacklistedvideos from a user object by issuing DELETE requests to /me/blacklistedvideos/<VIDEO_ID>. You can also disconnect all blacklistedvideos at once by issuing a POST request to /me/blacklistedvideos with an empty ids query-string parameter.
Test it with the API Explorer.

[user] children
public Publicly documented and available for all readable Can be accessed without authentication

List of this user's children.
This connection joins an object of type user with a list of user objects.

Read the user's children connection

You can retrieve the list of children connected to a user object by issuing a GET request to /user/<USER_ID>/children. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any children is connected to an existing user object by issuing a GET request to /user/<USER_ID>/children/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a user's children connection

You can connect children to an existing user object one by one by issuing multiple POST requests to /me/children/<USER_ID>.

Delete a user's children connection

You can disconnect children from a user object by issuing DELETE requests to /me/children/<USER_ID>. You can also disconnect all children at once by issuing a POST request to /me/children with an empty ids query-string parameter.
Test it with the API Explorer.

[comment] comments
public Publicly documented and available for all readable Can be accessed without authentication

List of comments posted by this user.
This connection joins an object of type user with a list of comment objects.

Read the user's comments connection

You can retrieve the list of comments connected to a user object by issuing a GET request to /user/<USER_ID>/comments. You can specify the list of fields from the comment objects to be returned using the fields parameter.
Test it with the API Explorer.

[contest] contests
public Publicly documented and available for all readable Can be accessed without authentication

List of contests associated with this user.
This connection joins an object of type user with a list of contest objects.

Read the user's contests connection

You can retrieve the list of contests connected to a user object by issuing a GET request to /user/<USER_ID>/contests. You can specify the list of fields from the contest objects to be returned using the fields parameter.
Test it with the API Explorer.

[user] fans
public Publicly documented and available for all readable Can be accessed without authentication

List of this user's fans.
This connection joins an object of type user with a list of user objects.

Read the user's fans connection

You can retrieve the list of fans connected to a user object by issuing a GET request to /user/<USER_ID>/fans. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

[video] favorites
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_favorites Can be written when authenticated with the specified scope

List of videos favorited by this user.
This connection joins an object of type user with a list of video objects.

Read the user's favorites connection

You can retrieve the list of favorites connected to a user object by issuing a GET request to /user/<USER_ID>/favorites. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any favorite is connected to an existing user object by issuing a GET request to /user/<USER_ID>/favorites/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a user's favorites connection

You can connect favorites to an existing user object one by one by issuing multiple POST requests to /me/favorites/<VIDEO_ID>.

Delete a user's favorites connection

You can disconnect favorites from a user object by issuing DELETE requests to /me/favorites/<VIDEO_ID>. You can also disconnect all favorites at once by issuing a POST request to /me/favorites with an empty ids query-string parameter.
Test it with the API Explorer.

[video] features
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_features Can be written when authenticated with the specified scope

List of videos featured by this user.
This connection joins an object of type user with a list of video objects.

Read the user's features connection

You can retrieve the list of features connected to a user object by issuing a GET request to /user/<USER_ID>/features. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any feature is connected to an existing user object by issuing a GET request to /user/<USER_ID>/features/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a user's features connection

You can connect features to an existing user object one by one by issuing multiple POST requests to /me/features/<VIDEO_ID>.

Delete a user's features connection

You can disconnect features from a user object by issuing DELETE requests to /me/features/<VIDEO_ID>. You can also disconnect all features at once by issuing a POST request to /me/features with an empty ids query-string parameter.
Test it with the API Explorer.

[activity] feed
private Requires authentication to be accessed read scope: feed Can be read when authenticated with the specified scope

List of feeds associated with this user.
This connection joins an object of type user with a list of activity objects.

Read the user's feed connection

You can retrieve the list of feed connected to a user object by issuing a GET request to /user/<USER_ID>/feed. You can specify the list of fields from the activity objects to be returned using the fields parameter.
Test it with the API Explorer.

[user] following
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_subscriptions Can be written when authenticated with the specified scope

List of users followed by this user.
This connection joins an object of type user with a list of user objects.

Read the user's following connection

You can retrieve the list of following connected to a user object by issuing a GET request to /user/<USER_ID>/following. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any following is connected to an existing user object by issuing a GET request to /user/<USER_ID>/following/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a user's following connection

You can connect following to an existing user object one by one by issuing multiple POST requests to /me/following/<USER_ID>.

Delete a user's following connection

You can disconnect following from a user object by issuing DELETE requests to /me/following/<USER_ID>. You can also disconnect all following at once by issuing a POST request to /me/following with an empty ids query-string parameter.
Test it with the API Explorer.

[user] friends
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_friends Can be written when authenticated with the specified scope

List of this user's friends.
This connection joins an object of type user with a list of user objects.

Read the user's friends connection

You can retrieve the list of friends connected to a user object by issuing a GET request to /user/<USER_ID>/friends. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any friend is connected to an existing user object by issuing a GET request to /user/<USER_ID>/friends/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a user's friends connection

You can connect friends to an existing user object one by one by issuing multiple POST requests to /me/friends/<USER_ID>.

Delete a user's friends connection

You can disconnect friends from a user object by issuing DELETE requests to /me/friends/<USER_ID>. You can also disconnect all friends at once by issuing a POST request to /me/friends with an empty ids query-string parameter.
Test it with the API Explorer.

[group] groups
public Publicly documented and available for all readable Can be accessed without authentication

List of groups created by this user.
This connection joins an object of type user with a list of group objects.

Read the user's groups connection

You can retrieve the list of groups connected to a user object by issuing a GET request to /user/<USER_ID>/groups. You can specify the list of fields from the group objects to be returned using the fields parameter.
Test it with the API Explorer.

[video] history
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_history Can be written when authenticated with the specified scope

List of recently watched videos
This connection joins an object of type user with a list of video objects.

Read the user's history connection

You can retrieve the list of history connected to a user object by issuing a GET request to /user/<USER_ID>/history. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any history is connected to an existing user object by issuing a GET request to /user/<USER_ID>/history/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a user's history connection

You can connect history to an existing user object one by one by issuing multiple POST requests to /me/history/<VIDEO_ID>.

Delete a user's history connection

You can disconnect history from a user object by issuing DELETE requests to /me/history/<VIDEO_ID>. You can also disconnect all history at once by issuing a POST request to /me/history with an empty ids query-string parameter.
Test it with the API Explorer.

[user] offers
public Publicly documented and available for all readable Can be accessed without authentication

List of offers this user has paid to access.
This connection joins an object of type user with a list of user objects.

Read the user's offers connection

You can retrieve the list of offers connected to a user object by issuing a GET request to /user/<USER_ID>/offers. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any offer is connected to an existing user object by issuing a GET request to /user/<USER_ID>/offers/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a user's offers connection

You can connect offers to an existing user object one by one by issuing multiple POST requests to /me/offers/<USER_ID>.

Delete a user's offers connection

You can disconnect offers from a user object by issuing DELETE requests to /me/offers/<USER_ID>. You can also disconnect all offers at once by issuing a POST request to /me/offers with an empty ids query-string parameter.
Test it with the API Explorer.

[user] parents
public Publicly documented and available for all readable Can be accessed without authentication write scope: delegate_account_management Can be written when authenticated with the specified scope

List of this user's parents.
This connection joins an object of type user with a list of user objects.

Read the user's parents connection

You can retrieve the list of parents connected to a user object by issuing a GET request to /user/<USER_ID>/parents. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any parent is connected to an existing user object by issuing a GET request to /user/<USER_ID>/parents/<USER_ID>. This will return a list containing only the connected user object or an empty list if it is not connected.

Create a user's parents connection

You can connect parents to an existing user object one by one by issuing multiple POST requests to /me/parents/<USER_ID>.

Delete a user's parents connection

You can disconnect parents from a user object by issuing DELETE requests to /me/parents/<USER_ID>. You can also disconnect all parents at once by issuing a POST request to /me/parents with an empty ids query-string parameter.
Test it with the API Explorer.

[playlist] playlists
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of playlists created by this user.
This connection joins an object of type user with a list of playlist objects.

Read the user's playlists connection

You can retrieve the list of playlists connected to a user object by issuing a GET request to /user/<USER_ID>/playlists. You can specify the list of fields from the playlist objects to be returned using the fields parameter.
Test it with the API Explorer.

Create a user's playlists connection

You can create a new playlist object and automatically connect it to an existing user object by issuing a POST request to /me/playlists.

In return, you will receive a dict value containing the newly created object, including its identifier.
Test it with the API Explorer.

Delete a user's playlists connection

You can delete a playlist object connected to a user object the same way you would if it wasn't attached, that is by issuing a DELETE request to /playlist/<PLAYLIST_ID>.
Test it with the API Explorer.

public Publicly documented and available for all readable Can be accessed without authentication

List of users recommended to this user.
This connection joins an object of type user with a list of user objects.

You can retrieve the list of recommended connected to a user object by issuing a GET request to /user/<USER_ID>/recommended. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

[user] relations
public Publicly documented and available for all readable Can be accessed without authentication

List of user accounts related to this user through their parents.
This connection joins an object of type user with a list of user objects.

Read the user's relations connection

You can retrieve the list of relations connected to a user object by issuing a GET request to /user/<USER_ID>/relations. You can specify the list of fields from the user objects to be returned using the fields parameter.
Test it with the API Explorer.

[video] subscriptions
public Publicly documented and available for all readable Can be accessed without authentication

List of videos from this user's subscriptions.
This connection joins an object of type user with a list of video objects.

Read the user's subscriptions connection

You can retrieve the list of subscriptions connected to a user object by issuing a GET request to /user/<USER_ID>/subscriptions. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

[video] videos
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_videos Can be written when authenticated with the specified scope

List of videos uploaded by this user.
This connection joins an object of type user with a list of video objects.

Read the user's videos connection

You can retrieve the list of videos connected to a user object by issuing a GET request to /user/<USER_ID>/videos. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

Create a user's videos connection

You can create a new video object and automatically connect it to an existing user object by issuing a POST request to /me/videos.

In return, you will receive a dict value containing the newly created object, including its identifier.
Test it with the API Explorer.

Delete a user's videos connection

You can delete a video object connected to a user object the same way you would if it wasn't attached, that is by issuing a DELETE request to /video/<VIDEO_ID>.
Test it with the API Explorer.

[video] watchlater
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_videos Can be written when authenticated with the specified scope

List of watch later videos.
This connection joins an object of type user with a list of video objects.

Read the user's watchlater connection

You can retrieve the list of watchlater connected to a user object by issuing a GET request to /user/<USER_ID>/watchlater. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any watchlater is connected to an existing user object by issuing a GET request to /user/<USER_ID>/watchlater/<VIDEO_ID>. This will return a list containing only the connected video object or an empty list if it is not connected.

Create a user's watchlater connection

You can connect watchlater to an existing user object one by one by issuing multiple POST requests to /me/watchlater/<VIDEO_ID>.

Delete a user's watchlater connection

You can disconnect watchlater from a user object by issuing DELETE requests to /me/watchlater/<VIDEO_ID>. You can also disconnect all watchlater at once by issuing a POST request to /me/watchlater with an empty ids query-string parameter.
Test it with the API Explorer.


Video

The video object is the foundation of Dailymotion' service. Videos are metadata containers wrapped around media streams and can be accessed either directly or through several connections through the Data API.

Manipulating videos

To retrieve a specific video object, perform a GET request on /video/<VIDEO_ID>. By default, only a small number of fields marked as default are returned (such as the object identifier), please refer to the complete field list below. For help on requesting specific fields, see the fields selection section.

To retrieve a list of video objects, perform a GET request on /videos. You can also use one of the several connections available through the channel, contest, game, group, playlist, user and video graph objects. You can then use filters (if any) to filter down the result set, see the filtering section for more information.

To create an object of type video, perform a POST request on Join all the fields you want to specify and their value as an application/x-www-form-urlencoded payload. Please note that, for creation, some fields and/or specific query-string parameters could be mandatory, please refer to the field list below.

To edit an object of type video, perform a POST request on /video/<VIDEO_ID>. Join all the fields you want to update and their new value as an application/x-www-form-urlencoded payload.

To delete an object of type video, perform a DELETE request on /video/<VIDEO_ID>. If you do not receive any error (empty result set), it means that the deletion was successful.

Sample video API call: /video/x26m1j4
Test it further with the API Explorer.

Video fields

Here is the list of fields you can retrieve on every video object. You can retrieve these using the fields query-string parameter on any graph object request. See the fields selection section for more information.

boolean 3d
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video is in 3D format.

dict access_error
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: {"title":"Error occured","message":"An <b>error<\/b> occured!","raw_message":"An error occured!","code":"DMXXX"}

Error message explaining why the access to this video can't be granted. title contains a short formatting-free description of the problem. message contains a long and possibly HTML-formatted description of the problem. raw_message contains a long formatting-free description of the problem. code contains the error code associated with the error (see the description of error codes).

Reading and/or editing this field requires some contextual information. Please refer to the API global parameters list for more information about context.

Context Description Required For reading For writing
embedder_url URL of the page that embeds the video. No Yes No
explicit whether or not an explicit video can be shown on an embedded player. No Yes No
urlback the URL to show the user if the video is not accessible. No Yes No
date added_in_playlist_at
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this video was added in one of the current user's playlists.

boolean ads
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

Defines if this video accepts associated ads.

boolean allow_comments
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if posting comments on this video is allowed.

boolean allow_embed
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video can be embedded outside of Dailymotion.

boolean allowed_in_groups
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this video can be added to groups.

boolean allowed_in_playlists
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this video can be added to playlists.

number aspect_ratio
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 1.7777777

Aspect ratio of this video (i.e.: 1.33333 for 4/3, 1.77777 for 16/9...).

number audience
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 450

Current audience for a live stream event from the audience meter. null if the audience shouldn't be taken into consideration.

array available_formats
public Publicly documented and available for all readable Can be accessed without authentication allowed values: l1, l2, ld, sd, hq, hd720, hd1080, uhd1440, uhd2160, drm Corresponding values have to respect this format
Sample value: ["ld","sd","hq","hd720","hd1080"]

List of available stream formats for this video.

number bookmarks_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 102

Total amount of times this video has been added to a user's favorites.

boolean broadcasting
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this live stream has started and is publicly available.

channel channel
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object default This field is returned by default when not asking for specific fields
Sample value: "news"

Channel of this video. You can retrieve sub-fields of this channel object using the dot-notation (e.g.: channel.id).

user claimer
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "xot2yqf"

User claiming revenue sharing on this video. You can retrieve sub-fields of this user object using the dot-notation (e.g.: claimer.id).

string cleeng_svod_offer_id
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "S920651383_B1"

SVOD offer identifier of this video.

string cleeng_tvod_offer_id
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "S9219823783_C1"

TVOD offer idendifier of this video.

number comments_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 93

Total amount of comments on this video.

string country
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "US"

Country of this video (declarative, may be null).

date created_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this video was uploaded.

number delay
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min value: 0 Corresponding values have to respect this format max value: 600 Corresponding values have to respect this format
Sample value: 120

Delay to add to the broadcast on the ingest (set to 0 for no delay).

string description
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 3000 Corresponding values have to respect this format
Sample value: "This is a sample description for my video."

Comprehensive description of this video.

number duration
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 423

Duration of this video in seconds.

string duration_formatted
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "07:03"

Duration of this video (human readable).

string embed_html
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "<iframe frameborder=\"0\" src=\"http:\/\/www.dailymotion.com\/embed\/video\/x26m1j4\" width=\"480\" height=\"270\""

HTML embedding code.

url embed_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/embed\/video\/x26m1j4"

URL to embed this video.

number encoding_progress
public Publicly documented and available for all readable Can be accessed without authentication min value: -1 Corresponding values have to respect this format max value: 100 Corresponding values have to respect this format
Sample value: 22

When this video status field is set to processing, this parameter indicates a number between 0 and 100 corresponding to the percentage of encoding already completed. When this value reaches 100, it's possible for the owner to play his video. For other statuses this parameter returns -1. See also publishing_progress.

date end_time
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: 1404129540

End date and time of this live stream.

string event_delete
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "live.x26m1j4.delete"

Name of the Pushd event sent on video deletion.

string event_live_offair
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "live.x26m1j4.offAir"

Name of the Pushd event sent on video deletion.

string event_live_onair
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "live.x26m1j4.onAir"

Name of the Pushd event sent when the live goes on air.

string event_modify
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "live.x26m1j4.modify"

Name of the Pushd event sent on live stream modification.

boolean explicit
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this video is explicit.

date favorited_at
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this video was bookmarked by the current user.

url filmstrip_60_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/static2.dmcdn.net\/static\/video\/184\/210\/46012481:jpeg_preview_contact.jpg?20120608161743"

URL of the filmstrip sprite of this video. 100 images arranged in a 10x10 grid. Not available for short videos.

game game
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: "xot2yqf"

Game associated to this video. You can retrieve sub-fields of this game object using the dot-notation (e.g.: game.id).

string genre
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Comedy"

Genre (extended data) of this video.

array geoblocking
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: ["allow","fr","us","it"]

List of countries where this video is or isn't accessible. A list of country codes (ISO 3166-1 alpha-2) starting with the deny or allow (default) keyword to define if this is a black or a whitelist, e.g.: both ["allow", "fr", "us", "it"] and ["fr", "us", "it"] will allow this video to be accessed in France, US and Italy and deny all other countries. On the other hand, ["deny", "us", "fr"] will deny access to this video in the US and France and allow it everywhere else. An empty list [] or simply ["allow"] (the default) will revert the behavior to allow from everywhere.

array geoloc
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: [-122.40061283112,37.782112059896]

Geolocalization for this video. Result is an array with the longitude and latitude using point notation. Longitude range is from -180.0 (West) to 180.0 (East). Latitude range is from -90.0 (South) to 90.0 (North).

string id
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xr6jifd"

Unique object identifier (unique among all videos)

string isrc
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "FR-6V8-21-83311"

Detected ISRC (International Standard Recording Code) of the soundtrack.

string item_type
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "video"

Graph type of this object (hopefully video)

string language
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "en"

Language of this video. This value is declarative and corresponds to the user-declared spoken language of the video.

date live_ad_break_end_time
private Requires authentication to be accessed read scope: manage_videos Can be read when authenticated with the specified scope
Sample value: 1287507036

Estimated time for the end of the commercial ad break.

boolean live_can_ad_break
private Requires authentication to be accessed read scope: manage_videos Can be read when authenticated with the specified scope
Sample value: true

Returns if the owner of this live stream can launch an ad break.

url live_frag_publish_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/upload-03.dailymotion.com\/live?seal=..."

URL to publish the fragmented live stream on. The current logged in user need to own this video in order to retrieve this field.

dict live_ingests
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: {"Default":"publish.dailymotion.com"}

List of available live ingests.

number live_launch_ad_break
private Requires authentication to be accessed write scope: manage_videos Can be written when authenticated with the specified scope min value: 1 Corresponding values have to respect this format max value: 10 Corresponding values have to respect this format
Sample value: 2

Launches a given number of ad breaks for this live stream.

url live_publish_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "rtmp:\/\/publish.dailymotion.com\/publish-dm\/x26m1j4?auth=..."

URL to publish the live source stream on.

The current logged in user need to own this video in order to retrieve this field.

Reading and/or editing this field requires some contextual information. Please refer to the API global parameters list for more information about context.

Context Description Required For reading For writing
refresh Pass this context value (refresh=true) if you need to refresh the stream key for the publish URL. No Yes No
string media_type
public Publicly documented and available for all readable Can be accessed without authentication allowed values: audio, video Corresponding values have to respect this format
Sample value: "video"

Media type of this content.

array mediablocking
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: ["country\/fr\/media\/iptv","country\/fr\/media\/mobile"]

List of blocking rules per country and device to be applied on this video. Each rule has the following format : country/[country code]/media/[media id]. Available country codes are: ar, at, br, ca, ch, cn, de, dk, es, fr, gb, gr, ie, in, it, js, jp, kr, mx, nl, pl, pr, pt, ro, ru, se, tr, us, all and other. Available medias identifiers are: iptv, mobile, tvhz, web and other.

string metadata_credit_actors
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Michael J. Fox, Christopher Lloyd"

Actors playing in this video.

string metadata_credit_director
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Robert Zemeckis"

Director of this video.

string metadata_genre
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object allowed values: drama, comedy, realitytelevision, animation, documentary, sitcom, gameshow, sciencefiction, talkshow, fantasy, action, anime, adventure, soapopera, miniseries, news, crimefiction, romance, sports, variety, thriller, music Corresponding values have to respect this format
Sample value: "action"

Genre of this video.

string metadata_original_language
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "en"

Original language code (ISO-3166) of this video.

string metadata_original_title
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Back to the Future"

Original title of this video.

string metadata_released
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "1985-07-03"

Date of release or production of this video (RFC-822).

string metadata_show_episode
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "10"

Number or name of the episode of this video.

string metadata_show_season
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "Season 3"

Number or name of the season of this video.

string metadata_visa
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "60261"

Visa number of this video.

string mode
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object allowed values: vod, simulcast, live Corresponding values have to respect this format
Sample value: "vod"

Stream mode.

boolean moderated
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this live stream is moderated.

string muyap
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "BXjVm33LBNCIGfS6GBNw4A=="

Detected MUYAP (Turkish Phonographic Industry Society Identifier) of the soundtrack.

boolean onair
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video is in live mode and currently airing.

user owner
public Publicly documented and available for all readable Can be accessed without authentication default This field is returned by default when not asking for specific fields
Sample value: "xot2yqf"

Owner of this video. You can retrieve sub-fields of this user object using the dot-notation (e.g.: owner.id).

boolean partner
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if the video is owned by a partner.

boolean paywall
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if the access to this video is subject to conditions.

boolean personal
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video is personal (not indexed in search engine and recommendations).

boolean poster
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video has a poster image.

url poster_45x60_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/45x60-abc.jpg"

URL of this video's poster image (45x60).

url poster_90x120_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/95x120-abc.jpg"

URL of this video's poster image (95x120).

url poster_135x180_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/135x180-abc.jpg"

URL of this video's poster image (135x180).

url poster_180x240_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/180x240-abc.jpg"

URL of this video's poster image (180x240).

url poster_270x360_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/270x360-abc.jpg"

URL of this video's poster image (270x360).

url poster_360x480_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/360x480-abc.jpg"

URL of this video's poster image (360x480).

url poster_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.myserver.com\/path\/to\/file.jpeg"

URL of this video's poster image (540x720).

string price_details
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "$2.95 per week"

Price and duration for a TVOD or SVOD video.

boolean private
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this video is private.

string private_id
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "k1KqUqDdmllgej374a2"

The private video id. Null if the authentificated user is not the owner of this video. Although successive calls will generate different ids, a private id generated for a given video will always be valid. Beware that if the video is private and you disclose this private id, your video is no longer private.

boolean published
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: true

True if this video is published (may still be waiting for encoding, see the status field for more information).

number publishing_progress
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format max value: 100 Corresponding values have to respect this format
Sample value: 22

When this video status field is set to processing, this parameter indicates a number between 0 and 100 corresponding to the percentage of progress from the status waiting to ready. Unlike encoding_progress that can reach 100 well before the switch from processing to ready, this value will not.

string record_status
public Publicly documented and available for all readable Can be accessed without authentication write scope: manage_records Can be written when authenticated with the specified scope allowed values: started, stopped Corresponding values have to respect this format
Sample value: "started"

Current state of the recording process of this video.

video recorded_from
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "xot2yqf"

Parent live stream video of a video recording. You can retrieve sub-fields of this video object using the dot-notation (e.g.: recorded_from.id).

string recurrence
public Publicly documented and available for all readable Can be accessed without authentication allowed values: once, daily, weekly Corresponding values have to respect this format
Sample value: "daily"

Recurrence of this live stream.

string rental_duration
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object allowed values: 3, 24, 48 Corresponding values have to respect this format
Sample value: "24"

Standard rental duration of this video in hours. Will be null if this video is not behind a paywall

string rental_price
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "1.95"

Price of renting this video as a float in the current currency or null if this video is not behind a paywall. See the currency field of the /locale endpoint to retrieve the current currency.

string rental_price_formatted
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "$1.95"

Price of renting this video, formatted with currency according to the request localization. Will be null if this video is not behind a paywall.

number rental_start_time
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min value: 0 Corresponding values have to respect this format
Sample value: 3

Timelapse of this video free preview, in seconds.

dict sharing_urls
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: {"facebookURL":"...","twitterURL":"..."}

URLs to share this video on social networks.

Reading and/or editing this field requires some contextual information. Please refer to the API global parameters list for more information about context.

Context Description Required For reading For writing
embedder_url URL of the page that embeds the current video player. No Yes No
dict soundtrack_info
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: {"artist":"Mickael Jackson"}

Available information about the soundtrack.

array sources
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: ["featured","subscription"]

Sources from where this video is coming in the 'What to Watch' context.

If the list=what-to-watch parameter isn't set, this field is always null.

url sprite_320x_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.example.org"

URL of the sprite of this video, width:320px

date start_time
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: 1287507036

Start date and time of this live stream.

string status
public Publicly documented and available for all readable Can be accessed without authentication allowed values: waiting, processing, ready, published, rejected, deleted, encoding_error Corresponding values have to respect this format
Sample value: "processing"

Status of this video. A video requires the published status to be set to true to be watchable.

url stream_h264_hd1080_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/www.dailymotion.com\/cdn\/H264-1920x1080\/video\/x26m1j4.mp4?auth=..."

URL of the Full HD video stream (1080p, ~6.25 Mbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_h264_hd_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/www.dailymotion.com\/cdn\/H264-1280x720\/video\/x26m1j4.mp4?auth=..."

URL of the high definition video stream (720p, ~2.17 Mbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_h264_hq_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/cdn\/H264-848x480\/video\/x26m1j4.mp4?auth=..."

URL of the high quality WVGA video stream (480p, ~845 kbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_h264_ld_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/cdn\/H264-320x240\/video\/x26m1j4.mp4?auth=..."

URL of the low quality QVGA Mobile 3G video stream (240p, ~260 kbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_h264_qhd_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/cdn\/H264-2560x1440\/video\/x26m1j4.mp4?auth=..."

URL of the Quad HD video stream (1440p, ~10.4 Mbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_h264_uhd_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "https:\/\/www.dailymotion.com\/cdn\/H264-3840x2160\/video\/x26m1j4.mp4?auth=..."

URL of the Ultra HD 4K video stream (2160p, ~16.5 Mbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_h264_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/cdn\/H264-512x384\/video\/x26m1j4.mp4?auth=..."

URL of the medium quality video stream (384p, ~465 kbps). Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

url stream_source_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/cdn\/source\/video\/x26m1j4.mkv?auth=..."

URL of this video source. Without an access token this field contains null, the Dailymotion user associated with the access token must be the owner of the video. This field is rate limited. The returned url is secured: it can only be consumed by the user who made the query and it expires after a certain time.

boolean svod
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video is behind an SVOD paywall.

url swf_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/swf\/video\/x26m1j4"

URL of the legacy SWF embed player (only use this to embed the player into a flash movie, otherwise use embed_url).

boolean sync_allowed
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if synchronization is allowed.

array tags
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: ["party","John Doe"]

List of tags attached to this video.

date taken_time
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: 1287446400

Date when this video was recorded (declarative). This value will be rounded to midnight of the given day.

url thumbnail_60_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/F83Oh\/x60-sjB.jpg"

URL of this video's thumbnail image (60px height).

url thumbnail_120_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/x120-Zfs.jpg"

URL of this video's thumbnail image (120px height).

url thumbnail_180_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/x180-o-x.jpg"

URL of this video's thumbnail image (180px height).

url thumbnail_240_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/x240-tGY.jpg"

URL of this video's thumbnail image (240px height).

url thumbnail_360_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/x360-KuJ.jpg"

URL of this video's thumbnail image (360px height).

url thumbnail_480_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/x480-hw4.jpg"

URL of this video's thumbnail image (480px height).

url thumbnail_720_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/x720-Ec7.jpg"

URL of this video's thumbnail image (720px height).

url thumbnail_url
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1.jpg"

URL of this video's raw thumbnail (full size respecting ratio). Some users have the permission to change this value by providing an URL to a custom thumbnail. Note: for live streams, the thumbnail is automatically generated every 5 mn by default; it is not possible anymore to manually refresh the preview.

url tiny_url
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/dai.ly\/sk2k3jd"

Tiny URL of this video.

string title
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object default This field is returned by default when not asking for specific fields min length: 1 Corresponding values have to respect this format max length: 255 Corresponding values have to respect this format
Sample value: "My video title"

Title of this video.

boolean tvod
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if this video is behind a TVOD paywall.

string upc
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "3610154759952"

Detected UPC (Universal Product Code) of the soundtrack.

date updated_time
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1404129540

Date and time when this video was last updated.

url url
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object
Sample value: "http:\/\/www.dailymotion.com\/video\/x26m1j4_wildlife_animals"

URL of this video on Dailymotion. Writing this parameter defines where to download the video source. You may either use this parameter at video creation time or change this parameter later if you want to change this video source afterward. To change an existing video, the authenticated user may need some additional permissions. When replacing an existing source, the video will put offline for a few minutes during the re-encoding. You may use the GET /file/upload API resource to upload a video file and create a URL to provide to this method or use an existing URL pointing to your own video file. Writing to this parameter is subject to rate limiting.

boolean verified
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: true

True if the video is owned by a verified partner.

number views_last_day
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 203

Total number of views on this video in the last 24 sliding hours.

number views_last_hour
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 102

Total number of views on this video in the last sliding hour.

number views_last_month
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 4023

Total number of views on this video in the last 30 sliding days.

number views_last_week
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 1030

Total number of views on this video in the last 7 sliding days.

number views_total
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 10203

Total amount of views on this video since its publication.

Video deprecated fields

These deprecated fields were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each field. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

number audience_total
This field was deprecated on January 14, 2015. Use the audience field instead Projected end of support: January 14, 2016.
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 2457

Total audience for a live stream event from the audience meter. null if the audience shouldn't be taken into account.

url filmstrip_small_url
This field was deprecated on August 26, 2014. This field returns the sprite URL, please use the filmstrip_60_url field to retrieve the real filmstrip URL. Projected end of support: August 26, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/static2.dmcdn.net\/static\/video\/265\/246\/128642562:jpeg_preview_sprite.jpg?20140826113227"

Sprite URL of snapshots of this video if it exists.

boolean live_ad_break
This field was deprecated on October 28, 2014. Use the live_can_ad_break and live_launch_ad_break fields instead. Projected end of support: October 28, 2015.
private Requires authentication to be accessed read scope: manage_videos Can be read when authenticated with the specified scope write scope: manage_videos Can be written when authenticated with the specified scope
Sample value: true

True if the owner can launch an ad break for this live stream. POSTing to this field launches the ad break.

date modified_time
This field was deprecated on July 2, 2014. Use the updated_time field instead. Projected end of support: July 2, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: 1287507036

Date and time when this video was last modified.

url owner_avatar_large_url
This field was deprecated on June 4, 2013. Use the owner.avatar_large_url syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.example.org"

URL of the avatar image of the owner of this video (160px by 160px).

url owner_avatar_medium_url
This field was deprecated on June 4, 2013. Use the owner.avatar_medium_url syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.example.org"

URL of the avatar image of the owner of this video (80px by 80px).

url owner_avatar_small_url
This field was deprecated on June 4, 2013. Use the owner.avatar_small_url syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.example.org"

URL of the avatar image of the owner of this video (40px by 40px).

string owner_fullname
This field was deprecated on June 4, 2013. Use the owner.fullname syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "John Doe"

Full name of the owner of this video.

string owner_screenname
This field was deprecated on June 4, 2013. Use the owner.screenname syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "johndoe424"

Username or fullname of the owner of this video, depending on user preference.

url owner_url
This field was deprecated on June 4, 2013. Use the owner.url syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/www.dailymotion.com\/johndoe424"

URL of the owner of this video.

string owner_username
This field was deprecated on June 4, 2013. Use the owner.username syntax instead. Projected end of support: June 4, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: "johndoe424"

Username of the owner of this video.

number rating
This field was deprecated on November 26, 2014. The rating feature has been discontinued. Projected end of support: November 26, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format max value: 5 Corresponding values have to respect this format
Sample value: 3.4

Average number of stars this video has received as a float.

number ratings_total
This field was deprecated on November 26, 2014. The rating feature has been discontinued. Projected end of support: November 26, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min value: 0 Corresponding values have to respect this format
Sample value: 124

Total amount of users who voted for this video.

array strongtags
This field was deprecated on July 24, 2014. Use the strongtags connection instead. Projected end of support: July 24, 2015.
public Publicly documented and available for all readable Can be accessed without authentication min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: ["John Doe","United States of America"]

List of strong tags attached to this video.

url thumbnail_large_url
This field was deprecated on June 11, 2013. Use the thumbnail_240_url field instead. Projected end of support: June 11, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/large.jpg"

URL of this video thumbnail image (320px by 240px).

url thumbnail_medium_url
This field was deprecated on June 11, 2013. Use the thumbnail_120_url field instead. Projected end of support: June 11, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/ak.dailymotion.com\/thumbnail\/x26m1j4\/medium.jpg"

URL of this video thumbnail image (160px by 120px).

url thumbnail_small_url
This field was deprecated on June 11, 2013. Use the thumbnail_60_url field instead. Projected end of support: June 11, 2015.
public Publicly documented and available for all readable Can be accessed without authentication
Sample value: "http:\/\/s2.dmcdn.net\/CTrg1\/small.jpg"

URL of this video thumbnail image (80px by 60px).

string type
This field was deprecated on February 20, 2015. Use the partner or verified fields instead Projected end of support: February 20, 2016.
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object allowed values: ugc, creative, official Corresponding values have to respect this format
Sample value: "ugc"

Content type of this video (can be official, creative or null).

Video filters

Here is the list of filters you can use to limit a result set of video objects. You can use these by passing them as query-string parameters with your request.

3d
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to 3D videos.

channel
object Format of the expected value
Sample value: news

Limit the result set to this channel.

country
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: US

Limit the result set to this country (declarative).

created_after
date Format of the expected value
Sample value: 1287507036

Limit the result set to videos created after this date and time.

created_before
date Format of the expected value
Sample value: 1287507036

Limit the result set to videos created before this date and time.

exclude_ids
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: xk2k3,x26m1j4,xkeg4

List of video ids to exclude from the result set.

flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to featured videos.

flags
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format allowed values: featured, hd, ugc, live, no_live, live_onair, live_offair, live_upcoming, has_game, premium, no_premium, in_history, svod, tvod, private, poster, 3d, partner, verified Corresponding values have to respect this format
Sample value: featured,hd

List of simple boolean flags available to reduce the result set.

game
object Format of the expected value
Sample value: xot2yqf

Game associated to this video.

genre
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: Comedy

Limit the result set to this genre of videos.

has_game
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to videos related to a video-game.

hd
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to high definition videos (vertical resolution greater than or equal to 720p).

ids
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: xk2k3,x26m1j4,xkeg4

Limit the result set to this list of video identifiers.

in_history
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to videos in your watch history.

languages
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: fr,en,it

Limit the result set to this list of languages. Language is declarative and corresponds to the

user-declared spoken language of the video. If you wish to retrieve content currated for a specific locale, use the localization global parameter instead.

list
string Format of the expected value allowed values: what-to-watch, recommended Corresponding values have to respect this format
Sample value: what-to-watch

Limit the result set to this video list.

live
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to live streaming videos.

live_offair
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to off-air live streaming videos.

live_onair
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to on-air live streaming videos.

live_upcoming
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to upcoming live streaming videos.

longer_than
number Format of the expected value min value: 0 Corresponding values have to respect this format
Sample value: 3600

Limit the results to videos with a duration longer than or equal to the specified number of minutes.

no_live
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to non-live streaming videos.

no_premium
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to free video content.

nogenre
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: Comedy

Limit the result set by excluding this genre.

owners
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: user1,user2,user3

Limit the result set to this list of user identifiers or logins.

partner
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to partner videos.

poster
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to videos with an existing poster.

premium
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to premium SVOD and TVOD video content.

private
boolean Format of the expected value
Sample value: true

Limit the result set to private videos.

search
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: football

Limit the result set to this full text search.

shorter_than
number Format of the expected value min value: 0 Corresponding values have to respect this format
Sample value: 60

Limit the results to videos with a duration shorter than or equal to the specified number of minutes.

sort
string Format of the expected value allowed values: recent, visited, visited-hour, visited-today, visited-week, visited-month, commented, commented-hour, commented-today, commented-week, commented-month, rated, rated-hour, rated-today, rated-week, rated-month, relevance, random, ranking, trending, old, live-audience Corresponding values have to respect this format
Sample value: visited

Change the default result set ordering. Note: the relevance filter can only be used in conjunction with the search filter.

strongtags
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: John Doe,United States of America

Limit the result set to this strong tag.

svod
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to premium SVOD video content.

tags
array Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: party,John Doe

Limit the result set to this full text search of video tags.

tvod
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to premium TVOD video content.

ugc
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to user generated video content (no partner content).

verified
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to verified partner videos.

Video deprecated filters

These deprecated filters were once part of the API reference but are no longer maintained. Support is still available until the end of life date specified for each filter. Do not use any of these for a new project as they may disappear without warning. Follow our API ChangeLog regularly to stay informed about deprecations and upcoming end of life dates.

buzz
This filter was deprecated on December 24, 2014. The buzz feature has been discontinued. Projected end of support: June 24, 2015.
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to buzz videos.

buzz_premium
This filter was deprecated on December 24, 2014. The buzz feature has been discontinued. Projected end of support: June 24, 2015.
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to premium buzz videos.

creative_official
This filter was deprecated on December 24, 2014. The official and creative programs have been discontinued. Projected end of support: June 24, 2015.
flag This filter is a simple boolean flag
Sample value: n/a

Limit the result set to official videos marked as creative.

filters
This filter was deprecated on January 5, 2015. The filters shortcut has been deprecated. From now on, if you need to use a simple boolean filter, either use the new flags system or look for an equivalent in the filters list (e.g.: ?filters=featured,hd becomes ?flags=featured,hd or simply ?featured&hd). Projected end of support: January 5, 2017.
array Format of the expected value allowed values: featured, hd, official, creative, creative-official, ugc, buzz, buzz-premium, 3d, live, live-offair, game, all-live, live-upcoming, no-live, premium, premium-paidvideos, premium-offers, no-premium, history, with-poster, without-poster, promoted-on-games Corresponding values have to respect this format
Sample value: featured,hd

List of simple boolean filters available to reduce the result set.

language
This filter was deprecated on July 2, 2014. Use the languages filter instead (supports multiple languages). Projected end of support: July 2, 2015.
string Format of the expected value min length: 1 Corresponding values have to respect this format max length: 150 Corresponding values have to respect this format
Sample value: en

Limit the result set to this language. This value is declarative and corresponds to the user-declared spoken language of the video. If you wish to retrieve content currated for a specific locale, use the localization global parameter instead.

modified_after
This filter was deprecated on January 22, 2015. The modified_after feature has been discontinued. See the created_after field for a workaround. Projected end of support: January 22, 2016.
date Format of the expected value
Sample value: 1287507036

Limit the result set to videos updated after this date and time.

modified_before
This filter was deprecated on January 22, 2015. The modified_before feature has been discontinued. See the created_before field for a workaround. Projected end of support: January 22, 2016.
date Format of the expected value
Sample value: 1287507036

Limit the result set to videos updated before this date and time.

owner
This filter was deprecated on July 3, 2014. Use the owners filter instead (supports multiple owners). Projected end of support: July 3, 2015.
object Format of the expected value
Sample value: xot2yqf

Limit the result set to videos of this user.

personal
This filter was deprecated on January 22, 2015. The personal feature has been removed from the public API. Projected end of support: January 22, 2016.
boolean Format of the expected value
Sample value: true

Limit the result set to personal videos.

Video connections

Connections through the data API are used to link objects with each others. Some objects can only be accessed and/or created through connections since they have no point in existing on their own. Here is the list of connections available through the video object.

[comment] comments
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of comments posted on this video.
This connection joins an object of type video with a list of comment objects.

Read the video's comments connection

You can retrieve the list of comments connected to a video object by issuing a GET request to /video/<VIDEO_ID>/comments. You can specify the list of fields from the comment objects to be returned using the fields parameter.
Test it with the API Explorer.

Create a video's comments connection

You can create a new comment object and automatically connect it to an existing video object by issuing a POST request to /video/<VIDEO_ID>/comments with the following parameters.

Type Parameter Required Description
string language No Language in which this comment was written.

In return, you will receive a dict value containing the newly created object, including its identifier.
Test it with the API Explorer.

Delete a video's comments connection

You can delete a comment object connected to a video object the same way you would if it wasn't attached, that is by issuing a DELETE request to /comment/<COMMENT_ID>.
Test it with the API Explorer.

[contest] contests
public Publicly documented and available for all readable Can be accessed without authentication

List of contests this video is associated with.
This connection joins an object of type video with a list of contest objects.

Read the video's contests connection

You can retrieve the list of contests connected to a video object by issuing a GET request to /video/<VIDEO_ID>/contests. You can specify the list of fields from the contest objects to be returned using the fields parameter.
Test it with the API Explorer.

[group] groups
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of groups containing this video.
This connection joins an object of type video with a list of group objects.

Read the video's groups connection

You can retrieve the list of groups connected to a video object by issuing a GET request to /video/<VIDEO_ID>/groups. You can specify the list of fields from the group objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any group is connected to an existing video object by issuing a GET request to /video/<VIDEO_ID>/groups/<GROUP_ID>. This will return a list containing only the connected group object or an empty list if it is not connected.

Create a video's groups connection

You can connect groups to an existing video object one by one by issuing multiple POST requests to /video/<VIDEO_ID>/groups/<GROUP_ID>.

Delete a video's groups connection

You can disconnect groups from a video object by issuing DELETE requests to /video/<VIDEO_ID>/groups/<GROUP_ID>. You can also disconnect all groups at once by issuing a POST request to /video/<VIDEO_ID>/groups with an empty ids query-string parameter.
Test it with the API Explorer.

[playlist] playlists
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of playlists containing this video.
This connection joins an object of type video with a list of playlist objects.

Read the video's playlists connection

You can retrieve the list of playlists connected to a video object by issuing a GET request to /video/<VIDEO_ID>/playlists. You can specify the list of fields from the playlist objects to be returned using the fields parameter.
Test it with the API Explorer.

You can also see if any playlist is connected to an existing video object by issuing a GET request to /video/<VIDEO_ID>/playlists/<PLAYLIST_ID>. This will return a list containing only the connected playlist object or an empty list if it is not connected.

Create a video's playlists connection

You can connect playlists to an existing video object one by one by issuing multiple POST requests to /video/<VIDEO_ID>/playlists/<PLAYLIST_ID>.

Delete a video's playlists connection

You can disconnect playlists from a video object by issuing DELETE requests to /video/<VIDEO_ID>/playlists/<PLAYLIST_ID>. You can also disconnect all playlists at once by issuing a POST request to /video/<VIDEO_ID>/playlists with an empty ids query-string parameter.
Test it with the API Explorer.

[video] recordings
public Publicly documented and available for all readable Can be accessed without authentication

List of videos recorded from this video live.
This connection joins an object of type video with a list of video objects.

Read the video's recordings connection

You can retrieve the list of recordings connected to a video object by issuing a GET request to /video/<VIDEO_ID>/recordings. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

public Publicly documented and available for all readable Can be accessed without authentication

List of videos related to this video.
This connection joins an object of type video with a list of video objects.

You can retrieve the list of related connected to a video object by issuing a GET request to /video/<VIDEO_ID>/related. You can specify the list of fields from the video objects to be returned using the fields parameter.
Test it with the API Explorer.

[report] reports
private Requires authentication to be accessed writable Can be written if authenticated and owner of the object

List of reports associated with this video.
This connection joins an object of type video with a list of report objects.

Create a video's reports connection

You can create a new report object and automatically connect it to an existing video object by issuing a POST request to /video/<VIDEO_ID>/reports with the following parameters.

Type Parameter Required Description
string message No Message body of this report.
string type No Type of this report.
user user No Author of this report.

In return, you will receive a dict value containing the newly created object, including its identifier.
Test it with the API Explorer.

Delete a video's reports connection

You can delete a report object connected to a video object the same way you would if it wasn't attached, that is by issuing a DELETE request to /report/<REPORT_ID>.
Test it with the API Explorer.

[strongtag] strongtags
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of strong tags associated with this video.
This connection joins an object of type video with a list of strongtag objects.

Read the video's strongtags connection

You can retrieve the list of strongtags connected to a video object by issuing a GET request to /video/<VIDEO_ID>/strongtags. You can specify the list of fields from the strongtag objects to be returned using the fields parameter.
Test it with the API Explorer.

Create a video's strongtags connection

You can create a new strongtag object and automatically connect it to an existing video object by issuing a POST request to /video/<VIDEO_ID>/strongtags.

In return, you will receive a dict value containing the newly created object, including its identifier.
Test it with the API Explorer.

Delete a video's strongtags connection

You can delete a strongtag object connected to a video object the same way you would if it wasn't attached, that is by issuing a DELETE request to /strongtag/<STRONGTAG_ID>.
Test it with the API Explorer.

[subtitle] subtitles
public Publicly documented and available for all readable Can be accessed without authentication writable Can be written if authenticated and owner of the object

List of subtitles available for this video.
This connection joins an object of type video with a list of subtitle objects.

Read the video's subtitles connection

You can retrieve the list of subtitles connected to a video object by issuing a GET request to /video/<VIDEO_ID>/subtitles. You can specify the list of fields from the subtitle objects to be returned using the fields parameter.
Test it with the API Explorer.

Create a video's subtitles connection

You can create a new subtitle object and automatically connect it to an existing video object by issuing a POST request to /video/<VIDEO_ID>/subtitles with the following parameters.

Type Parameter Required Description
string format Yes Data format, either SRT, STL (EBU style) or Time Text (TT) with all the following variants (W3C, SMTPE-TT, EBU-TT)
string language Yes Language of these subtitles.
url url Yes URL pointing to these subtitles data in one of the valid formats. You don't need to host the file, you can use the GET /file/upload API ressource to create a temporary URL to a file of your own, just like when you upload a video source file.

In return, you will receive a dict value containing the newly created object, including its identifier.
Test it with the API Explorer.

Delete a video's subtitles connection

You can delete a subtitle object connected to a video object the same way you would if it wasn't attached, that is by issuing a DELETE request to /subtitle/<SUBTITLE_ID>.
Test it with the API Explorer.


Video upload

Uploading a video on your Dailymotion's account can be done programmatically using our API. Below are described the different steps to follow in order to successfully upload content.

If you want to go right to the coding, you can jump to the use-cases page or use one of our SDKs.

Note: a quota applies to video upload, please refer to the rate limit section.

Upload and publish videos

1. Authenticate the user

As uploading a video is an action that impacts one's account, you need to be authenticated with the account to video is going to belong to and request the manage_videos scope. See the authentication guide for more information on how to authenticate the user and request an access token. You will have to pass the returned access token to each of the following calls.

2. Get an upload URL

Perform a GET request to https://api.dailymotion.com/file/upload to retrieve an upload URL. Don't forget to provide your access token to the request. The upload_url will be returned along with the progress_url (the endpoint is described in more details at /file/upload).

If you plan to make the end-user post the video on this URL, you can configure a callback URL to have your service called once the upload is finished. Simply add a callback_url=<URL> query string parameter to the URL with the encoded URL as value.

3. Upload the video

The video can actually be uploaded to the upload_url retrieved above by making a POST HTTP request using the multipart/form-data content type. The video data has to be contained in a file field:

curl -F 'file=@/path/to/video.mp4' <UPLOAD_URL>

Once the POST HTTP request is finished, two scenarios are possible:

  • If you didn't provide a callback URL, the upload server will return a JSON object.
  • If you did provide a callback URL, it will add several query string parameters to your callback URL.

Either way, the only field you'll need is the url one.

Note:

  • If the upload POST fails, you need to reacquire a new upload_url.
  • The upload url does not have an expiry term for uploading, although some activity has to be "seen" on started uploads at least every 4 hours.

4. Create the video

With the video URL you just retrieved (url field in the returned response), you can perform a POST HTTP request to https://api.dailymotion.com/me/videos, with a url=<URL> field. This will create the video on your account. The identifier of the newly created video will be returned in the response, in the response.id field.

5. Publish the video

Once the video is created, it doesn't mean it is published. You have to perform another POST request on https://api.dailymotion.com/video/<VIDEO_ID> URL along with the fields you want to modify. Some fields like title, tags and channel are mandatory before you can publish the video. Set those fields, and toggle the published field to true to publish the video.

curl -d 'title=<TITLE>&channel=<CHANNEL>&tags=<TAGS>' https://api.dailymotion.com/video/<VIDEO_ID>
curl -d 'published=true' https://api.dailymotion.com/video/<VIDEO_ID>

Note:

  • you can perform steps 4 and 5 in a single HTTP request by passing all the extra information in the initial POST request.
  • if your video has an external url, you don't need to upload it to our servers, you can directly use this url as the video source. Skip steps 2 and 3, and directly post the video using the url field (set to your video source url).

Resume function

We provide a resume function for uploading videos. In this case, you have to replace /upload by /rupload in the upload url. The protocol is described in this NGinx module page.


Live streaming

Introduction

Our API allows you to create and manage live events on the Dailymotion platform as well as run advertisements and recordings on the content you are broadcasting.

Please note that you need to be a Dailymotion partner to access this feature.

Publish a live stream

On Dailymotion, a video is considered as a live stream when its mode is set to live.

For all operations regarding live streaming (and in general, video) management, you need to request an access token with the manage_videos scope. Check out the authentication guide for details on how you can request an access token with this scope from your user during the authentication step.

The following steps will get you started with streaming live content.

1. Create a live stream

Since a live stream is based on a video, you can either create a new video with mode set to live, or use an existing one.

To create a new video, make a POST HTTP request on https://api.dailymotion.com/videos containing at least the following three mandatory parameters:

curl --request POST \
     --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --form 'mode=live' \
     --form 'publish=true' \
     --form 'channel=<CHANNEL>' \
     "https://api.dailymotion.com/videos"

Note that you can fill in the title, description and any other field just as you would do for any kind of video.

Otherwise, you can use an existing video as a placeholder and transform this video into a live stream by setting the mode field to live.

curl --request POST \
     --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --form 'mode=live' \
     "https://api.dailymotion.com/video/${VIDEO_ID}"

2. Schedule your live event

Schedule your live event by using either the start_time and end_time fields, or start_time combined with duration. You can also plan to stream your live event on a regular basis by using the recurrence field. Note that a recurrence can only be applied if the live stream has both a start date and a duration.

curl --request POST \
     --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --form 'start_time=${START_TIME}' \
     --form 'end_time=${END_TIME}' \
     "https://api.dailymotion.com/video/${VIDEO_ID}"

Note: this step can be performed together with step 2, in a single HTTP request.

3. Start streaming

Everything is now ready, you can start streaming your content to our servers. Perform a GET HTTP request on your video asking for the live_publish_url field to retrieve the RTMP URL to feed your encoder.

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --form 'fields=live_publish_url' \
     "https://api.dailymotion.com/video/${VIDEO_ID}"

Useful fields and filters for managing a live stream

The following list details some fields and filters of the video object that you may want to use when broadcasting your event and managing your live stream. For more information about those fields, filters and others, please check the API Reference or click on any of these fields.

Fields:

Filters:

Launch a commercial break

During a live event, a broadcaster can launch a commercial break with up to 10 commercials. When the commercial break is triggered, all viewers will simultaneously receive mid-roll advertising in their player, composed of one or several ads depending on the input number.

To launch a commercial break, you need to authenticate and request an access token with the manage_videos scope. Then, issue a POST HTTP request to https://api.dailymotion.com/video/<VIDEO_ID> with the live_launch_ad_break field set to the number of advertisments you want to display.

curl --request POST \
     --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --form 'live_launch_ad_break=2' \
     "https://api.dailymotion.com/video/${VIDEO_ID}"

You may be interested in the live_ad_break_end_time field that lets you know the estimated time of the end of the commercial break.

Recordings

Dailymotion also enables you to record a live stream and create a video out of it. The recorded video will be available at the end of the live event as a VoD on Dailymotion.

This feature will be available very soon in the API.