Create and schedule a live event

📘

You are reading API v2 documentation

Still using the Legacy API? Access the Legacy API documentation.



This is a plan feature

Please reach out to your Dailymotion Account Manager or our Support Team to enable live streaming on your account.

📘

Authentication

You need an access token with the following scopes:

  • live.manage to create or update a livestream.
  • live.read to retrieve a live stream.

Check out authentication guide for details

Implementation steps

1. Create a live stream

To create a new live stream, send a POST request to https://api.dailymotion.com/v2/profiles/{profile_id}/livestreams containing at least the following mandatory parameters:

  • title
  • category
  • visibility
  • is_for_kids
curl --request POST \
     --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header "Content-Type: application/json" \
     --data '{
       "title": "My live event",
       "description": "Join us live!",
       "category": "videogames",
       "visibility": "public",
       "is_for_kids": false
     }' \
     "https://api.dailymotion.com/v2/profiles/{profile_id}/livestreams"

2. Schedule your live event

Set start_at and end_at using ISO 8601 timestamps. These can be included in the creation request or added later via a PATCH request.

curl --request PATCH \
     --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header "Content-Type: application/json" \
     --data '{
       "start_at": "2026-06-15T14:30:00Z",
       "end_at": "2026-06-15T16:00:00Z"
     }' \
     "https://api.dailymotion.com/v2/profiles/{profile_id}/livestreams/{livestream_id}"

3. Retrieve ingest URL and start streaming

Once your livestream is set up, retrieve the ingest URL to configure your encoder. The ingest information is exposed as a nested ingest object. API v2 supports both RTMP and SRT protocols.

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     "https://api.dailymotion.com/v2/livestreams/x8zoud8?fields=ingest.rtmp_url%2Cingest.srt_url"

Response:

{
  "ingest": {
    "rtmp_url": "rtmp://publish.dailymotion.com/publish-dm/x1y2z3?auth=...",
    "srt_url": "srt://publish.dailymotion.com:1234?streamid=x1y2z3"
  }
}

The rtmp_url value contains both the stream url and the stream key:

Example
Stream URLrtmp://publish.dailymotion.com/publish-dm
Stream Keyx1y2z3?auth=...

👍

Prefer a UI?

You can also create and schedule a live event from the Dailymotion Studio rather than from the API.



Did this page help you?