# Dailymotion Download & Text & Metadata Scraper (`ilborso/dailymotion-download-text-metadata-scraper`) Actor

A powerful Apify Actor that automatically download video, extracts transcriptions, subtitles, auto-generated captions, and detailed metadata from Dailymotion videos. Process single videos by URL or search and scrape entire collections matching your criteria.

- **URL**: https://apify.com/ilborso/dailymotion-download-text-metadata-scraper.md
- **Developed by:** [Fabio Borsotti](https://apify.com/ilborso) (community)
- **Categories:** AI, Social media, MCP servers
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.49 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Dailymotion Download Video & Extract Transcriptions & Metadata

A powerful Apify Actor that automatically donwload video, extracts transcriptions, subtitles, auto-generated captions, and detailed metadata from Dailymotion videos. Process single videos by URL or search and scrape entire collections matching your criteria.

### What This Actor Does

#### Core Capabilities

- **Extract Video Transcriptions** - Download manual subtitles and auto-generated captions from Dailymotion videos in multiple languages
- **Bulk Video Search & Processing** - Search Dailymotion by keywords and automatically process all matching results
- **Multi-Language Subtitle Collection** - Extract subtitles in all available languages with customizable priority ordering
- **Video Metadata Extraction** - Collect comprehensive video information including title, duration, view count, upload date, uploader details, and more
- **Video Download** - Optionally download video files in configurable quality levels (720p, 1024p, maximum) and store them in Apify's Key-Value store
- **Clean Text Output** - Convert SRT and VTT subtitle formats to readable plain text with timestamps and formatting removed
- **Flexible Filtering** - Filter search results by publication date (24 hours, 7 days, 30 days, or 1 year)
- **Transcript Filtering** - Optionally filter search results to include only videos with available transcriptions
- **Scalable Processing** - Process from 1 to 100+ videos in a single run with configurable limits

#### Use Cases

- **Content Research** - Extract transcriptions from educational, technical, or news videos for analysis
- **SEO Content Analysis** - Collect video metadata and transcriptions for competitor analysis
- **Audio Content Processing** - Export full video transcriptions for NLP, translation, or archival
- **Quality Assurance** - Verify subtitle availability and quality across video collections
- **Data Collection** - Build datasets of video transcriptions in multiple languages

***

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| **`urls`** | array | No | - | List of direct Dailymotion video URLs. Format: `https://www.dailymotion.com/video/xXXXXXX`. Direct URLs are always processed regardless of other filters. |
| **`query`** | string | No | - | Search query to find Dailymotion videos. If provided, the actor searches for matching videos and processes them according to other parameters. |
| **`limit`** | integer | No | 10 | Maximum number of videos to retrieve from search results (1-100). Does not apply to direct URLs. |
| **`langs`** | array | Yes | \["en", "it", "fr"] | Preferred language codes in priority order (e.g., `["en", "it", "fr"]`). The primary transcription is selected from the first available language. All available languages are collected regardless. |
| **`output`** | string | Yes | "output.json" | Name of the JSON file to save results in the key-value store (e.g., `results.json`, `transcripts.json`). |
| **`metadata`** | string | No | "false" | Include full metadata from video analysis (true/false). When enabled, adds comprehensive metadata object to each video result. |
| **`onlyWithTranscription`** | string | No | "true" | In search mode, filter to only videos with transcriptions available (true/false). Ignored for direct URLs. |
| **`dateRange`** | string | No | (empty) | In search mode, filter search results by publication date. Options: `last_daily` (24 hours), `last_week` (7 days), `last_month` (30 days), `last_year` (365 days). |
| **`downloadVideo`** | string | No | "false" | Download video files along with transcriptions (true/false). Videos are saved to Apify's Key-Value store and can be retrieved via the `videoKvKey` field in the output. |
| **`quality`** | string | No | "720p" | Video quality when downloading. Options: `720p` (up to 720p resolution), `1024` (up to 1024p resolution), `maximum` (best available quality). Only applies when `downloadVideo` is set to "true". |

#### Input Examples

**Extract from single video URL:**

```json
{
  "urls": ["https://www.dailymotion.com/video/xaeie8a"],
  "langs": ["en", "it", "fr"],
  "output": "transcript.json"
}
```

**Search and process videos:**

```json
{
  "query": "machine learning tutorial",
  "limit": 5,
  "langs": ["en"],
  "output": "ml_videos.json",
  "onlyWithTranscription": "true"
}
```

**Combined: direct URLs + search:**

```json
{
  "urls": ["https://www.dailymotion.com/video/xaeie8a"],
  "query": "python programming",
  "limit": 10,
  "langs": ["en", "it"],
  "output": "combined.json",
  "dateRange": "last_month"
}
```

**Download videos with transcriptions:**

```json
{
  "urls": ["https://www.dailymotion.com/video/xaeie8a"],
  "langs": ["en"],
  "output": "videos_and_transcripts.json",
  "downloadVideo": "true",
  "quality": "720p"
}
```

**Search, filter, and download videos:**

```json
{
  "query": "educational documentary",
  "limit": 5,
  "langs": ["en", "it"],
  "output": "documentaries.json",
  "onlyWithTranscription": "true",
  "dateRange": "last_week",
  "downloadVideo": "true",
  "quality": "maximum"
}
```

***

### Output Format

The actor outputs a JSON array of video objects. Each object contains extracted transcriptions and metadata.

#### Output Without Metadata (`metadata: false`) and Without Video Download

```json
[
  {
    "url": "https://www.dailymotion.com/video/xaeie8a",
    "title": "States: Donald Trump affirms he 'loves inflation' as prices reach highest levels in three years",
    "videoId": "xaeie8a",
    "duration": 114,
    "views": 7896,
    "uploadDate": "20260723",
    "uploader": "News Channel",
    "availableSubtitleLanguages": ["en", "it", "fr"],
    "primaryLanguage": "en",
    "primaryTranscription": "Today in news, Donald Trump made controversial statements about inflation... [full transcription text]",
    "allTranscriptions": {
      "en": "Today in news, Donald Trump made controversial statements about inflation...",
      "it": "Oggi nelle notizie, Donald Trump ha fatto dichiarazioni controverse sull'inflazione...",
      "fr": "Aujourd'hui dans l'actualité, Donald Trump a fait des déclarations controversées sur l'inflation..."
    }
  }
]
```

#### Output With Video Download (`downloadVideo: true`)

```json
[
  {
    "url": "https://www.dailymotion.com/video/xaeie8a",
    "title": "States: Donald Trump affirms he 'loves inflation' as prices reach highest levels in three years",
    "videoId": "xaeie8a",
    "duration": 114,
    "views": 7896,
    "uploadDate": "20260723",
    "uploader": "News Channel",
    "availableSubtitleLanguages": ["en", "it", "fr"],
    "primaryLanguage": "en",
    "primaryTranscription": "Today in news, Donald Trump made controversial statements about inflation... [full transcription text]",
    "allTranscriptions": {
      "en": "Today in news, Donald Trump made controversial statements about inflation...",
      "it": "Oggi nelle notizie, Donald Trump ha fatto dichiarazioni controverse sull'inflazione...",
      "fr": "Aujourd'hui dans l'actualité, Donald Trump a fait des déclarations controversées sur l'inflation..."
    },
    "videoKvKey": "video_xaeie8a_720p.mp4",
    "videoQuality": "720p",
    "videoFormat": "mp4"
  }
]
```

#### Output With Metadata (`metadata: true`)

```json
[
  {
    "url": "https://www.dailymotion.com/video/xaeie8a",
    "title": "States: Donald Trump affirms he 'loves inflation' as prices reach highest levels in three years",
    "videoId": "xaeie8a",
    "duration": 114,
    "views": 7896,
    "uploadDate": "20260723",
    "uploader": "News Channel",
    "availableSubtitleLanguages": ["en", "it", "fr"],
    "primaryLanguage": "en",
    "primaryTranscription": "Today in news, Donald Trump made controversial statements about inflation... [full transcription text]",
    "allTranscriptions": {
      "en": "Today in news, Donald Trump made controversial statements about inflation...",
      "it": "Oggi nelle notizie, Donald Trump ha fatto dichiarazioni controverse sull'inflazione...",
      "fr": "Aujourd'hui nelle actualité, Donald Trump a fait des déclarations controversées sur l'inflation..."
    },
    "metadata": {
      "id": "xaeie8a",
      "ext": "mp4",
      "format": "247 - webm container vp9 vp09.00.51.08 [1920x1080]",
      "webpage_url": "https://www.dailymotion.com/video/xaeie8a",
      "display_id": "xaeie8a",
      "title": "States: Donald Trump affirms he 'loves inflation' as prices reach highest levels in three years",
      "description": "Full video description here...",
      "duration": 114,
      "timestamp": 1721750595,
      "upload_date": "20260723",
      "uploader": "News Channel",
      "uploader_id": "news_channel_id",
      "like_count": 245,
      "comment_count": 87,
      "view_count": 7896,
      "tags": ["news", "trump", "inflation"],
      "categories": ["News & Politics"],
      "thumbnail": "https://...",
      "subtitles": {
        "en": [{"ext": "vtt", "url": "https://..."}],
        "it": [{"ext": "vtt", "url": "https://..."}],
        "fr": [{"ext": "vtt", "url": "https://..."}]
      },
      "automatic_captions": {},
      "formats": [...],
      "extractor": "dailymotion",
      "extractor_key": "Dailymotion"
    }
  }
]
```

#### Output Fields Explanation

| Field | Type | Description |
|-------|------|-------------|
| `url` | string | Direct URL of the Dailymotion video |
| `title` | string | Video title |
| `videoId` | string | Unique Dailymotion video ID |
| `duration` | integer | Video duration in seconds |
| `views` | integer | Total view count |
| `uploadDate` | string | Video publication date (format: YYYYMMDD) |
| `uploader` | string | Name of the channel/uploader |
| `availableSubtitleLanguages` | array | List of language codes for which subtitles/captions are available |
| `primaryLanguage` | string | Language code of the selected primary transcription (based on language preferences) |
| `primaryTranscription` | string | Full transcription text in the primary language |
| `allTranscriptions` | object | Dictionary with transcriptions for all available languages (key: language code, value: full text) |
| `videoKvKey` | string | *(optional, only if `downloadVideo: true`)* Key-Value store key for retrieving the downloaded video file (format: `video_{videoId}_{quality}.{format}`) |
| `videoQuality` | string | *(optional, only if `downloadVideo: true`)* Quality level of the downloaded video (720p, 1024, or maximum) |
| `videoFormat` | string | *(optional, only if `downloadVideo: true`)* File format of the downloaded video (e.g., "mp4", "webm", "mkv") |
| `metadata` | object | *(optional, only if `metadata: true`)* Complete video metadata object with 50+ fields including formats, thumbnails, categories, and more |

***

### How It Works

1. **Input Validation** - Accepts direct video URLs and/or search queries
2. **Video Discovery** - Searches Dailymotion and filters by date range and transcription availability
3. **Concurrent Processing** - Videos are processed efficiently in parallel:
   - Metadata Extraction - Downloads comprehensive video information
   - Subtitle Download - Retrieves all available manual subtitles and auto-generated captions
   - Text Processing - Converts subtitle formats (SRT/VTT) to clean readable text
   - Language Selection - Selects primary transcription based on language preferences
   - Optional Video Download - If enabled, downloads video file in specified quality and saves to Apify Key-Value store
4. **Results Export** - Saves complete results as JSON array to specified output file, with video references if downloaded

***

### Typical Results

#### Search Performance

| Query Type | Videos Found | Processing Time | Typical Use |
|------------|-------------|-----------------|-------------|
| Specific keyword (e.g., "tutorial") | 5-50 | 1-2 minutes | Quick research |
| Broad category (e.g., "news") | 20-100 | 5-10 minutes | Content collection |
| Direct URLs only | Variable | 10-30 sec per video | Focused analysis |

**Note:** Times are approximate and depend on network speed, video file sizes, and transcription availability.

#### Transcription Availability

- **Manual Subtitles**: ~40-60% of videos
- **Auto-Generated Captions**: ~20-40% of videos (platform-dependent)
- **Multiple Languages**: 30-50% of videos with subtitles

***

### Supported Languages

The actor supports all ISO 639-1 language codes including (but not limited to):

- **Major Languages**: English (en), Italian (it), French (fr), Spanish (es), German (de), Portuguese (pt), Russian (ru), Chinese (zh), Japanese (ja), Arabic (ar), Hindi (hi)
- **And 180+ additional languages**

Specify language codes in the `langs` parameter in your preferred priority order.

See below table:

#### Supported languages (iso ISO 639-1)

| Codice | Lingua            | Codice | Lingua           | Codice | Lingua         | Codice | Lingua      | Codice | Lingua          | Codice | Lingua     |
| ------ | ----------------- | ------ | ---------------- | ------ | -------------- | ------ | ----------- | ------ | --------------- | ------ | ---------- |
| aa     | Afar              | ab     | Abkhaz           | ae     | Avestan        | af     | Afrikaans   | ak     | Akan            | am     | Amharic    |
| ar     | Arabic            | as     | Assamese         | av     | Avaric         | ay     | Aymara      | az     | Azerbaijani     | ba     | Bashkir    |
| be     | Belarusian        | bg     | Bulgarian        | bi     | Bislama        | bm     | Bambara     | bn     | Bengali         | bo     | Tibetan    |
| br     | Breton            | bs     | Bosnian          | ca     | Catalan        | ce     | Chechen     | ch     | Chamorro        | co     | Corsican   |
| cr     | Cree              | cs     | Czech            | cu     | Church Slavic  | cv     | Chuvash     | cy     | Welsh           | da     | Danish     |
| de     | German            | dv     | Divehi           | dz     | Dzongkha       | ee     | Ewe         | el     | Greek           | en     | English    |
| eo     | Esperanto         | es     | Spanish          | et     | Estonian       | eu     | Basque      | fa     | Persian         | ff     | Fulah      |
| fi     | Finnish           | fj     | Fijian           | fo     | Faroese        | fr     | French      | fy     | Western Frisian | ga     | Irish      |
| gd     | Scottish Gaelic   | gl     | Galician         | gn     | Guarani        | gu     | Gujarati    | gv     | Manx            | ha     | Hausa      |
| he     | Hebrew            | hi     | Hindi            | ho     | Hiri Motu      | hr     | Croatian    | ht     | Haitian         | hu     | Hungarian  |
| hy     | Armenian          | hz     | Herero           | ia     | Interlingua    | id     | Indonesian  | ie     | Interlingue     | ig     | Igbo       |
| ii     | Sichuan Yi        | ik     | Inupiaq          | io     | Ido            | is     | Icelandic   | it     | Italian         | iu     | Inuktitut  |
| ja     | Japanese          | jv     | Javanese         | ka     | Georgian       | kg     | Kongo       | ki     | Kikuyu          | kj     | Kuanyama   |
| kk     | Kazakh            | kl     | Kalaallisut      | km     | Central Khmer  | kn     | Kannada     | ko     | Korean          | kr     | Kanuri     |
| ks     | Kashmiri          | ku     | Kurdish          | kv     | Komi           | kw     | Cornish     | ky     | Kirghiz         | la     | Latin      |
| lb     | Luxembourgish     | lg     | Ganda            | li     | Limburgan      | ln     | Lingala     | lo     | Lao             | lt     | Lithuanian |
| lu     | Luba-Katanga      | lv     | Latvian          | mg     | Malagasy       | mh     | Marshallese | mi     | Maori           | mk     | Macedonian |
| ml     | Malayalam         | mn     | Mongolian        | mr     | Marathi        | ms     | Malay       | mt     | Maltese         | my     | Burmese    |
| na     | Nauru             | nb     | Norwegian Bokmål | nd     | North Ndebele  | ne     | Nepali      | ng     | Ndonga          | nl     | Dutch      |
| nn     | Norwegian Nynorsk | no     | Norwegian        | nr     | South Ndebele  | nv     | Navajo      | ny     | Chichewa        | oc     | Occitan    |
| oj     | Ojibwa            | om     | Oromo            | or     | Oriya          | os     | Ossetian    | pa     | Panjabi         | pi     | Pali       |
| pl     | Polish            | ps     | Pashto           | pt     | Portuguese     | qu     | Quechua     | rm     | Romansh         | rn     | Rundi      |
| ro     | Romanian          | ru     | Russian          | rw     | Kinyarwanda    | sa     | Sanskrit    | sc     | Sardinian       | sd     | Sindhi     |
| se     | Northern Sami     | sg     | Sango            | sh     | Serbo-Croatian | si     | Sinhala     | sk     | Slovak          | sl     | Slovenian  |
| sm     | Samoan            | sn     | Shona            | so     | Somali         | sq     | Albanian    | sr     | Serbian         | ss     | Swati      |
| st     | Southern Sotho    | su     | Sundanese        | sv     | Swedish        | sw     | Swahili     | ta     | Tamil           | te     | Telugu     |
| tg     | Tajik             | th     | Thai             | ti     | Tigrinya       | tk     | Turkmen     | tl     | Tagalog         | tn     | Tswana     |
| to     | Tonga             | tr     | Turkish          | ts     | Tsonga         | tt     | Tatar       | tw     | Twi             | ty     | Tahitian   |
| ug     | Uighur            | uk     | Ukrainian        | ur     | Urdu           | uz     | Uzbek       | ve     | Venda           | vi     | Vietnamese |
| vo     | Volapük           | wa     | Walloon          | wo     | Wolof          | xh     | Xhosa       | yi     | Yiddish         | yo     | Yoruba     |
| za     | Zhuang            | zh     | Chinese          | zu     | Zulu           |        |             |        |                 |        |            |

***

### Common Applications

#### Content Research & Analysis

Extract transcriptions from competitors' videos or industry content for analysis and SEO optimization.

#### Educational Content Processing

Collect educational video transcriptions for creating study materials, documentation, or knowledge bases.

#### Multilingual Content Collection

Gather transcriptions in multiple languages for translation projects or multilingual dataset creation.

#### Quality Assurance Testing

Verify subtitle coverage, language availability, and transcription quality across video collections.

#### Archival & Preservation

Create searchable text archives of video content for long-term storage or accessibility.

***

### Video Download Details

#### How Video Download Works

When `downloadVideo` is set to "true":

1. **Quality Selection** - The actor attempts to download video at the specified quality level
2. **Format Support** - yt-dlp automatically selects the best available format at the requested quality
3. **Filename Sanitization** - Video titles are cleaned of special characters and spaces are replaced with underscores for safe storage
4. **KV Store Storage** - Downloaded videos are stored in **Apify's Key-Value store** with descriptive keys based on the video title and quality
5. **File Retrieval** - Use the `videoKvKey` value from the output to retrieve the video file from the KV store
6. **Temp Cleanup** - Temporary files are automatically cleaned up after storage

#### Filename Format

Video files are saved in Apify's Key-Value store with the following naming convention:

```
{sanitized_video_title}_{quality}.{format}
```

**Examples:**

- Original title: `"Il fluoro nei dentifrici è pericoloso? Facciamo chiarezza!"` (720p, MP4)
  - KV Key: `il_fluoro_nei_dentifrici_pericoloso_facciamo_chiarezza_720p.mp4`

- Original title: `"Python's 101: Advanced Techniques & Tips!"` (1024p, WebM)
  - KV Key: `pythons_101_advanced_techniques_tips_1024.webm`

- Original title: `"Machine Learning (ML) - Complete Guide 2026"` (maximum, MP4)
  - KV Key: `machine_learning_ml_complete_guide_2026_maximum.mp4`

**Sanitization Rules:**

- Removes all special characters (keeps only alphanumeric, spaces, hyphens)
- Replaces spaces with underscores
- Converts to lowercase
- Removes multiple consecutive underscores

#### Quality Options

| Quality | Resolution | Use Case |
|---------|-----------|----------|
| `720p` | Up to 720p | Good quality, moderate file size |
| `1024` | Up to 1024p | Higher quality, larger file size |
| `maximum` | Best available | Highest quality available on Dailymotion |

#### Key-Value Store Access

**In Apify Platform:**

1. Go to the actor's run results page
2. Navigate to the "Key-value store" tab
3. Search for your video key (e.g., `il_fluoro_nei_dentifrici_pericoloso_facciamo_chiarezza_720p.mp4`)
4. Click to download the video file

**Via Apify API:**

```bash
curl https://api.apify.com/v2/key-value-stores/{store-id}/records/{video-key} \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -o downloaded_video.mp4
```

#### Performance Notes

- Video download adds 30-120 seconds per video depending on file size and quality
- Storage in Key-Value store is subject to Apify's storage limits and retention policies
- Large batch downloads may take significantly longer
- Descriptive filenames make it easy to identify and retrieve specific videos

***

### Limitations & Notes

- Search results depend on Dailymotion's search algorithm and availability
- Subtitle availability varies by video (manual subtitles must be created by uploader, auto-captions by platform)
- Processing time increases with number of videos and subtitle file sizes
- Very large transcriptions may take additional time to download and process
- Some videos may have regional restrictions affecting availability
- Video download availability depends on Dailymotion's content delivery network
- Downloaded videos are stored in Apify's Key-Value store and subject to retention policies

***

### Getting Started

1. Provide video URLs and/or a search query
2. Select preferred languages for transcription priority
3. Configure optional filters (date range, transcription requirement)
4. Enable metadata if you need comprehensive video information
5. Enable video download if you need to store the video files (optional)
6. Run the actor and retrieve results from the output JSON file

#### CLI Usage Examples

**Single video:**

```bash
python dailymotion_actor.py --urls "https://www.dailymotion.com/video/xaeie8a" --output transcript.json
```

**Multiple videos:**

```bash
python dailymotion_actor.py --urls "url1" "url2" "url3" "url4" --output results.json
```

**Search with results limit:**

```bash
python dailymotion_actor.py --query "machine learning" --limit 10 --output ml_videos.json
```

**Search with video download:**

```bash
python dailymotion_actor.py --query "tutorial" --limit 5 --download-video true --quality 720p --output tutorials.json
```

**Combined with all options:**

```bash
python dailymotion_actor.py \
  --urls "url1" "url2" \
  --query "python" \
  --limit 10 \
  --langs en it fr \
  --download-video true \
  --quality maximum \
  --metadata true \
  --output comprehensive_results.json
```

***

### Support

For issues, questions, or feature requests, please contact the actor maintainers or consult the documentation.

### Performance Tips

- Enable `downloadVideo` only when needed (adds 30-120 seconds per video)
- Use `quality: "720p"` instead of "maximum" for faster downloads
- Filter by date range to reduce search scope: `dateRange: "last_week"`
- For large batch operations, consider splitting searches into multiple runs

***

**Last Updated**: 2026-07-29

# Actor input Schema

## `urls` (type: `array`):

List of direct Dailymotion video URLs. Supported formats: dailymotion.com/video/xXXXXXX. Specified videos are always processed.

## `query` (type: `string`):

Dailymotion search query to find videos. Optional if urls are specified. If both are provided, both will be processed.

## `limit` (type: `integer`):

Maximum number of videos to retrieve from search query. Does not apply to direct URLs. Range: 1-100

## `langs` (type: `array`):

List of language codes in priority order. Primary transcription will be selected from the first available language in this list.

## `output` (type: `string`):

Name of the JSON file to save results in the key-value store. Default: output.json

## `metadata` (type: `string`):

Include full metadata from yt-dlp in output (true/false). Default: false

## `onlyWithTranscription` (type: `string`):

In search mode, filter to only videos with transcriptions (true/false). Default: true. Ignored for direct URLs.

## `dateRange` (type: `string`):

In search mode, filter results by publication date. Options: last\_daily, last\_week, last\_month, last\_year. Leave empty for no filter.

## `downloadVideo` (type: `string`):

Download video files along with transcriptions (true/false). Default: false

## `quality` (type: `string`):

Video quality when downloading. Options: 720p (up to 720p), 1024 (up to 1024p), maximum (best available). Default: 720p. Only applies if downloadVideo is true.

## Actor input object example

```json
{
  "urls": [
    "https://www.dailymotion.com/video/xar6klq"
  ],
  "limit": 10,
  "langs": [
    "en",
    "it",
    "fr"
  ],
  "output": "output.json",
  "metadata": "false",
  "onlyWithTranscription": "true",
  "dateRange": "",
  "downloadVideo": "false",
  "quality": "720p"
}
```

# Actor output Schema

## `datasetUrl` (type: `string`):

URL to access all scraped video items in the dataset

## `kvStoreUrl` (type: `string`):

URL to the key-value store containing the aggregated output JSON

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.dailymotion.com/video/xar6klq"
    ],
    "langs": [
        "en",
        "it",
        "fr"
    ],
    "output": "output.json"
};

// Run the Actor and wait for it to finish
const run = await client.actor("ilborso/dailymotion-download-text-metadata-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.dailymotion.com/video/xar6klq"],
    "langs": [
        "en",
        "it",
        "fr",
    ],
    "output": "output.json",
}

# Run the Actor and wait for it to finish
run = client.actor("ilborso/dailymotion-download-text-metadata-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.dailymotion.com/video/xar6klq"
  ],
  "langs": [
    "en",
    "it",
    "fr"
  ],
  "output": "output.json"
}' |
apify call ilborso/dailymotion-download-text-metadata-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ilborso/dailymotion-download-text-metadata-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/aDUTk2w96F6bgy5oZ/builds/tuXg70lbkr14cE5rL/openapi.json
