# Japan Government Grants & Subsidies (jGrants API) (`panda_studio/japan-grants-subsidies`) Actor

Search open Japanese government grants and subsidies (hojokin) from the official jGrants API. Deadline, days left, max amount, subsidy rate, target area in English, industry, full text. Monitor mode returns only new subsidies. No API key.

- **URL**: https://apify.com/panda\_studio/japan-grants-subsidies.md
- **Developed by:** [panda studio](https://apify.com/panda_studio) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 subsidy 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Japan Grants & Subsidies API (jGrants) - Search and New Subsidy Alerts

Find **Japanese government grants and subsidies (補助金・助成金, hojokin)** that are open for applications, and get **alerts for new subsidies** every day. Data comes from the **official jGrants public API** run by the Digital Agency of Japan, which lists national programs and many prefecture and city programs.

- **Official public API**: no login, no API key, no proxy, no scraping of web pages.
- **Clean JSON**: application deadline, **days left**, **maximum amount (JPY)**, **subsidy rate**, target area (with English prefecture names), company size, industry, purpose, and the full description as plain text.
- **Monitor mode**: returns only subsidies that are new since your last run. Schedule it daily and send the results to Slack, email, Google Sheets or your CRM.
- **Several keywords in one run**, merged and de-duplicated.
- **Low cost**: you pay per subsidy returned, and monitor mode only returns new ones.

### What can you do with Japanese subsidy data?

- **Subsidy consultants, tax accountants and SME advisors (補助金コンサル・士業)**: a daily list of new programs for your clients' region and industry.
- **SaaS, equipment and construction vendors**: find programs that pay for part of your product (IT導入, DX, 省エネ, GX) and use them in sales.
- **Foreign companies entering Japan**: see which national and regional incentives exist, with English labels for areas and company sizes.
- **Media, newsletters and AI assistants**: publish "new subsidies this week" automatically, or feed structured subsidy data to an LLM or RAG pipeline.

### How to use it

1. Enter one or more **keywords** (Japanese works best: 補助金, 助成金, IT導入, DX, 創業, 省エネ, 設備投資, 海外展開, 観光, 人材育成).
2. Optionally filter by **prefecture** (English or Japanese), **industry**, **company size** and **use purpose**.
3. Run it. Each subsidy is one row in the dataset. Export to JSON, CSV or Excel, or use the Apify API.
4. For alerts, turn on **monitor mode** and add a daily **schedule**.

### Input examples

IT and DX subsidies, closest deadline first:

```json
{
  "keywords": ["IT導入", "DX"],
  "acceptingOnly": true,
  "sortBy": "acceptance_end_datetime",
  "sortOrder": "ASC",
  "includeDetails": true,
  "maxItems": 50
}
```

Daily alert of new subsidies for Tokyo:

```json
{ "keywords": ["補助金"], "prefecture": "Tokyo", "monitorMode": true, "monitorId": "tokyo-all", "includeDetails": true }
```

Tips:

- Keywords must be at least 2 characters long (a jGrants rule).
- The `prefecture` filter returns programs targeted at that prefecture. Nationwide programs are labelled 全国. Use `"prefecture": "全国"` for nationwide programs only, or leave it empty for everything.

### Output example (real record, fetched 2026-09-25)

```json
{
  "id": "a0WJ200000CDYEIMA5",
  "title": "令和8年度神奈川県小規模事業者デジタル化支援推進事業費補助金",
  "status": "open",
  "acceptanceStart": "2026-04-15T00:00Z",
  "acceptanceEnd": "2026-09-30T08:00Z",
  "daysLeft": 6,
  "maxAmountJpy": 500000,
  "subsidyRate": "補助対象経費の2/3以内",
  "targetArea": "神奈川県",
  "targetAreaEn": "Kanagawa",
  "targetEmployees": "20名以下",
  "usePurpose": "設備整備・IT導入をしたい",
  "detailText": "※J グランツで本補助金の申請受付を行っておりません。申請手続き等の詳細については、以下 HP をご確認ください。...",
  "attachments": [],
  "url": "https://www.jgrants-portal.go.jp/subsidy/a0WJ200000CDYEIMA5",
  "source": "出典：Jグランツ（https://www.jgrants-portal.go.jp/）。... processed by panda studio; not guaranteed by the Government of Japan or local governments."
}
```

Other fields: `subsidyNumber`, `catchPhrase`, `industry`, `institution`, `targetAreaDetail`, `projectEndDeadline`, `multipleApplicationsAllowed`, `matchedKeyword`, `isNew` (monitor mode), `scrapedAt`.
Attachments (guidelines, forms) are listed by file name only. Open the `url` page to download them from jGrants.

A `RUN_SUMMARY` record in the key-value store shows the keywords, how many subsidies were listed and returned, and why the run stopped.

### Pricing

Pay per event: a small fee per subsidy returned (`result`) plus a tiny start fee. See the **Pricing** tab for current prices. You can set a maximum cost per run; the Actor stops cleanly when it is reached. Monitor mode keeps daily runs cheap because only new subsidies are returned.

### Data source, attribution and terms

- **出典：Jグランツ** (Source: jGrants, https://www.jgrants-portal.go.jp/), the subsidy application system of the Digital Agency, Government of Japan. API documentation: [Digital Agency developer site](https://developers.digital.go.jp/documents/jgrants/api/).
- このデータは政府公式の補助金申請システム Jグランツの Web-API 機能を利用して取得した情報をもとに panda studio が加工して作成したものです。コンテンツの内容は日本国政府及び自治体によって保証されたものではありません。
  (The data was retrieved with the jGrants Web-API and processed by panda studio: text converted from HTML, `status`, `daysLeft` and English area names added. It is not guaranteed by the Government of Japan or local governments.)
- This Actor is **not affiliated with or endorsed by** the Digital Agency or any government body.
- Every record has a `source` field with this attribution. **If you publish or share the data, keep the attribution** "出典：Jグランツ" and say that it was processed, as the [jGrants Web-API terms](https://www.jgrants-portal.go.jp/open-api) require. Do not present it as if it were made by the government.
- Some application guidelines and forms may contain third-party rights. This Actor does not copy attachment files; get permission from the rights holder if you reuse them.
- The jGrants API is a **beta service** and allows up to 10 requests per second. This Actor sends at most about 2.5 requests per second, waits between requests and retries politely on errors. If the API is down for maintenance, the run fails with a clear message and nothing is charged for results.

### Limitations

- Titles and descriptions are in Japanese, as published. Field names and area labels are in English. Add a translation step (for example an LLM) if you need English text.
- Not every Japanese subsidy is on jGrants. Some local programs are listed there but take applications on their own website; the description says so.
- 助成金 from the Ministry of Health, Labour and Welfare (employment subsidies) are included only if they are published on jGrants.

### FAQ

**Is there an API key or login?** No. The jGrants public API is open. You only need an Apify account.

**How does monitor mode remember?** Subsidy IDs are saved in a named key-value store (`jgrants-monitor-state`) in your own Apify account. Use a different `monitorId` for each saved search.

**Can I get subsidies that are closed or not yet open?** Turn off "Only subsidies currently accepting applications". The `status` field shows `open`, `upcoming` or `closed`.

**Can I use it with Make, Zapier, n8n or an AI agent?** Yes. Call it through the Apify API or integrations, or connect it to an AI agent through the Apify MCP server.

### Changelog

- 0.2 (2026-09-28): Attribution in every record as required by the jGrants Web-API terms, stricter request throttling, retries on network errors, a failed keyword no longer stops the whole run, `RUN_SUMMARY` record, output schema.
- 0.1 (2026-09): First release.

# Actor input Schema

## `keywords` (type: `array`):

Search keywords, at least 2 characters each (jGrants requirement). Japanese works best, e.g. 補助金, IT導入, DX, 省エネ, 創業, 海外展開, 観光. Results of all keywords are merged and de-duplicated.

## `acceptingOnly` (type: `boolean`):

Return only subsidies whose application window is open now (jGrants acceptance=1).

## `prefecture` (type: `string`):

Optional. Prefecture in English (Tokyo) or Japanese (東京都), or 全国 for nationwide programs.

## `industry` (type: `string`):

jGrants industry label, e.g. 製造業, 情報通信業, 宿泊業、飲食サービス業, 医療、福祉.

## `employees` (type: `string`):

Optional jGrants employee filter.

## `usePurpose` (type: `string`):

jGrants purpose label, e.g. 設備整備・IT導入をしたい, 新たな事業を行いたい, 販路拡大・海外展開をしたい.

## `sortBy` (type: `string`):

Order of results returned by jGrants.

## `sortOrder` (type: `string`):

DESC = newest / latest first.

## `includeDetails` (type: `boolean`):

Fetch each subsidy's detail (description text, subsidy rate, industry, purpose, attachment names). Slower but much richer.

## `monitorMode` (type: `boolean`):

Remember subsidies seen in previous runs (in a named key-value store in your account) and return only new ones. Schedule daily for alerts.

## `monitorId` (type: `string`):

Use different IDs for different saved searches.

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

Stop after this many subsidies.

## Actor input object example

```json
{
  "keywords": [
    "補助金"
  ],
  "acceptingOnly": true,
  "employees": "",
  "sortBy": "created_date",
  "sortOrder": "DESC",
  "includeDetails": true,
  "monitorMode": false,
  "monitorId": "default",
  "maxItems": 20
}
```

# Actor output Schema

## `results` (type: `string`):

All subsidies returned by this run, stored in the default dataset.

## `runSummary` (type: `string`):

Keywords, counts and stop reason for this run.

# 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 = {
    "keywords": [
        "補助金"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("panda_studio/japan-grants-subsidies").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 = {
    "keywords": ["補助金"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("panda_studio/japan-grants-subsidies").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 '{
  "keywords": [
    "補助金"
  ],
  "maxItems": 20
}' |
apify call panda_studio/japan-grants-subsidies --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,panda_studio/japan-grants-subsidies"
        }
    }
}
```

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/kIvIOWRtpeKZxvVxO/builds/QC63etbryineFhKpt/openapi.json
