国連工業開発機関(UNIDO)の産業統計データベース「INDSTAT」から、国別・産業別の付加価値額データを取得する方法をまとめました。公式のAPIドキュメントは公開されていませんが、ブラウザの内部APIを利用すれば取得できます。
海外の食品市場規模や製造業の規模を調べるとき、UNIDO INDSTATは最も信頼性の高いデータソースの一つです。しかし公式サイト(stat.unido.org)はCloudflareのセキュリティに守られており、通常のスクレイピングではアクセスできません。
自分が実際に取得できた方法を共有します。

UNIDOとは
UNIDO(国連工業開発機関)は、各国の製造業の統計データを収集・公開する国連機関です。INDSTATは170カ国以上の製造業データを産業分類(ISIC)別に整理したデータベースです。
| 項目 | 内容 |
|---|---|
| 正式名称 | UNIDO INDSTAT Rev.4 |
| URL | https://stat.unido.org |
| 産業分類 | ISIC Rev.4(2桁コード。食品=10、化学=20、自動車=29 など) |
| 利用可能な指標 | 付加価値額、生産額、雇用者数、事業所数、賃金、設備投資 |
| カバー国数 | 170カ国以上 |
| 利用料 | 無料(ユーザー登録不要) |
| 更新頻度 | 年1〜2回 |
データ取得には3つの壁がある
UNIDOのデータ取得にはCloudflareのボット対策、非公開のAPI仕様、中国データの欠損という3つのハードルがあります。
1つずつ見ていきましょう。
壁1 — Cloudflareのボット対策
stat.unido.orgはCloudflare Turnstileで保護されており、通常のHTTPリクエスト(requests、curlなど)ではアクセスできません。

ブラウザ自動化ツール(Playwright)とステルスモード(playwright-stealth)でCloudflareを通過し、その後ブラウザ内からAPIを呼ぶ方法で突破できました。
壁2 — APIドキュメントが非公開
UNIDOは公式のAPIドキュメントを公開していません。ブラウザの開発者ツール(Network タブ)でリクエストを解析して、エンドポイントとパラメータを特定する必要があります。
以下が解析の結果わかったAPI仕様です。
エンドポイント情報
| 項目 | 内容 |
|---|---|
| エンドポイント | https://stat.unido.org/portal/dataset/getData |
| メソッド | POST |
| Content-Type | application/json |
リクエストパラメータ
| パラメータ | 値の例 | 説明 |
|---|---|---|
| datasetId | 125 | INDSTAT Rev.4のID(Rev.3は110) |
| datIns | "25 Sep 2025" | データセットの最終更新日 |
| countryCode | "764" | ISO 3166-1 numeric(3桁数値)。タイ=764 |
| periods | [] | 空配列で全期間を取得 |
| variableCode | "20" | 取得する指標。20=付加価値額 |
variableCode一覧
| コード | 指標 |
|---|---|
| 01 | 事業所数 |
| 04 | 雇用者数 |
| 05 | 賃金・給与 |
| 14 | 生産額 |
| 20 | 付加価値額 |
| 21 | 設備投資額 |
| 31 | 女性雇用者数 |
レスポンスのフィールド
| フィールド | 説明 |
|---|---|
| p | 年(例: "2021") |
| a | ISICコード("10"=食品製造、"C"=製造業合計) |
| v | 現地通貨での値 |
| u | 米ドルでの値 |
壁3 — 中国データの欠損
中国はUNIDOにISIC分類のデータを提出していません。独自の産業分類(GB/T)を使用しているためです。
中国の食品製造業データが必要な場合は、中国国家統計局(data.stats.gov.cn)から手動で取得し、USD換算して補完する必要があります。
主要国の国コード一覧
国コードはISO 3166-1 numericの3桁数値です。ISOの2文字コード(JP、THなど)ではないので注意してください。
| コード | 国 | コード | 国 | コード | 国 |
|---|---|---|---|---|---|
| 392 | 日本 | 764 | タイ | 840 | アメリカ |
| 156 | 中国(データなし) | 704 | ベトナム | 276 | ドイツ |
| 410 | 韓国 | 360 | インドネシア | 826 | イギリス |
| 356 | インド | 608 | フィリピン | 250 | フランス |
| 076 | ブラジル | 458 | マレーシア | 484 | メキシコ |
| 158 | 台湾 | 702 | シンガポール | 643 | ロシア |
ISIC Rev.4 主要産業コード(2桁)
食品はISIC 10、化学は20、自動車は29です。目的の産業コードを間違えると全く別のデータが出てしまいます。
| コード | 産業 |
|---|---|
| 10 | 食品製造 |
| 11 | 飲料製造 |
| 13 | 繊維 |
| 17 | 紙・パルプ |
| 20 | 化学 |
| 21 | 医薬品 |
| 22 | ゴム・プラスチック |
| 24 | 鉄鋼 |
| 26 | 電子部品・情報通信機器 |
| 27 | 電気機器 |
| 29 | 自動車 |
取得手順
必要なライブラリはplaywrightとplaywright-stealthの2つだけです。Cloudflare通過後はブラウザセッション内で何度でもAPIを叩けます。
- Playwrightでstat.unido.orgにアクセスし、Cloudflareを通過します(約8秒待ちます)
- ブラウザ内のJavaScript実行(page.evaluate)でAPIを呼びます
- レスポンスのJSON内で、ISICコード="10"(食品)かつ最新年のデータを抽出します
- 複数国分をループで取得します
注意点
- page.evaluateでブラウザ内からfetchを実行します。PythonのrequestsではなくブラウザのセッションCookieを使います
- Cloudflare通過後は、そのブラウザセッション内であれば何度でもAPIを叩けます
- 全データを一括取得するAPIはありません。 1国ずつリクエストする必要があります
UNIDOデータ取得の要点
| 項目 | 内容 |
|---|---|
| データの信頼性 | 高い(国連機関が各国政府から収集) |
| 取得の難易度 | やや高い(Cloudflare突破とAPI解析が必要) |
| 制約 | 中国データなし。カンボジア・ミャンマーもなし |
| 代替手段 | サイト上で手動検索(件数が少なければこちらが楽) |
| 更新チェック | datInsパラメータの日付が変わったら新データが入っている |
【出典】
- UNIDO「INDSTAT Rev.4 データ検索ページ」
- UNIDO「INDSTAT データセット概要」
- UNIDO「Statistics Data Portal」
- UNIDO「INDSTAT ユーザーガイド(PDF)」
- 国連統計部「ISIC Rev.4 全体構造」
- 国連統計部「ISIC Rev.4 Division 10」
- Wikipedia「ISO 3166-1 numeric 国コード一覧」
- 中国国家統計局(NBS)「年度データ」
- 国連統計部「中国産業分類 GB/T 4754-2017 と ISIC Rev.4 の対応表」
- Playwright「公式ドキュメント」
- PyPI「playwright-stealth」
- Cloudflare「Turnstile 公式ドキュメント」
- 世界銀行「World Development Indicators」
- 国連統計部「UN Comtrade」
- OECD「STAN 構造分析データベース」
- アジア開発銀行「ADB Key Indicators」
海外市場調査・企業リストアップ
調査のご相談は無料です。お気軽にお問い合わせください。
