Co API13tv.co.il ↗
Retrieve HLS/DASH/Smooth manifest URLs, duration, DRM flags, and Hebrew metadata for any 13tv.co.il VOD episode by numeric episode ID.
What is the Co API?
The 13tv.co.il API exposes 1 endpoint — get_episode_media — that returns up to 14 response fields for any VOD episode on Israel's Channel 13 streaming catalogue. Pass a numeric episode_id (e.g. 4607988) and get back all published manifest URLs in m3u8, mpd, and ism formats alongside episode metadata such as Hebrew title, synopsis, series name, and full playback context including play counts, view counts, and whether the episode is currently blocked.
curl -X GET 'https://api.parse.bot/scraper/b0eee6e2-5c09-4080-9ace-6cfbed1d7685/get_episode_media?episode_id=4607988' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns one episode record for a 13tv.co.il VOD episode id (the numeric id in the episode page URL, e.g. 4607988). The record carries the catalogue's published media sources (each with its manifest URL, container format m3u8/mpd/ism, DRM flavour and duration in seconds), the episode duration, the page's schema.org VideoObject metadata (ISO-8601 duration, embed and canonical page URLs), the player's playback context for the underlying video entry (manifest/download URL templates, play counts) and any player errors the playback context reports. All published sources for the episodes tested are DRM-protected and the catalogue marks them 'Israel Only'; from outside Israel the playback context returns an access-control block, which is surfaced in player_errors with code ACCESS_CONTROL_BLOCK and playback.is_blocked=true, while media_sources are still returned verbatim from the catalogue. page_metadata is null when the episode page is unavailable; playback is null when the episode has no video entry. An unknown episode id returns a stale_input error. Costs up to four upstream requests per call.
| Param | Type | Description |
|---|---|---|
| episode_idrequired | string | Numeric VOD episode id as it appears in the episode page URL (e.g. 4607988). Also emitted as episode_id in the result. |
{
"type": "object",
"fields": {
"title": "episode title (Hebrew)",
"quality": "string quality label",
"entry_id": "underlying video entry id used by the player",
"playback": "player playback context: entry_id, duration_seconds, duration_ms, manifest_url, download_url, plays, views, is_blocked, flavor_count, sources (array of format/protocols/url/drm when playback is allowed); null when no entry id",
"series_id": "string series id",
"episode_id": "integer episode id",
"description": "episode synopsis (Hebrew)",
"external_id": "catalogue slug for the episode",
"series_name": "series title (Hebrew)",
"media_sources": "array of published manifests: media_file_id, type (DRM/packaging label), format (m3u8|mpd|ism), url, duration_seconds, drm (boolean)",
"page_metadata": "schema.org VideoObject from the episode page: name, duration_iso8601, upload_date, embed_url, content_url, thumbnail_url; null if the page could not be read",
"player_errors": "array of {code, message} the player would raise; empty when playback is allowed",
"season_number": "number",
"thumbnail_url": "poster image URL",
"episode_number": "number, catalogue episode index (may differ from the number in the title)",
"geo_block_rule": "catalogue geo rule label, e.g. 'Israel Only'",
"parental_rating": "string rating code",
"duration_seconds": "integer episode duration in seconds"
},
"sample": {
"data": {
"title": "דה וויס אולסטארס, עונה 1, פרק 3: האיחוד של סטטיק",
"quality": "HD",
"entry_id": "1_t9p2e9o3",
"playback": {
"plays": 54305,
"views": 113442,
"sources": [],
"entry_id": "1_t9p2e9o3",
"is_blocked": true,
"duration_ms": 3554580,
"download_url": "https://cdnapisec.kaltura.com/p/2748741/sp/274874100/playManifest/entryId/1_t9p2e9o3/format/download/protocol/https/flavorParamIds/0",
"flavor_count": 0,
"manifest_url": "https://cdnapisec.kaltura.com/p/2748741/sp/274874100/playManifest/entryId/1_t9p2e9o3/format/url/protocol/https",
"duration_seconds": 3555
},
"series_id": "739",
"episode_id": 4607988,
"description": "האודישנים ממשיכים...",
"external_id": "shows-the-voice-allstars-season-01-episodes-03-full",
"series_name": "דה וויס אולסטארס",
"media_sources": [
{
"drm": true,
"url": "https://reshet.g-mana.live/media/ed019b46-c4ef-45f9-a2f6-a3f1b17b3180/entryId/1_t9p2e9o3/format/applehttp/tags/mbr/f/a.m3u8",
"type": "Hls_fairplay",
"format": "m3u8",
"media_file_id": 4674545,
"duration_seconds": 3555
},
{
"drm": true,
"url": "https://reshet.g-mana.live/media/ed019b46-c4ef-45f9-a2f6-a3f1b17b3180/entryId/1_t9p2e9o3/format/mpegdash/tags/mbr/f/a.mpd",
"type": "dash_widevine",
"format": "mpd",
"media_file_id": 4674547,
"duration_seconds": 3555
}
],
"page_metadata": {
"name": "דה וויס אולסטארס, עונה 1, פרק 3: האיחוד של סטטיק",
"embed_url": "https://13tv.co.il/allshows/embed/series/739/season/1/4607988/?pid=905361519&refc=905383940",
"content_url": "https://13tv.co.il/allshows/series/739/season/1/4607988/?pid=905361519&refc=905383940",
"upload_date": "2017-03-28T12:35:11+03:00",
"thumbnail_url": "https://images.frp1.ott.kaltura.com/Service.svc/GetImage/p/5031/entry_id/d000b432262b4fb9b8d479e0865ad620/version/8width/1020/height/574",
"duration_iso8601": "PT59M15S"
},
"player_errors": [
{
"code": "ACCESS_CONTROL_BLOCK",
"message": "Playback is blocked by the access-control / geo rule for this request"
}
],
"season_number": 1,
"thumbnail_url": "https://images.frp1.ott.kaltura.com/Service.svc/GetImage/p/5031/entry_id/d000b432262b4fb9b8d479e0865ad620/version/8",
"episode_number": 4,
"geo_block_rule": "Israel Only",
"parental_rating": "P13",
"duration_seconds": 3555
},
"status": "success"
}
}About the Co API
What the API Returns
The get_episode_media endpoint accepts a single required parameter, episode_id, which is the numeric identifier visible in any 13tv.co.il episode page URL. The response includes the episode title and description in Hebrew, the series_name, and an external_id catalogue slug. The entry_id field identifies the underlying video asset in the player.
Media Sources and Playback
The media_sources array is the core of the response. Each item carries a media_file_id, a format field (m3u8, mpd, or ism), a type label describing the DRM or packaging flavor, a direct manifest url, duration_seconds, and a boolean drm flag indicating whether the stream requires a DRM license. This gives you a complete picture of which manifests are available and what protection scheme each uses.
The playback object provides additional player context: duration_seconds, duration_ms, manifest_url, download_url, plays, views, is_blocked, and flavor_count. The is_blocked field lets you determine upfront whether an episode is accessible before attempting playback.
Coverage and Scope
The API covers publicly published VOD episodes on 13tv.co.il. The series_id and episode_id fields allow you to correlate individual episode records back to their series. Because the endpoint is driven by a single numeric episode ID, iterating across a series requires knowing the IDs for each episode in advance — no series-level listing endpoint is included.
The Co API is a managed, monitored endpoint for 13tv.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 13tv.co.il changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official 13tv.co.il API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Channel 13 VOD library index by collecting manifest URLs and Hebrew titles across episode IDs
- Check
is_blockedanddrmflags before initiating playback in a custom player integration - Track audience engagement over time using
playsandviewsfrom theplaybackobject - Catalog available stream formats (HLS, DASH, Smooth) per episode for adaptive streaming research
- Retrieve Hebrew
descriptionandseries_nameto populate a multilingual media database - Monitor
duration_secondsacross episodes of a series for editorial or scheduling tooling - Identify DRM-protected vs. clear streams by reading the
drmboolean inmedia_sources
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does 13tv.co.il have an official developer API?+
What does the `media_sources` array contain, and how do I know which manifest to use?+
media_sources includes a format field (m3u8 for HLS, mpd for DASH, ism for Smooth Streaming), a url pointing to the manifest, a type label describing the packaging or DRM flavor, a drm boolean, and duration_seconds. You can filter the array by format to select the protocol your player supports, and use the drm flag to determine whether a license request is required.Does the API return `is_blocked` at the series level, or only per episode?+
is_blocked flag is returned inside the playback object at the individual episode level. There is no series-level availability endpoint in the current API. You would need to call get_episode_media for each episode ID to check availability across a season. You can fork this API on Parse and revise it to add a series-level endpoint that aggregates availability across episode IDs.Can I retrieve a list of all episodes for a given series or season?+
episode_id. Series browsing or episode listing by series_id is not covered. You can fork this API on Parse and revise it to add a series listing endpoint that returns all episode IDs for a given series and season.Are live stream URLs or news broadcast streams available?+
media_sources manifests it returns are for on-demand episodes identified by a numeric episode_id. Live or news stream URLs are not part of the current endpoint. You can fork this API on Parse and revise it to add a live stream endpoint if that data is publicly accessible on 13tv.co.il.