Co APIinn.co.il ↗
Extract video embeds, native media URLs, YouTube links, and Twitter posts from any inn.co.il news article by article ID.
What is the Co API?
The inn.co.il API exposes 1 endpoint — get_article_videos — that returns all media embeds found in a single inn.co.il news article alongside 10 structured response fields, including the article headline, author, publication timestamps, and an embeds array covering native video files, YouTube iframes, third-party iframes, and embedded X/Twitter posts, all in the order they appear in the article body.
curl -X GET 'https://api.parse.bot/scraper/50d8455a-59cd-4724-b4a8-20034acb47fe/get_article_videos?article_id=708529' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace inn-co-il-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Arutz Sheva article video embeds — fetch an article and inspect its media."""
from parse_apis.inn_co_il_api import ArutzSheva, ArticleNotFound
client = ArutzSheva()
# Fetch a known article by its numeric id.
try:
article = client.articles.get(article_id="708529")
except ArticleNotFound:
print("Article does not exist")
raise
print(article.title, "|", article.section)
print("Published:", article.published_at, "| Author:", article.author)
print("Has video:", article.has_video, "| Embed count:", article.embed_count)
# Walk the embedded media found in the article body.
if article.embeds:
for embed in article.embeds:
print(f" [{embed.type}] {embed.title or '(untitled)'}")
if embed.media_url:
print(f" media: {embed.media_url} ({embed.media_type})")
if embed.iframe_src:
print(f" iframe: {embed.iframe_src}")
if embed.duration_seconds is not None:
print(f" duration: {embed.duration_seconds}s (via {embed.duration_source})")
print("exercised: articles.get / Article fields / Embed traversal")
Returns one article's metadata plus every video/media embed found in its body, in document order. Each embed is one of four types: 'video' (a native media file hosted by the site: media_url is the direct .webm/.mp4 file, media_type its MIME type, poster_url the thumbnail), 'youtube' (iframe_src is the exact youtube-nocookie.com embed URL the page renders, source_url the watch URL), 'iframe' (iframe_src is the raw third-party iframe src, e.g. an Omny podcast player; media_type carries the site's class label such as 'podcast'), and 'twitter' (source_url is the embedded X/Twitter post URL). duration_seconds is taken from the article's own embed metadata when the site provides a non-zero length (duration_source 'article'); for native video files whose article length is zero, the scraper reads the duration from the first 64 KB of the media file header (duration_source 'media_header', one extra request, fractional seconds). duration_seconds is null when neither source yields a value (twitter and generic iframe embeds). Fields embed_id, title, credit, published_at, poster_url and aspect_ratio are null when the embed type does not carry them. An article with no video embeds returns embed_count 0 and an empty embeds array. An unknown article id returns a not-found error; a non-numeric id is rejected before any request.
| Param | Type | Description |
|---|---|---|
| article_idrequired | string | Numeric inn.co.il article id, the number at the end of an article URL (/news/<article_id>). |
{
"type": "object",
"fields": {
"title": "article headline",
"author": "byline",
"embeds": "array of embed records: type (video|youtube|iframe|twitter), embed_id, title, credit, published_at (UTC ISO), source_url, iframe_src, media_url, media_type, poster_url, duration_seconds (number or null), duration_source (article|media_header|null), aspect_ratio",
"section": "site section name (Hebrew)",
"subtitle": "article sub-headline / summary text",
"has_video": "boolean, the site's own video flag for the article",
"article_id": "string, the requested article id as the site reports it",
"article_url": "canonical article page URL",
"embed_count": "integer, number of embeds found in the body",
"modified_at": "article last-modified timestamp, same format",
"published_at": "article publish timestamp, site-local ISO 8601 without offset",
"main_image_url": "article lead image URL, null when none",
"main_image_credit": "lead image credit, null when none"
},
"sample": {
"data": {
"title": "צפו | שופטי \"דה וויס\" הופתעו מהביצוע באידיש",
"author": "ערוץ 7",
"embeds": [
{
"type": "video",
"title": "שופטי \"דה וויס\" הופתעו מהביצוע באידיש",
"credit": "באדיבות רשת 13",
"embed_id": "2180056",
"media_url": "https://video.a7.org/media/a7radio/misc/video/26/oct/the_voice_allstars_s01_ep03_part_03_mand.webm",
"iframe_src": null,
"media_type": "video/webm",
"poster_url": "https://2.a7.org/files/pictures/000/1227955.jpg",
"source_url": "https://video.a7.org/media/a7radio/misc/video/26/oct/the_voice_allstars_s01_ep03_part_03_mand.webm",
"aspect_ratio": 1.779,
"published_at": "2026-10-15T05:16:05.0000000Z",
"duration_source": "media_header",
"duration_seconds": 141.64
}
],
"section": "תרבות, בידור ופנאי",
"subtitle": "הזמר החסידי מנדי טוורסקי הגיע להתמודד בתוכנית המוזיקה \"דה וויס\" ברשת 13 והפתיע את השופטים כששר שיר ישראלי באידיש. צפו בביצוע",
"has_video": true,
"article_id": "708529",
"article_url": "https://www.inn.co.il/news/708529",
"embed_count": 1,
"modified_at": "2026-10-15T08:20:00",
"published_at": "2026-10-15T08:20:00",
"main_image_url": "https://2.a7.org/files/pictures/000/1227955.jpg",
"main_image_credit": "צילום: באדיבות רשת 13"
},
"status": "success"
}
}About the Co API
What the Endpoint Returns
The get_article_videos endpoint accepts a single required parameter, article_id — the numeric string at the end of any inn.co.il article URL (e.g. /news/708529 → 708529). The response contains article-level fields: title, subtitle, author, section (Hebrew site section name), article_url, published_at, modified_at, has_video (the site's own boolean flag), and embed_count (total number of embeds found in the body).
The Embeds Array
The embeds array is the core of the response. Each element has a type field with one of four values: video (a native media file hosted by inn.co.il, with a direct media_url pointing to a .webm or .mp4 file, a media_type MIME string, and a poster_url thumbnail), youtube (an iframe embed with the YouTube video ID and embed URL), iframe (a third-party embed with its iframe_src), or twitter (an embedded X/Twitter post with its source_url). Embeds also carry optional title, credit, and embed_id fields where the source provides them. Elements are returned in document order.
Coverage Notes
inn.co.il is an Israeli Hebrew-language news outlet. The section field and some metadata fields are returned in Hebrew as the site publishes them. The modified_at field reflects the last-edit timestamp in UTC ISO 8601 format, the same format used by published_at. The has_video boolean mirrors the site's own article-level video flag, which may differ from whether embeds contains any entries of type video.
The Co API is a managed, monitored endpoint for inn.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when inn.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 inn.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 media monitoring dashboard that tracks video usage across inn.co.il news articles by article ID.
- Aggregate all YouTube video IDs embedded in inn.co.il coverage to cross-reference with a YouTube analytics feed.
- Archive native
.webm/.mp4media files from inn.co.il articles using themedia_urlfield before they are removed. - Detect embedded X/Twitter posts in news articles to map social media citations in Israeli news coverage.
- Populate a content metadata store with inn.co.il article
title,author,section, andpublished_atfields for search indexing. - Verify whether the site's own
has_videoflag matches actual video embed presence usingembed_countand theembedsarray. - Extract
poster_urlthumbnails from native video embeds to use as preview images in a news aggregator UI.
| 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 inn.co.il provide an official developer API?+
What does the `embeds` array distinguish between, and how do the four types differ?+
type field: video means a native media file with a direct media_url (.webm or .mp4), media_type, and poster_url; youtube carries a YouTube embed URL and video ID; iframe gives the iframe_src of a third-party embed; and twitter provides the source_url of the embedded X/Twitter post. All four types may also include title, credit, and embed_id where available.Can I retrieve embeds from multiple articles in a single call?+
article_id per request, returning embeds for that article only. Batch retrieval across multiple article IDs is not supported in the current endpoint. You can fork the API on Parse and revise it to add a batch endpoint that accepts a list of article IDs.Does the API return the full article body text or images from inn.co.il articles?+
title, subtitle, author, section, published_at, modified_at) and the embeds array — it does not include full article body text, inline images, or comment data. You can fork the API on Parse and revise it to add those fields.How fresh is the data returned — does it reflect recent edits to an article?+
modified_at field reflects the last-edit timestamp the site publishes for the article. Results represent the current state of the article at the time of the request, so re-requesting the same article_id after an update should return the revised content.