Japan Government Tenders Scraper + AI Extraction(官公需・入札情報)
Pricing
from $59.00 / 1,000 tender (enriched with ai)s
Japan Government Tenders Scraper + AI Extraction(官公需・入札情報)
Structured Japanese public tenders: deadlines, qualification grades, region requirements — every field with a verbatim source citation.
Pricing
from $59.00 / 1,000 tender (enriched with ai)s
Rating
0.0
(0)
Developer
Minako Yamamoto
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Search Japan's official government procurement portal and get tenders as structured, citation-backed JSON. Every run queries the official API of 官公需情報ポータル (kkj.go.jp), fetches each tender announcement, and has an LLM extract deadlines, qualification grades, region requirements and more — every extracted value ships with a verbatim quote from the source text, so you can verify it instead of trusting it. Values that cannot be verified against the source are returned as null, never guessed.
Here is a real output record (a water-main relocation works tender from Nirasaki City, Yamanashi):
{"key": "eWFtYW5hc2hpL25pcmFzYWtpX2NpdHkvMjAyNi8yMDI2MDcwNl8wMDE2Nwo=","projectName": "令和8年7月23日一般競争入札予定(下水道工事に伴う 水道管移設 耐震化工事(第3工区))","prefecture": "山梨県","organization": "山梨県韮崎市","categoryPortal": "工事","cftIssueDate": "2026-07-06T00:00:00+09:00","sourceUrl": "https://www.city.nirasaki.lg.jp/material/files/group/1/koukoku147.docx","dataSource": "官公需情報ポータルサイト(kkj.go.jp)のAPIを利用しています / Powered by the official API of the Government Procurement Portal: https://www.kkj.go.jp/s/","enrichmentStatus": "ok","enriched": {"summary": "韮崎市が発注する下水道工事に伴う水道管移設耐震化工事(第3工区)の一般競争入札(事後審査型)。施工延長L=521.6m。契約日の翌日から令和9年3月31日までの工期。","industryCategory": { "major": "construction", "detail": "水道管移設耐震化工事" },"deadlines": {"qa": "2026-07-14", // question deadline"participation": "2026-07-17", // pre-participation application deadline"bidSubmission": "2026-07-23", // bid submission deadline"opening": "2026-07-23" // bid opening (same-day opening)},"qualification": {"grade": { "system": "local", "allowed": [], "raw": "最新の総合評点が600点以上の者" },"localRegistrationRequired": true,"regionRequirement": "韮崎市内に本社(本店)がある者","licenses": []},"performancePeriod": { "start": "2026-07-24", "end": "2027-03-31" },"electronicBidding": false,"biddingMethod": "lowest_price","confidence": 1,"sourceQuotes": {"deadlines.qa": "質問提出期限令和8年7月14日 午後3時","deadlines.participation": "入札参加申出受付期間令和8年7月6日 ~ 7月17日 午後3時","deadlines.bidSubmission": "入札書受付日時令和8年7月23日(木) 午前10時00分","deadlines.opening": "開札は、入札書提出の締め切り後「共通事項」指定の時刻に即日開札する","qualification.grade.raw": "最新の総合評点が600点以上の者","qualification.localRegistrationRequired": "韮崎市競争入札参加有資格者名簿【工事:管】に登録されている者","qualification.regionRequirement": "韮崎市内に本社(本店)がある者"// …one verbatim citation per extracted field},"remediations": [],"schemaVersion": "2.4","model": "claude-haiku-4-5"}}
What it does
- Extract bid deadlines and qualification grades from Japanese tenders — Q&A, participation, bid submission and opening dates, each independently verified against the announcement text
- Scrape Japan's government procurement portal (官公需情報ポータル / kkj.go.jp) via its official search API — no fragile DOM scraping
- Search Japanese public tenders by keyword, prefecture (JIS code) and category, including municipal and small-value tenders
- Monitor new Japanese government tenders daily — incremental mode returns only tenders you haven't seen, ready for schedules and webhooks
- Get Japan bid information as machine-readable JSON with verbatim source citations for compliance-grade downstream use
- Classify tenders the portal doesn't: about 52% of portal records carry no category tag; the AI classifies every tender (construction / goods / services + a short industry label)
- Call it from AI agents (MCP) — the input schema is written to be agent-readable
Accuracy — measured, not promised
Measured on a frozen set of 31 real tender documents (cleaning-services and construction, national + municipal issuers), with human-adjudicated ground truth:
| Field | Accuracy |
|---|---|
| Bid opening date | 100% (31/31) |
| Bid submission deadline | 96.8% (30/31) |
| Qualification grade | 96.7% (29/30) |
| Participation deadline | 93.5% (29/31) |
| Roster registration requirement | 93.5% (29/31) |
| Region requirement | 93.5% (29/31) |
| Fabricated grades / invented values | 0 |
How we measured: blind double extraction by two different models → mechanical verbatim matching → 152 cells adjudicated by a human against the original announcements → the resulting frozen 31-document suite is re-run as a regression gate on every pipeline change. Numbers above are from pipeline v2.4. Extraction accuracy is also exposed per record as confidence (share of fields whose citation verified) and remediations (a log of every deterministic correction the pipeline applied) — so you can route low-confidence records to human review.
Pricing
| Event | Price | When charged |
|---|---|---|
tender-basic | $2 / 1,000 items | every result pushed to the dataset |
tender-enriched | $59 / 1,000 items | AI extraction succeeded (enrichmentStatus: "ok") |
tender-enriched-byok | $10 / 1,000 items | same, when you bring your own Anthropic API key |
That is about ¥6 (~$0.06) per tender, read and structured for you. Example: watching all service tenders in Tokyo every morning ≈ 300 new items/month ≈ $17.7/month — compare that to reading 300 Japanese PDFs yourself.
Failed records (fetch_failed / parse_failed / list_page) are never charged the enriched fee.
Trying it out: this Actor has no separate free tier of its own, but Apify grants free platform credits to new accounts — you can run your first extractions within those credits, no credit card required (credit amounts are set by Apify and may change). The default input is preset to a small, high-quality first run (keywords: ["清掃"], maxItems: 20).
Honest limitations
- Coverage: only tenders listed on 官公需情報ポータル. The portal aggregates national and local government procurement, but listing completeness varies by municipality — we do not promise exhaustiveness.
- Freshness: records appear on the portal about 1 day after the issuing organization publishes them. Monitoring SLAs should be anchored to portal registration time, not original publication.
- Category tags: ~52% of portal records carry no category. Prefer keyword search (
keywords) over thecategoryfilter, and use the AI-extractedenriched.industryCategory. - Garbled PDF tables: some announcements publish schedules in tables that collapse when converted to text. Deadline attribution can be wrong in those documents — this is the dominant source of the remaining errors in the accuracy table. Such records typically surface with lower
confidenceor entries inremediations.
Using from AI agents (MCP)
This Actor works with Apify's MCP integration, so Claude, ChatGPT and other MCP-capable agents can call it as a tool:
- Connect your agent to the Apify MCP server (
https://mcp.apify.com) with your Apify token. - Ask the agent, e.g.: "Using the japan-tender-scraper actor, find cleaning-service tenders in Kanagawa announced this week and list bid deadlines with their source quotes."
- The agent fills the input schema (it is written to be self-explanatory to LLMs):
{ "keywords": ["清掃"], "prefectures": ["14"], "maxItems": 20, "enrich": true }
FAQ
How is this different from JETRO or "Sell to State" style English tender services? Those cover Japan's WTO-threshold and central-government tenders in English. This Actor is the only structured English feed covering Japan's municipal & sub-threshold tenders — the long tail of city/town/village procurement that never gets translated, which is the bulk of contract volume.
Do I pay for records where extraction failed?
No. Failed records are pushed with enrichmentStatus set to the failure reason and are charged as basic items only, never the enriched fee.
Can I use my own Anthropic API key?
Yes (BYOK). Set llmApiKey in the input — it is stored as a secret, never appears in logs or error messages, and enriched items are then billed at the reduced tender-enriched-byok rate while LLM costs go to your key.
Why do some fields come back null even though the announcement mentions them?
Every value must be backed by a verbatim quote found in the source text. If the model cannot produce a verifiable citation, the pipeline discards the value rather than guessing — null means "not verifiably stated", by design.
Can I run it on a schedule?
Yes — use Apify Schedules with incrementalMode: true (default). Repeat runs with the same search conditions return only new tenders, so a daily schedule plus a webhook gives you a monitoring feed.
Data source & legal
This Actor uses the official API of 官公需情報ポータルサイト (Government Procurement Portal): https://www.kkj.go.jp/s/ — the same credit is embedded in every output record (dataSource field). Output contains factual data, short summaries, minimal verbatim quotes for verification, and links to the original announcements; full announcement texts are not republished. Personal names and personal contact details are excluded from output by design.
日本語での概要
官公需情報ポータル(kkj.go.jp)の公式APIを検索し、公告本文をAIが読解して構造化JSONで返すActorです。 抽出した全フィールドに原文からの逐語引用(sourceQuotes)が付くため、値を検算できます。根拠を示せない値は推測せず null で返します。
- 検索: キーワード(例: 清掃・警備・舗装)/都道府県コード/カテゴリ/公告日範囲
- 抽出: 質問締切・参加申請期限・入札書提出期限・開札日/等級(統一資格・自治体格付・経審評点)/名簿登載要否/地域要件/許認可/履行期間/電子入札/落札方式/業種分類/要約
- 精度: 凍結31実文書+人裁定による実測で 開札100%・入札書96.8%・等級96.7%・参加/名簿/地域93.5%・捏造0(v2.4)。confidence と remediations を全件開示
- 料金: 構造化成功1件 $0.059(約6円)。自前キー持ち込み(BYOK)なら $0.010/件。失敗レコードにAI課金なし。Actor独自の無料枠はありませんが、Apifyが新規アカウントに付与する無料クレジットの範囲で、カード登録なしに試せます
- 制約(正直に): ポータル収載分のみ/掲載まで約1日遅延(SLA起点=ポータル登録時刻)/カテゴリ未タグ約52%のためキーワード検索推奨/表組み崩れPDFでは期限帰属に既知の限界
- 定期監視: incrementalMode(既定ON)で同一条件の2回目以降は新着のみ。スケジュール+Webhookで毎朝の監視フィードに
本Actorは官公需情報ポータルサイトのAPIを利用しています: https://www.kkj.go.jp/s/