NHK Video Scraper avatar

NHK Video Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
NHK Video Scraper

NHK Video Scraper

Scrape NHK WORLD-JAPAN on-demand videos to get video links and metadata: title, series, thumbnail, duration, and dates. Works with a single video, a whole program, a category, or the entire catalog. Export to JSON, CSV, or Excel.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Harish Garg

Harish Garg

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

14 days ago

Last modified

Share

Scrape NHK WORLD-JAPAN on-demand videos and get video links plus clean metadata - title, series, description, thumbnail, duration, and broadcast and expiry dates. Point it at a single video page, a whole program, a category, or the entire on-demand catalog, and get back a structured dataset you can export as JSON, CSV, or Excel, or pull via the Apify API.

NHK WORLD-JAPAN is the international service of Japan's public broadcaster (NHK), streaming free documentaries, culture, food, anime, and news programs. Use this scraper to build datasets of NHK video content in seconds, without copy-pasting anything by hand.

What does NHK Video Scraper do?

  • Collects the video link for each NHK WORLD-JAPAN on-demand video.
  • Extracts metadata: title, series/program, description, thumbnail, duration, categories, tags, caption and audio languages, first-broadcast date, and the date the video expires from on-demand.
  • Accepts a single video, a whole program, a category, a tag, or the entire on-demand catalog - and automatically collects every video on listing pages.
  • Runs on the Apify platform with scheduling, API access, integrations, and monitoring built in.

Why use NHK Video Scraper?

  • Media monitoring & archiving - track NHK WORLD-JAPAN coverage of a topic or program in one dataset.
  • Research & journalism - build datasets of NHK video metadata for analysis.
  • Content pipelines - feed video links and metadata into your own tools and workflows.
  • Bulk collection - grab an entire program or category in a single run instead of page by page.

How to use NHK Video Scraper

  1. Open the Actor in Apify Console.
  2. In the Input tab, add one or more Start URLs - a video page, a program page, a category page, or the on-demand catalog (see examples below).
  3. Optionally set Max videos to cap how many items are scraped.
  4. Click Start.
  5. When the run finishes, open the Output/Dataset tab and export as JSON, CSV, HTML, or Excel.

Input

FieldTypeDescription
startUrlsarrayNHK WORLD-JAPAN video, program, category, tag, or on-demand catalog URLs. Required.
maxItemsintegerMaximum number of videos to scrape (0 = unlimited). Default 50.
crawlListingPagesbooleanCollect the videos found on program/category/catalog pages. Default true. Turn off to scrape only the exact video URLs you provide.
downloadVideosbooleanDownload each video as a ready-to-play MP4 file and add a clickable download link to the results. Default false. See Download videos as MP4.
proxyConfigurationobjectOptional proxy settings.

Download videos as MP4

By default the Actor returns a streamUrl - an HLS stream link (.m3u8) that plays in media tools but is not a single downloadable file. If you just want to click a link and save the video, turn on Download video files (MP4).

When enabled, the Actor downloads each video, converts it to a standard MP4, and stores it. A Video file (MP4) link then appears in the results (the videoFile field) - click it to download the video straight to your computer. No ffmpeg, yt-dlp, or other technical tools required.

{
"startUrls": [{ "url": "https://www3.nhk.or.jp/nhkworld/en/shows/2049165/" }],
"maxItems": 5,
"downloadVideos": true
}

Heads-up on speed and cost: downloading full videos is far slower and more expensive than the default metadata-only scrape (a single 28-minute episode is roughly 250-300 MB). Always pair downloadVideos with a sensible Max videos cap, and only download content you are permitted to store - see the disclaimer below.

Supported start URLs

All URLs live under https://www3.nhk.or.jp/nhkworld/<lang>/ (e.g. en, es, zh):

URL shapeExampleWhat it scrapes
Video page.../nhkworld/en/shows/2049165/That single video
Video page (alt).../nhkworld/en/shows/video/2049165/That single video
Clip page.../nhkworld/en/ondemand/video/9999011/That single clip (ids starting 9999)
Program page.../nhkworld/en/shows/japanrailway/Every episode of the program
Category page.../nhkworld/en/shows/category/14/Every video in the category
Tag page.../nhkworld/en/shows/tag/2/Every video with the tag
On-demand catalog.../nhkworld/en/ondemand/The whole on-demand catalog

Example inputs

Scrape a whole program:

{
"startUrls": [{ "url": "https://www3.nhk.or.jp/nhkworld/en/shows/japanrailway/" }],
"maxItems": 25,
"crawlListingPages": true
}

Scrape specific video pages only: when you already have exact video URLs, turn off listing discovery.

{
"startUrls": [
{ "url": "https://www3.nhk.or.jp/nhkworld/en/shows/2049165/" },
{ "url": "https://www3.nhk.or.jp/nhkworld/en/shows/2049176/" }
],
"crawlListingPages": false
}

Scrape an entire category, unlimited:

{
"startUrls": [{ "url": "https://www3.nhk.or.jp/nhkworld/en/shows/category/14/" }],
"maxItems": 0
}

Output

Each dataset item represents one NHK WORLD-JAPAN video:

{
"url": "https://www3.nhk.or.jp/nhkworld/en/shows/2049165/",
"id": "2049165",
"lang": "en",
"type": "episode",
"title": "Choshi Electric Railway: Fighting to Get Back on Track",
"seriesTitle": "Japan Railway Journal",
"programId": "japanrailway",
"description": "Choshi Electric Railway in Chiba Prefecture posted its first loss in four years...",
"thumbnailUrl": "https://www3.nhk.or.jp/nhkworld/en/shows/2049165/images/wide_l_....jpg",
"streamUrl": "https://masterpl.hls.nhkworld.jp/hls/w/204916520260416001/master.m3u8",
"videoFile": "https://api.apify.com/v2/key-value-stores/<storeId>/records/video-2049165",
"durationSeconds": 1680,
"firstBroadcastAt": "2025-09-25T14:30:00Z",
"publishedAt": "2026-04-16T14:58:00Z",
"expiredAt": "2026-09-24T14:59:00Z",
"isExpired": false,
"category": "Biz & Tech",
"categories": ["Biz & Tech"],
"tags": ["Akita", "Chiba", "Trains", "Transcript"],
"captionLangs": ["zt", "hi", "pt", "es", "vi"],
"voiceLangs": ["en"]
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
urlThe NHK WORLD-JAPAN video page URL.
idNHK's on-demand video id.
langLanguage of the requested version (e.g. en).
typeepisode or clip.
titleVideo title.
seriesTitleProgram / series the video belongs to.
programIdNHK's program name (e.g. japanrailway).
descriptionShort synopsis.
thumbnailUrlLargest available poster image.
streamUrlThe video stream link (HLS .m3u8).
videoFileDirect download link to the MP4 file. Populated only when Download video files is on, otherwise null.
durationSecondsDuration in whole seconds.
firstBroadcastAtWhen the program first aired.
publishedAtWhen the on-demand video became available.
expiredAtWhen the video leaves on-demand.
isExpiredtrue if the video is already past its expiry.
category / categoriesNHK content category (first, and full list).
tagsTopic/region tags.
captionLangs / voiceLangsAvailable subtitle and audio languages.

How much does it cost to scrape NHK videos?

The default metadata scrape is lightweight, so runs are fast and cheap - typically a fraction of a compute unit for dozens of videos. To control cost on large jobs, set Max videos and consider running on a schedule for incremental captures. Apify's free tier is enough to try it and to run small jobs.

Turning on Download video files (MP4) changes this significantly: each full video (roughly 250-300 MB for a 28-minute episode) has to be downloaded and stored, so runs take much longer, use more compute, and consume storage. Keep Max videos low when downloading, and remove stored MP4s you no longer need.

Tips & advanced options

  • Scrape a whole show or category: pass its page as a start URL and leave Discover videos on listing pages on to collect every video.
  • Scrape exact videos only: paste the specific video URLs and turn Discover videos on listing pages off.
  • Cap cost: use Max videos.
  • Other languages: NHK WORLD-JAPAN publishes many programs in languages beyond English - just use the matching URL, e.g. .../nhkworld/es/....

FAQ, disclaimers & support

What is the streamUrl? It is the link to the video stream, in the standard HLS format (.m3u8) that most video players and media tools support. It's the same stream NHK's own player uses.

How do I actually download the video file? The streamUrl is a stream, not a file - opening it in a browser saves a small playlist, not the video. To get a real, playable video file, turn on Download video files (MP4); the Actor then adds a Video file (MP4) link (videoFile) you can click to download the video directly. See Download videos as MP4.

Why is a video missing a streamUrl? NHK on-demand videos are available for a limited time. Once a video passes its expiry date, its stream is removed; the Actor still returns the metadata with isExpired: true.

Is scraping NHK legal? This Actor collects publicly available information that NHK WORLD-JAPAN publishes on its on-demand service. You are responsible for complying with NHK's Terms of Service and applicable copyright law, and for how you use any content. Do not redistribute copyrighted video without permission.

Found a bug or need a custom solution? Open an issue in the Actor's Issues tab.