# Japan New Companies & Corporate Changes API (`japan_data_tools/japan-corporate-events-feed`) Actor

Get newly published Japanese company events from official National Tax Agency data. Find new companies, name changes, address changes, and closures with corporate numbers, dates, and addresses. Export the data via API, JSON, CSV, or Excel.

- **URL**: https://apify.com/japan\_data\_tools/japan-corporate-events-feed.md
- **Developed by:** [satoru yoshimura](https://apify.com/japan_data_tools) (community)
- **Categories:** Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.25 / 1,000 corporate events

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

## Japan New Companies & Corporate Changes API

A machine-readable **Japan Corporate Events Feed** built from the National Tax Agency's official Corporate Number daily differential data.

This Actor is not a general corporate-registry lookup wrapper. It answers one question:

> **What changed in Japan's company universe?**

Use it to retrieve a daily feed of **newly published** company registrations, name changes, address changes, and closures.

The underlying corporate change can predate the day it appears in the NTA feed.

### Productized corporate signals

| Event            | NTA `process` | What it means                                 |
| ---------------- | ------------: | --------------------------------------------- |
| `NEW_COMPANY`    |          `01` | Newly published corporate number              |
| `NAME_CHANGE`    |          `11` | Company / organization name changed           |
| `ADDRESS_CHANGE` |          `12` | Domestic principal-office address changed     |
| `CLOSED`         |          `21` | Registry closed / dissolution-related closure |

Other official process codes can optionally be returned as `OTHER`, but the default product surface is intentionally limited to these four signals.

### Why use an event feed instead of a registry API?

Registry lookup APIs are useful when you already know which company you want to inspect.

This Actor is designed for the opposite workflow:

1. A company event happens.
2. The NTA later publishes or updates it in a daily differential file.
3. The Actor preserves the underlying change date and adds the feed-file date.
4. The Actor normalizes the record into a stable event object.
5. Your automation, database, sales workflow, or monitoring system consumes the event.

Typical downstream uses include:

- Detect newly published companies for B2B prospecting workflows
- Detect headquarters or address changes for data hygiene
- Detect name changes for CRM and master-data maintenance
- Detect closures for suppression and risk-review workflows
- Build scheduled Japan company-change datasets without parsing NTA CSV files yourself

### Example input

```json
{
  "date": "",
  "eventTypes": [
    "NEW_COMPANY",
    "ADDRESS_CHANGE"
  ],
  "prefectures": [
    "東京都"
  ],
  "includeCorrections": false,
  "maxItems": 10
}
```

Leave `date` empty to use the newest Unicode CSV daily differential file available on the NTA download page.

Leave `prefectures` empty to retrieve events from all Japan.

The Actor follows the NTA site's official tokenized POST download flow; no NTA Web API application ID is required.

### Example event

```json
{
  "event_id": "3a2f24cb9608d695ce42",
  "event_type": "NEW_COMPANY",
  "event_date": "2026-08-21",
  "feed_date": "2026-08-21",
  "updated_at": "2026-08-21",
  "process_code": "01",
  "corporate_number": "1234567890123",
  "name": "Example株式会社",
  "prefecture": "東京都",
  "city": "千代田区",
  "address": "東京都千代田区丸の内1丁目",
  "postal_code": "1000005",
  "is_correction": false,
  "source": "National Tax Agency Corporate Number Publication Site (Japan)",
  "source_url": "https://www.houjin-bangou.nta.go.jp/download/sabun/"
}
```

`event_id` is deterministic and is intended to make downstream deduplication easier.

### Date semantics

The feed deliberately exposes three separate dates:

- `event_date` — the underlying corporate change date reported by the NTA record
- `feed_date` — the NTA daily differential-file date from which this Actor retrieved the record
- `updated_at` — the NTA record's `updateDate`

These dates can differ.

For example, an address change can have:

```text
event_date = 2026-07-23
feed_date  = 2026-08-21
```

Therefore, this Actor is a feed of **newly published corporate events**.

It does not claim that every underlying change occurred on the feed date.

### Filters

#### `date`

Optional `YYYY-MM-DD` file date.

Leave blank to automatically use the latest available daily differential file.

#### `eventTypes`

The standard feed supports:

```json
[
  "NEW_COMPANY",
  "NAME_CHANGE",
  "ADDRESS_CHANGE",
  "CLOSED"
]
```

`NEW` is also accepted as a backward-compatible alias for `NEW_COMPANY`.

#### `prefectures`

Filter by one or more Japanese prefectures.

Examples:

```text
東京都
大阪府
福岡県
```

Leave empty to return events from all Japan.

#### `includeCorrections`

Default: `false`

NTA correction records can replay historical records for an affected corporation.

If treated as fresh events, these corrections can create false newly-published signals. Correction rows are therefore excluded from the standard event feed by default.

#### `includeOther`

Default: `false`

Enable this only if you need official NTA process codes outside the four standard event types.

Additional supported records are returned with `event_type` set to `OTHER`.

#### `maxItems`

Maximum number of corporate-event records to return.

The Store form starts with a small number of events so you can inspect the output before increasing the limit for larger runs.

### Output

Results are stored in the default Apify dataset and can be consumed as:

- JSON
- CSV
- Excel
- Apify API output
- Downstream Apify integrations

Each corporate event is normalized into a consistent object containing fields such as:

- `event_id`
- `event_type`
- `event_date`
- `feed_date`
- `updated_at`
- `process_code`
- `corporate_number`
- `name`
- `prefecture`
- `city`
- `address`
- `postal_code`
- `is_correction`
- `source`
- `source_url`

The run summary is stored under the `SUMMARY` record and includes:

- Feed / source-file date
- Source URL
- Total event count
- Counts by event type
- Selected filters
- Whether PPE charging was active

### Data source

Source: **National Tax Agency Corporate Number Publication Site (Japan)**

The official daily differential data contains newly assigned corporate-number records and newly published or updated change records, including names, domestic addresses, and registry closures.

The NTA provides recent differential files as ZIP archives in CSV and XML formats.

This Actor is an independent transformation and normalization tool and is **not an official National Tax Agency service**.

Verify important information against the official source.

# Actor input Schema

## `date` (type: `string`):

Select a specific NTA differential-file date. Leave blank to automatically use the latest available daily file.

## `eventTypes` (type: `array`):

Select the corporate events to return. Leave all four selected for the standard feed. NEW is also accepted as a backward-compatible alias for NEW\_COMPANY.

## `prefectures` (type: `array`):

Select one or more Japanese prefectures. Leave empty to return events from all Japan.

## `includeCorrections` (type: `boolean`):

Include NTA correction records. Keep disabled for the standard feed because corrections can replay historical records.

## `includeOther` (type: `boolean`):

Also return official NTA process codes outside the four standard event types as OTHER.

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

Maximum number of corporate events to return. The Store form starts at 10 events so you can inspect the output at low cost; increase this for production runs.

## `sourceUrl` (type: `string`):

Optional direct URL to an NTA-compatible ZIP archive for reproducible runs or debugging. Normally leave blank; the Actor automatically uses the official NTA download flow.

## Actor input object example

```json
{
  "date": "2026-08-21",
  "eventTypes": [
    "NEW_COMPANY",
    "NAME_CHANGE",
    "ADDRESS_CHANGE",
    "CLOSED"
  ],
  "prefectures": [],
  "includeCorrections": false,
  "includeOther": false,
  "maxItems": 10,
  "sourceUrl": ""
}
```

# Actor output Schema

## `events` (type: `string`):

Normalized corporate event records returned by this run. Each dataset item represents one newly published company registration, name change, address change, closure, or optionally another NTA process event.

## `summary` (type: `string`):

Run-level metadata including the source feed date, source URL, event counts, selected filters, and charging status.

# 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
};

// Run the Actor and wait for it to finish
const run = await client.actor("japan_data_tools/japan-corporate-events-feed").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 }

# Run the Actor and wait for it to finish
run = client.actor("japan_data_tools/japan-corporate-events-feed").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
}' |
apify call japan_data_tools/japan-corporate-events-feed --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,japan_data_tools/japan-corporate-events-feed"
        }
    }
}

```

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/hoRHf1H2YXgvjKnpO/builds/Jr7Wkv4O2klAd73Jf/openapi.json
