# Yahoo Japan Top Picks News (`ryyos/yahoo-japan-top-picks-news-scraper`) Actor

\[ $1.0/1000 ] Fast, reliable scraper for Yahoo! News Japan (news.yahoo.co.jp) - fetch the latest Top Picks feed or any category feed (domestic, world, business, entertainment, sports, IT, science, local), with optional full article detail in a single run.

- **URL**: https://apify.com/ryyos/yahoo-japan-top-picks-news-scraper.md
- **Developed by:** [Rio Dwi Saputra](https://apify.com/ryyos) (community)
- **Categories:** News, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Yahoo Japan Top Picks News Scraper - Fast Category Feed Extraction

**Pull the latest headlines from Yahoo! News Japan (news.yahoo.co.jp) in seconds.** This Actor
scrapes the "Top Picks" (主要) feed and every major category feed (domestic, world, business,
entertainment, sports, IT, science, local). Every run automatically fetches each article's full
body text, publisher, timestamps, and comment count alongside the feed data, no extra
configuration needed. Built for reliability with automatic pagination and no headless browser
overhead, since Yahoo! News Japan serves the feed as plain server-rendered HTML.

### Why use this Actor?

- **Monitor breaking news in real time** - schedule this Actor on Apify to track a category feed
  and get notified of new headlines as they appear.
- **Build a news dataset or NLP pipeline** - full article text extraction gives you clean,
  structured Japanese news content ready for summarization, classification, or translation.
- **No coding required** - just pick a category and run. Results export to JSON, CSV, Excel, or
  any format supported by Apify datasets.

### How to use Yahoo Japan Top Picks News Scraper

1. Click **Try for free** or **Start** on the Apify Console.
2. Choose a **Category** (defaults to Top Picks).
3. Set **Max items** to control how many headlines to fetch.
4. Run the Actor and download your results as JSON, CSV, or Excel from the Output tab. Every item
   already includes the full article body, publisher, timestamps, and comment count.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `category` | string (enum) | `top-picks` | Which feed to scrape: `top-picks`, `domestic`, `world`, `business`, `entertainment`, `sports`, `it`, `science`, `local`. |
| `maxItems` | integer | `25` | Maximum number of news items to fetch. |
| `proxyConfiguration` | object | `{"useApifyProxy": false}` | Optional Apify Proxy configuration, recommended for large runs since every item requires opening its article page. |

See `.actor/input_schema.json` for the full definition.

### Output

Example output item:

```json
{
  "title": "気象庁「令和8年熊本地震」と命名",
  "pickupUrl": "https://news.yahoo.co.jp/pickup/6589678",
  "articleUrl": "https://news.yahoo.co.jp/articles/ba5c347c46de9395404687cf149f7e67816e8adb",
  "imageUrl": "https://news-pctr.c.yimg.jp/t/news-topics/images/tpc/...jpg",
  "displayTime": "7/28(火) 19:35",
  "category": "domestic",
  "body": "28日午後4時27分頃に発生した熊本県で最大震度7を観測した地震について...",
  "provider": "日テレNEWS NNN",
  "publishedAt": "2026-07-28T10:19:01.000Z",
  "updatedAt": "2026-07-28T11:33:30.000Z",
  "commentCount": 600
}
```

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

#### Data fields

| Field | Description |
|---|---|
| `title` | Headline text as shown in the feed. |
| `pickupUrl` | The feed's canonical `/pickup/{id}` link for this item. |
| `articleUrl` | The underlying `/articles/{hash}` link, when resolvable. Some aggregated/live-update topics have no standalone article and this will be `null`. |
| `imageUrl` | Thumbnail image URL. |
| `displayTime` | Human-readable publish time as shown on the feed. |
| `category` | The category feed this item was fetched from. |
| `body` | Full article text. `null` for aggregated/live-update topics with no standalone article. |
| `provider` | Publisher/media outlet name. |
| `publishedAt` / `updatedAt` | ISO 8601 publish/update timestamps. |
| `commentCount` | Total number of user comments on the article. |

### Pricing

This Actor only performs lightweight HTTP requests (no browser), so it runs cheaply even on the
free Apify plan. Since every item requires opening its article page for full detail, expect
roughly one extra request per item on top of the feed pages themselves.

### Tips

- `maxItems` controls how many pages of the feed are fetched (about 25 items per page), so keep it
  reasonable for frequent scheduled runs.
- Enable `proxyConfiguration` for large runs to reduce the chance of rate limiting.

### FAQ

**Is this legal?** Scraping publicly available web pages carries legal and Terms of Service
considerations that vary by jurisdiction and use case. Review Yahoo! News Japan's own terms
before relying on this data for anything beyond personal or research use, and use this Actor
responsibly.

**Found a bug or have a feature request?** Use the Issues tab on this Actor's page. Custom
scraping solutions are also available on request.

### Development

```bash
pip install -r requirements-dev.txt
pytest tests/
apify validate-schema
apify run --input-file test-inputs/list-only.json --purge
apify run --input-file test-inputs/full-detail.json --purge
```

No environment variables are required; this Actor only reads publicly served HTML pages.

# Actor input Schema

## `category` (type: `string`):

Which Yahoo! News Japan feed to scrape. "Top Picks" is the homepage's main curated feed (news.yahoo.co.jp/topics/top-picks); the others are single-category feeds.

## `maxItems` (type: `integer`):

Maximum number of news items to fetch. The Actor pages through the feed (about 25 items per page) until this limit is reached or the feed runs out of pages.

## `proxyConfiguration` (type: `object`):

Optional proxy configuration. Recommended for large runs to reduce the chance of rate limiting, since the Actor opens every article page to fetch full detail.

## Actor input object example

```json
{
  "category": "top-picks",
  "maxItems": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `newsItems` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("ryyos/yahoo-japan-top-picks-news-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("ryyos/yahoo-japan-top-picks-news-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call ryyos/yahoo-japan-top-picks-news-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ryyos/yahoo-japan-top-picks-news-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/aO7hQkgabLFiCYMfr/builds/JWThrbKq2vdKzguZc/openapi.json
