DEV Community

morikuma
morikuma

Posted on Originally published at morikuma1223.github.io

Turning Japanese press releases (PR TIMES) into an LLM-ready dataset in 5 minutes

If you build anything that needs to understand the Japanese market — competitor monitoring, PR analytics, a RAG assistant for a sales team — you quickly run into a gap: most of the good structured news data is in English, and the Japanese sources that matter are not in your usual scraping toolkit.

PR TIMES is the one to know. It is Japan's largest press-release distribution platform: more than 100,000 companies publish there, from Toyota-scale corporations to two-person startups, and journalists in Japan treat it as a primary source. Whatever a Japanese company wants the world to know — a funding round, a new store, a product launch, a partnership — shows up on PR TIMES first, in a consistent format, with a category and a timestamp.

This post shows how to turn that stream into clean JSON you can feed to an LLM, without writing a scraper yourself.

What the data looks like

Each release becomes one record:

{
  "title": "【虎ノ門ヒルズ×PR TIMES】一次情報で街の活性化を図る、新コラボ始動",
  "company": "株式会社PR TIMES",
  "companyId": 112,
  "publishedAt": "2026-09-06T23:00:00.000Z",
  "category": "イベント",
  "description": "…",
  "bodyText": "9月7日開始、200面以上に毎日掲出…",
  "bodyLength": 4567,
  "images": ["https://prcdn.freetls.fastly.net/release_image/112/1698/….png"],
  "url": "https://prtimes.jp/main/html/rd/p/000001698.000000112.html"
}
Enter fullscreen mode Exit fullscreen mode

bodyText is the full body with navigation, scripts and boilerplate removed and paragraphs joined by newlines, so it embeds well and summarizes well. category comes from the site's own JSON-LD (articleSection), which is handy for filtering: 商品サービス (products), 資金調達 (funding), イベント (events), 人事 (HR) and so on.

Three ways to collect

The Actor accepts three kinds of input, and you can mix them:

  1. Keywords (生成AI, SaaS, EC…) — returns the latest ~40 releases per keyword. Good for "what is happening in my niche this week".
  2. Company IDs — the number in https://prtimes.jp/main/html/searchrlp/company_id/XXXX. This paginates through the company's entire archive, newest first, so you can pull a competitor's full release history in one run. Combine with publishedAfter to only fetch what's new.
  3. Release URLs — if you already have the links (from an RSS feed, a Slack message, a spreadsheet).

Set fetchBody: false if you only need titles, dates and URLs — it's about 5× cheaper and much faster.

Running it

On Apify (PR TIMES Press Release Scraper) the free plan is enough to try it. The pricing is pay-per-event: you pay a fraction of a cent per release, nothing per month.

From code it's a normal Apify Actor call:

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('<your-username>/prtimes-press-release-scraper').call({
  companyIds: ['112'],
  publishedAfter: '2026-09-01',
  maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'releases');
Enter fullscreen mode Exit fullscreen mode

And if you use an MCP-capable assistant (Claude, Cursor, etc.), Apify's MCP server exposes the Actor as a tool, so you can literally ask "summarize what our three competitors announced this month" and get an answer grounded in the releases.

What people do with it

  • Competitor monitoring: schedule a daily run with 5–10 company IDs and route new items to Slack or Notion with Apify's integrations.
  • Japanese RAG corpus: 20k+ releases across categories make a surprisingly good grounding set for "what does company X do" questions in Japanese.
  • PR analytics: releases per category per month tells you where an industry is investing.
  • Lead generation: funding (資金調達) and new-office (拠点) announcements are buying signals.

A note on etiquette

The Actor only touches public pages, at low concurrency, and keeps the content attributed to its source URL. Press releases exist to be spread, but they are still copyrighted by their publishers — summarize, analyze and index; don't republish them wholesale.


I'm building a small set of Japan-specific data tools (PR TIMES, Qiita/Zenn tech articles, government statistics) for people who need Japanese data in LLM pipelines. If there's a Japanese source you wish existed as a clean API, tell me in the comments.

Top comments (0)