# JMA Japan Forecast Scraper (`parseforge/jma-japan-forecast-scraper`) Actor

Scrapes Japan Meteorological Agency weather forecasts by prefecture code. Returns each forecast as a flat row with temperature, precipitation probability, wind, and weather codes. Export to CSV, JSON, Excel, or XML.

- **URL**: https://apify.com/parseforge/jma-japan-forecast-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Travel, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 86.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### JMA Japan Forecast Scraper

**Scrape Japan weather forecasts from the Japan Meteorological Agency, for any prefecture, up to a million records per run.** Each forecast includes temperature, precipitation probability, wind, and weather codes, returned as flat rows. No API key required. Export to CSV, JSON, Excel, or XML.

The Japan Meteorological Agency publishes detailed local forecasts, but its website is built for human browsing, not bulk analysis. This Actor reads the public forecast pages directly, filtered by prefecture, and returns each forecast in one fixed schema. No registration, no rate limits beyond fair use.

| Who uses it | What they scrape JMA (Japan Meteorological Agency) for |
|---|---|
| Travel platforms | Displaying up-to-date weather for Japanese destinations |
| Logistics companies | Planning routes around precipitation and wind |
| Event organizers | Choosing dates with low rain probability |
| Researchers | Building historical forecast datasets |
| App developers | Powering weather widgets for Japan |

### What it does

This Actor collects JMA weather forecasts by prefecture code and returns each forecast as a flat row with all available meteorological fields.

- 📍 **Prefecture filter:** pick any of the 52 JMA forecast offices, from Tokyo to Yaeyama.
- 📊 **Flat rows:** every forecast is one record, ready for spreadsheets or databases.
- 🔢 **Scalable:** fetch up to 1,000,000 forecasts per run for paid users.
- 🌐 **No API key:** the Actor reads public pages directly, no registration needed.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with JMA (Japan Meteorological Agency) data

**✈️ Power travel apps.**

A travel startup pulls Tokyo and Osaka forecasts daily to show visitors what to pack.

**🚚 Optimize delivery routes.**

A logistics firm checks wind and precipitation for Hokkaido to avoid delays.

**🎪 Plan outdoor events.**

An event organizer compares rain probability across weekends in Kyoto to pick a date.

**📈 Build forecast archives.**

A researcher collects a year of forecasts for Okinawa to study prediction accuracy.

**📱 Feed weather widgets.**

A developer uses the Actor to keep a Japan-wide weather app updated every hour.

### Why choose this scraper

| | What you get |
|---|---|
| **Official source** | Data comes straight from the Japan Meteorological Agency, the authoritative weather service. |
| **No API key** | Skip OAuth and rate limits; the Actor handles the public pages for you. |
| **Fixed schema** | Every forecast has the same fields, so you can merge runs without cleaning. |
| **Prefecture coverage** | All 52 forecast offices are supported, including remote islands. |
| **Scalable** | From a 10-record preview to a million-record archive, the Actor scales with your plan. |

### How it compares

No other Store actor targets JMA (Japan Meteorological Agency) the same way, so the honest comparison is with the alternatives teams actually weigh.

| | JMA Japan Forecast Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When JMA (Japan Meteorological Agency) changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor with a single prefecture code, and it returns all forecasts for that office. The maxItems field caps how many records you pull, from 10 for a preview to 1,000,000 for a full archive. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10,
 "prefectureCode": "130000"
}
```

A larger pull:

```json
{
 "maxItems": 200,
 "prefectureCode": "130000"
}
```

### Pricing

Pay-per-result: **$0.001 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.10 |
| 1,000 results | $1.00 |
| 10,000 results | $10.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [JMA Japan Forecast Scraper](https://apify.com/parseforge/jma-japan-forecast-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to JMA (Japan Meteorological Agency) through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/jma-japan-forecast-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that the prefectureCode is valid. The input uses JMA office codes, not prefecture names. Use the dropdown in the input editor to select the correct code.

**Why is my run limited to 10 items?**

Free accounts are limited to a 10-record preview. Upgrade to a paid plan to set maxItems higher, up to 1,000,000.

**The forecast data looks outdated.**

JMA updates forecasts on a fixed schedule. Run the Actor again to fetch the latest data. If the issue persists, check the JMA website directly to confirm the update time.

**I get an error about the prefecture code.**

The code must be one of the 52 listed values, like 130000 for Tokyo. Copy the code exactly from the input schema or use the dropdown.

### FAQ

| Question | Answer |
|---|---|
| Do I need a JMA API key? | No. The Actor reads the public forecast pages directly, so there is no registration or key management. |
| How many forecasts can I get? | Free users can preview up to 10 records. Paid users can set maxItems up to 1,000,000 per run. |
| Which prefectures are supported? | All 52 JMA forecast offices are available, from Hokkaido to Okinawa, including remote islands like Daito and Yaeyama. |
| What fields does each forecast include? | Each row includes temperature, precipitation probability, wind, weather codes, and other meteorological data as published by JMA. |
| Can I export the data? | Yes, you can export to CSV, JSON, Excel, or XML directly from the Apify platform. |
| How often is the forecast updated? | The Actor fetches the latest forecast from JMA at the time of the run. Schedule it hourly or daily to keep data fresh. |
| Is this legal? | JMA publishes forecasts as public information. Scraping public data for reasonable use is generally accepted, but check JMA's terms for your specific application. |
| Can I filter by date? | The Actor returns the current forecast for the selected prefecture. For historical data, run it on a schedule and store the results. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Japan Meteorological Agency. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `prefectureCode` (type: `string`):

JMA prefecture office code.

## Actor input object example

```json
{
  "maxItems": 10,
  "prefectureCode": "130000"
}
```

# Actor output Schema

## `results` (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 = {
    "maxItems": 10,
    "prefectureCode": "130000"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/jma-japan-forecast-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 = {
    "maxItems": 10,
    "prefectureCode": "130000",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/jma-japan-forecast-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "prefectureCode": "130000"
}' |
apify call parseforge/jma-japan-forecast-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/jma-japan-forecast-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/XQxeiAVD8clWELyju/builds/UyxHbEfi8QhoGuk02/openapi.json
