NHK Video Scraper
Pricing
from $2.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
14 days ago
Last modified
Categories
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
- Open the Actor in Apify Console.
- 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).
- Optionally set Max videos to cap how many items are scraped.
- Click Start.
- When the run finishes, open the Output/Dataset tab and export as JSON, CSV, HTML, or Excel.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | NHK WORLD-JAPAN video, program, category, tag, or on-demand catalog URLs. Required. |
maxItems | integer | Maximum number of videos to scrape (0 = unlimited). Default 50. |
crawlListingPages | boolean | Collect the videos found on program/category/catalog pages. Default true. Turn off to scrape only the exact video URLs you provide. |
downloadVideos | boolean | Download 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. |
proxyConfiguration | object | Optional 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
downloadVideoswith 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 shape | Example | What 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
| Field | Description |
|---|---|
url | The NHK WORLD-JAPAN video page URL. |
id | NHK's on-demand video id. |
lang | Language of the requested version (e.g. en). |
type | episode or clip. |
title | Video title. |
seriesTitle | Program / series the video belongs to. |
programId | NHK's program name (e.g. japanrailway). |
description | Short synopsis. |
thumbnailUrl | Largest available poster image. |
streamUrl | The video stream link (HLS .m3u8). |
videoFile | Direct download link to the MP4 file. Populated only when Download video files is on, otherwise null. |
durationSeconds | Duration in whole seconds. |
firstBroadcastAt | When the program first aired. |
publishedAt | When the on-demand video became available. |
expiredAt | When the video leaves on-demand. |
isExpired | true if the video is already past its expiry. |
category / categories | NHK content category (first, and full list). |
tags | Topic/region tags. |
captionLangs / voiceLangs | Available 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.