# Japan Press Releases Scraper (PR TIMES) (`jpopendata/japan-press-releases-prtimes`) Actor

Recent Japanese company press releases from prtimes.jp as English-schema bibliographic records — title, company, publish datetime, category, lead, keywords, thumbnail, URL. For PR monitoring & lead-gen. Unofficial; not affiliated with PR TIMES, Inc. Body full text is never collected.

- **URL**: https://apify.com/jpopendata/japan-press-releases-prtimes.md
- **Developed by:** [JP Open Data](https://apify.com/jpopendata) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 records

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?

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 Press Releases (PR TIMES)

**Recent Japanese company press releases from PR TIMES (prtimes.jp) as clean English-schema bibliographic records — title, issuing company, publish datetime, category, one/two-sentence lead, keyword tags, thumbnail and URL — for PR monitoring, competitive tracking and lead generation.**

This Actor reads PR TIMES' own published news sitemap (the recent-release feed) and, for each matched release, its public detail page, and returns each release as English-schema JSON: title, issuing company (legal entity) name, publish datetime (ISO 8601 +09:00), release category (release type) and business subcategory, the release's own **lead** (its subtitle — one or two sentences), the keyword tags, the main thumbnail image URL, the company's own reference URL, and the release URL. Filter by keyword, company name, category and publish-date window.

> **Bibliographic data only — the press-release body is never collected.** A press release's body text is a copyrighted work. This Actor deliberately extracts **only the bibliographic record** (title, company, datetime, category, keywords, URL) plus the release's own short lead. It never reproduces the release body, and it never collects any personal data (author, PR contact, or company-president names are excluded by design).

> **Unofficial tool.** Not affiliated with or endorsed by **PR TIMES, Inc.** (株式会社PR TIMES). It collects **publicly available data only** (no login, no paywall), politely (strictly serial requests spaced **≥ 1.2 seconds apart**, a hard per-run request budget, no block evasion), fetches **only URLs the site's robots.txt leaves open to general bots** (the news sitemap and public release pages), and — relevant e.g. under GDPR — **collects no personal data**. Users are responsible for ensuring their own use of the data complies with the source site's terms and applicable law.

***

### Quick start — verified input

Copy, paste, run. This exact input is verified on the platform (SUCCEEDED, items > 0):

```json
{
  "keyword": "AI",
  "detailFetch": true,
  "maxItems": 5
}
```

Running with **no input at all** also works (same defaults). All fields are optional — leave `keyword` empty to take every recent release, or set `"detailFetch": false` for a cheap title-only feed.

### Who is this for?

- **PR & communications teams** — monitor competitors, partners and your own coverage; get a structured daily feed of new releases matching your keywords, in a schema you can pipe into a dashboard or alert.
- **Sales & lead generation** — companies announce funding, product launches, hiring and expansion in press releases; a keyword/category feed of "who just announced what" is a first-party signal for outbound.
- **Market & trend research** — category and keyword trends across the whole recent-release stream, with publish timestamps for time series.
- **Media & data teams** — an English-schema, deduplicated index of Japanese press releases (title, company, date, link) to join against other datasets.

### Sample output (dataset item)

```json
{
  "title": "BtoB営業でAIをどう使う？商談準備・会議記録・案件レビューを判断と学習につなぐ完全ガイドを無料公開",
  "companyName": "株式会社くるみバディ",
  "companyNameKana": null,
  "publishedAt": "2026-08-25T20:29:37+09:00",
  "category": "調査レポート",
  "subcategory": "広告・マーケティング",
  "leadText": "商談準備・会議記録・案件レビューを判断と学習につなぐ方法",
  "keywords": ["セールス・営業", "生成AI", "商談準備", "会議記録", "案件レビュー", "CRM"],
  "thumbnailUrl": "https://prcdn.freetls.fastly.net/release_image/186443/23/186443-23-1e166dcf....jpg",
  "releaseUrl": "https://prtimes.jp/main/html/rd/p/000000023.000186443.html",
  "companyUrl": "https://curumi.co.jp/resources/btob-sales-ai-guide-2026",
  "prtimesId": "000000023.000186443",
  "detailFetched": true,
  "source": "PR TIMES (prtimes.jp press releases)",
  "sourceUrl": "https://prtimes.jp/",
  "license": "Publicly available data — unofficial tool; users are responsible for compliance with the source site's terms",
  "retrievedAt": "2026-08-25T16:10:41.158Z"
}
```

`title`, `companyName`, `publishedAt`, `category`/`subcategory`, `keywords`, `leadText`, `thumbnailUrl`, `companyUrl` and `releaseUrl` are the bibliographic fields. **There is no body-text field** — the release body is never collected. `leadText` is the release's own subtitle (a one/two-sentence lead the company wrote), never the article body. `companyNameKana` is reserved (the source does not expose a kana reading).

### Input example

```json
{
  "keyword": "AI 資金調達",
  "category": "調査レポート",
  "dateFrom": "2026-08-25",
  "dateTo": "2026-08-26",
  "detailFetch": true,
  "maxItems": 100
}
```

All filters are optional. `keyword` keeps releases whose title or keyword tags contain **all** space-separated terms (case-insensitive; matched cheaply on the sitemap feed). `dateFrom`/`dateTo` bound the JST publish date. `companyName` and `category` are matched on the detail page, so they require `detailFetch: true` (the default). With `detailFetch: false`, the Actor emits sitemap-only lite records (title, publish datetime, keyword tags, URL) with the detail fields `null` — many records from a single request.

> **Coverage note:** the source news sitemap covers only the **most recent** releases (roughly the last day, ~2,000 items). This Actor is built for **monitoring** — run it on a schedule (e.g. hourly/daily) to capture new releases as they publish. It is not a historical archive of the whole PR TIMES back-catalogue.

#### Common input mistakes

| Mistake | Correct |
|---------|---------|
| `"dateFrom": "2026-01-01"` (weeks ago) | the feed only covers roughly the last day — use today/yesterday, or leave the dates empty |
| `"dateFrom": "26-08-2026"` / `"Aug 25"` | `"2026-08-25"` (`2026/08/25`, `20260825` are tolerated) |
| `"companyName": "Sony"` with `"detailFetch": false` | set `"detailFetch": true` — company and category live on the detail page |
| `"keyword": "AI, 資金調達"` (comma) | space-separated terms: `"AI 資金調達"` (ALL terms must match) |
| `"maxItems": 500` with the default `maxApiRequests` | raise `maxApiRequests` too (one request per record when detailFetch is on) |
| `"detailFetch": "yes"` | `true` / `false` (`"yes"`/`"no"` strings are tolerated) |

#### Empty results?

A run that finds nothing completes with 0 items and a warning in the log (not a failure). Typical causes: a `dateFrom`/`dateTo` window outside the ~1-day sitemap coverage, a `keyword` with several terms that never co-occur in one title (each term must match), or a `category`/`companyName` substring that does not appear as PR TIMES spells it (try a shorter Japanese substring such as `調査` instead of `調査レポート・アンケート`). Drop a filter and retry.

### Pricing

Pay per result — see the pricing tab. One run fetches the news sitemap once (one request) plus one request per detail-enriched record.

### FAQ

**Where does the data come from?**
Live from PR TIMES' own published news sitemap (`sitemap-news.xml`, advertised in the site's robots.txt) and the public, login-free release pages on prtimes.jp at run time. Every record embeds the source, source URL, a license note, and the retrieval timestamp.

**Is this an official PR TIMES service?**
No. **Unofficial**, independently built and maintained, and **not affiliated with or endorsed by PR TIMES, Inc.** It reads only publicly available pages.

**Does it copy the press-release text?**
No — deliberately. A press-release body is a copyrighted work. This Actor collects **only the bibliographic record** (title, company, publish datetime, category, keyword tags, thumbnail, URLs) plus the release's own short lead (subtitle). The full body is never read into any field. The test suite asserts that no fragment of the body — and no person name — can appear in the output.

**Is any personal data included?**
No. Author names, PR-contact names and the issuing company's president name (all present on the source page) are excluded by design; only the company (legal entity) name is kept. Relevant e.g. under GDPR: no personal data is collected or processed.

**Does it respect robots.txt?**
Yes. prtimes.jp/robots.txt is `Allow: /` with only three narrow disallowed paths (a like-count API, a release-image action, an `.m3u8` upload path) — none of which this Actor requests. It fetches only the news sitemap and public release pages, strictly serially and **≥ 1.2 s apart**, with a hard per-run budget and exponential backoff, and never evades blocks.

**Do I need a proxy?**
Usually not — the Actor reaches prtimes.jp directly from Apify's datacenter. If a run ever fails with HTTP 403/429, set `proxyConfiguration` (Apify proxy, JP if needed). The Actor never rotates identities or evades blocks — it makes the same polite, serial requests through whichever single egress you give it, and fails visibly when blocked.

**Who is responsible for how the data is used?**
You are. The Actor collects publicly available factual/bibliographic data politely, but the legality of your specific use (redistribution, database rights, the source site's terms) is your responsibility as the user.

**How fresh are the results?**
The news sitemap holds the latest releases at retrieval time. Treat each run as a snapshot of the recent feed and re-run on a schedule for continuous monitoring.

**What about server load?**
Strictly serial requests ≥ 1.2 s apart, one sitemap request plus one per enriched record, a hard per-run request budget (max 60), exponential backoff, no CAPTCHA/login/block evasion. If the site changes its page format, the Actor stops with a clear error instead of silently mis-parsing; if it blocks persistently, the run fails visibly.

### Search terms this Actor answers

prtimes scraper · japan press releases data · japan company news monitoring · japan pr feed · prtimes api · japanese press release scraper · pr times monitoring · japan company announcements data · press release tracking japan · japan pr newswire alternative · プレスリリース 取得 · 企業ニュース モニタリング

### More Japan data Actors by the same developer

- **Japan Hobby & Collectibles Prices (駿河屋 Suruga-ya)** — new/used prices, stock and marketplace lows for figures, games and trading cards.
- **Yahoo Auctions Japan Sold Prices (ヤフオク落札相場)** — actual sold-item comps from auctions.yahoo.co.jp.
- **Japan Hotels & Ryokan Prices (jalan.net)** — hotel/ryokan prices, plans and ratings by prefecture and area.
- **Japan Government Tenders & Awards** — tender notices and award results from the kkj.go.jp portal.
- **Japan Medical Facilities** — every registered hospital, clinic, dental clinic and pharmacy (MHLW open data).
- **Japan Government Subsidies & Grants** — open subsidy calls from the official jGrants API.
- **Japan Financial Licenses & Registrations** — FSA-licensed banks, securities firms, crypto exchanges and more.
- **Japan Construction & Real-Estate Licenses** — licensed contractors and brokers from MLIT's official register.
- **Japan Trade Statistics** — monthly import/export flows by HS code and partner country, from Japan Customs.

***

*Unofficial tool; not affiliated with PR TIMES, Inc. (株式会社PR TIMES). Publicly available data only; users are responsible for compliance with the source site's terms and applicable law. Bibliographic data only — the press-release body full text is never collected, and no personal data is collected.*

# Actor input Schema

## `keyword` (type: `string`):

Optional. Keep only releases whose title or keyword tags contain ALL space-separated terms (case-insensitive). Japanese or English, e.g. "AI", "生成AI", "資金調達". Matched on the sitemap feed, so it is cheap. Leave empty to take every recent release.

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

Optional. Keep only releases whose PR TIMES release type or business category contains this text (case-insensitive), e.g. "商品サービス", "調査レポート", "イベント", "テクノロジー", "ビューティー". Requires detailFetch=true (read from the detail page).

## `companyName` (type: `string`):

Optional. Keep only releases from companies whose name contains this text (case-insensitive). Requires detailFetch=true (read from the detail page).

## `dateFrom` (type: `string`):

Optional. Keep only releases published on or after this JST calendar date. Format YYYY-MM-DD, e.g. "2026-08-25" (2026/08/25 and 20260825 are tolerated). Note: the news sitemap covers only the most recent releases (roughly the last day), so a date far in the past yields 0 items.

## `dateTo` (type: `string`):

Optional. Keep only releases published on or before this JST calendar date. Format YYYY-MM-DD, e.g. "2026-08-26" (2026/08/26 and 20260826 are tolerated).

## `detailFetch` (type: `boolean`):

When true (default), each record costs one extra request and adds the issuing company name, category, subcategory, the release's one/two-sentence lead, thumbnail URL and company URL. When false, the actor emits the sitemap-only lite record (title, publish datetime, keyword tags, URL) with those fields null — many records per single request. companyName and category filters require this to be true.

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

Stop after this many dataset records (1-1000, default 5; each record costs one request when detailFetch is on).

## `maxApiRequests` (type: `integer`):

Hard budget of HTTP requests to prtimes.jp for this run (1-60, default 20; 1 for the news sitemap + 1 per detail-enriched record when detailFetch is on). Requests are strictly serial with >= 1.2 s spacing. When the budget runs out the run completes with complete=false in RUN\_SUMMARY.

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

Apify proxy settings. Default: no proxy. Never used for rotation/evasion — one client identity per run.

## Actor input object example

```json
{
  "keyword": "AI",
  "category": "商品サービス",
  "companyName": "株式会社",
  "dateFrom": "2026-08-25",
  "dateTo": "2026-08-26",
  "detailFetch": true,
  "maxItems": 5,
  "maxApiRequests": 20
}
```

# Actor output Schema

## `records` (type: `string`):

Bibliographic press-release records with source attribution (source, sourceUrl, license, retrievedAt) on every item. Body full text is never included.

# 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 = {
    "keyword": "AI",
    "maxItems": 5,
    "maxApiRequests": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("jpopendata/japan-press-releases-prtimes").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 = {
    "keyword": "AI",
    "maxItems": 5,
    "maxApiRequests": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("jpopendata/japan-press-releases-prtimes").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 '{
  "keyword": "AI",
  "maxItems": 5,
  "maxApiRequests": 20
}' |
apify call jpopendata/japan-press-releases-prtimes --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jpopendata/japan-press-releases-prtimes"
        }
    }
}

```

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/am3xR8NdA9D5UJMMS/builds/oxJ3UZhijXzvaVVFw/openapi.json
