---
title: Media Extractor
description: Instructions on how to integrate the Media Extractor into Home Assistant.
ha_category:
- Media Player
ha_iot_class: Calculated
ha_release: 0.49
ha_quality_scale: internal
ha_domain: media_extractor
ha_integration_type: integration
---
The `media_extractor` integration gets a stream URL and sends it to a media player entity. This integration can extract entity specific streams if configured accordingly.
Media extractor doesn't transcode streams, it just tries to find a stream that matches the requested query.
To use the media extractor service in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_extractor:
```
{% configuration %}
default_query:
description: Set default stream query for all devices.
required: false
default: best
type: string
customize:
description: Set entity specific values.
required: false
type: list
{% endconfiguration %}
```yaml
# Example configuration.yaml entry
media_extractor:
default_query: worst
customize:
media_player.my_sonos:
video: bestvideo
music: bestaudio[ext=mp3]
```
This configuration sets query for all service calls like to 'bestaudio' with the mp3 extension:
```yaml
entity_id: media_player.my_sonos
media_content_id: https://soundcloud.com/bruttoband/brutto-11
media_content_type: music
```
Query examples with explanations:
* **bestvideo**: Best video only stream
* **best**: Best video + audio stream
* **bestaudio[ext=m4a]**: Best audio stream with m4a extension
* **worst**: Worst video + audio stream
* **bestaudio[ext=m4a]/bestaudio[ext=ogg]/bestaudio**: Best m4a audio, otherwise best ogg audio and only then any best audio
More info about queries can be found [here](https://github.com/ytdl-org/youtube-dl#format-selection).
### Use the service
Navigate to the **Services** tab inside **Developer Tools**. From the "Service" dropdown menu select `media_extractor.play_media` and then press the "Fill Example Data" button at the bottom of the page. Use the "Entity ID" dropdown to select your media player and then press the **Call Service** button.
This will download the file from the given URL.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to seek media on, e.g., `media_player.living_room_chromecast`. Defaults to all.
| `media_content_id` | no | The ID of the content to play. Platform dependent.
| `media_content_type` | no | The type of the content to play. Must be one of MUSIC, TVSHOW, VIDEO, EPISODE, CHANNEL or PLAYLIST MUSIC.