コンテンツにスキップ

補助金 SaaS の内部 enrich

想定 user

B2B 補助金検索 SaaS / 補助金診断 SaaS / 中小企業向け資金調達プラットフォーム の開発元 (年商 ¥3-50 億規模、開発 5-30 人体制) が、自社 DB に登録された顧客企業 1,000-50,000 社の補助金マッチング結果・最新採択履歴・適格事業者状態を一括埋めて、検索 UI / レコメンド精度を上げる。月次 / 四半期で全顧客の enrich_table を再生成し、SaaS の 最新お知らせ 機能 / あなたに合う補助金 top 5 レコメンド / 事業者状態 alert 等の機能を駆動する用途。

必要な前提

  • jpcite API key (¥3/req、初回 3 req/IP/日無料、bulk 利用は事前 prepay 推奨)
  • X-Client-Tag (SaaS 顧客別計上 / parent-child sub API key で内部按分)
  • 法人番号バルク CSV (1,000-50,000 件)
  • (推奨) 顧客の業種 (JSIC 中分類) + 所在地 + 直近売上 + 従業員数
  • (推奨) Idempotency-Key ヘッダー (大量 batch の冪等性確保)

入力例

{
  "corp_numbers": ["<法人番号 5,000 件、配列で投入>"],
  "include": ["match_top5", "adoption_5y", "invoice", "enforcement_3y"],
  "fit_score_min": 0.5,
  "client_tag": "saas-internal-2026Q2",
  "idempotency_key": "enrich-2026-05-11-v1",
  "language": "ja"
}

実行 (curl / Python / TypeScript)

curl

curl -X POST -H "X-API-Key: $JPCITE_API_KEY" -H "X-Client-Tag: saas-internal-2026Q2" \
  -H "Idempotency-Key: enrich-2026-05-11-v1" -H "Content-Type: application/json" \
  -d @bulk.json "https://api.jpcite.com/v1/enrich/bulk"

curl -H "X-API-Key: $JPCITE_API_KEY" \
  "https://api.jpcite.com/v1/jobs/enrich-2026-05-11-v1/status"

curl -L -H "X-API-Key: $JPCITE_API_KEY" \
  "https://api.jpcite.com/v1/jobs/enrich-2026-05-11-v1/result.parquet" -o enrich.parquet

Python

import os, time
from jpcite import Client
c = Client(api_key=os.environ["JPCITE_API_KEY"], client_tag="saas-internal-2026Q2")
corp_numbers = open("customers.csv").read().split()
job = c.bulk_enrich_async(corp_numbers=corp_numbers,
    include=["match_top5", "adoption_5y", "invoice"],
    fit_score_min=0.5, idempotency_key="enrich-2026-05-11-v1")
while job.status not in ("done", "failed"):
    time.sleep(10)
    job = c.get_job(job.job_id)
import pandas as pd
df = pd.read_parquet(job.result_url)
df.to_parquet("internal_enrich_2026-05.parquet", compression="zstd")

TypeScript

import { jpcite } from "@jpcite/sdk";
const corps = (await Bun.file("customers.csv").text()).trim().split("\n");
const job = await jpcite.bulk_enrich_async({
  corp_numbers: corps, include: ["match_top5", "adoption_5y"],
  fit_score_min: 0.5, idempotency_key: "enrich-2026-05-11-v1",
  client_tag: "saas-internal-2026Q2",
});
const result = await jpcite.get_job_result(job.job_id);

出力例 (artifact)

{
  "job_id": "enrich-2026-05-11-v1",
  "fetched_at": "2026-05-11T09:00:00Z",
  "source_url": "https://api.jpcite.com/v1/enrich/bulk",
  "content_hash": "sha256:a3f4...8c91",
  "total_corps": 5000,
  "matched_corps": 4732,
  "unmatched_corps": 268,
  "elapsed_seconds": 587,
  "result_url": "https://r2.jpcite.com/enrich/enrich-2026-05-11-v1.parquet",
  "result_format": "parquet (snappy compressed)",
  "rows_sample": [
    {
      "corp_number": "7010001234567",
      "match_top5": [{"program_id": "meti-mono-2026-r5", "fit_score": 0.82, "tier": "A"}],
      "adoption_5y": [{"program": "meti-it-2024-r3", "amount_jpy": 4500000}],
      "invoice_status": "active"
    }
  ],
  "known_gaps": ["municipal lag 7-14d", "5000 件 batch は約 10 分要 (10 req/s)"]
}

known gaps

  • rate-limit 10 req/s: 5,000 件 batch は約 10 分、50,000 件は約 90 分 (async + R2 直 DL 推奨)
  • 自治体独自データ: 1,741 市町村のうち RSS / API 提供は 280、残り 1,461 はスクレイピング週次バッチで 7-14 日 lag
  • 法人番号未付番: 個人事業主 / 任意団体は bulk_enrich 対象外
  • fit_score の根拠: 過去 36 ヶ月の業種別採択率 + 類似企業の採択実績ベース
  • enrich の更新周期: 月次が標準、自治体補助金は週次差分のみ補完、四半期に full re-enrich 推奨

関連 tool

  • bulk_enrich (本 recipe の中核、async job)
  • bulk_match_programs (個別マッチング、SaaS UI からの即時呼出)
  • get_corp_360 (個社深掘り、SaaS 詳細画面)
  • list_municipal (自治体補助金縦覧、地域 filter 用)
  • apply_eligibility_chain_am (排他ルールチェック、Wave 21)

関連 recipe

billable_units 試算

  • 1 batch 5,000 units × ¥3 = ¥15,000 / 月、税込 ¥16,500
  • 顧客 50,000 社 月次 = ¥150,000 / 月、税込 ¥165,000
  • 年 ¥1,800,000、税込 ¥1,980,000
  • ROI: SaaS 顧客から ¥3,000-10,000 / 月 / 顧客 受領前提なら ¥150,000 enrich コストで 顧客 LTV 6-12 ヶ月分の上振れ効果

商業利用条件

  • PDL v1.0 + CC-BY-4.0
  • SaaS 内部の検索 UI / レコメンド / alert への利用 OK、最終出力に jpcite 出典明記
  • 顧客企業向け再配布 (SaaS 経由の表示) は jpcite 出典明記の上で可
  • 二次卸 (他 SaaS への ETL 出力) は別途要相談

業法 fence

  • SaaS は情報提供のみ、申請代行 / 経営助言は資格者経由 (税理士法 §52 / 中小企業診断士 / 行政書士法 §1)
  • 個別の補助金採択可能性の保証は禁止、本 recipe は統計的シグナル (fit_score) のみ提供
  • 個人情報保護法 — 法人番号は対象外、代表者氏名等を扱う場合は安全管理措置
  • 景表法 §5 — fit_score / tier は推定値、保証ではない旨を SaaS UI に明示