国連工業開発機関(UNIDO)の産業統計データベース「INDSTAT」から、国別・産業別の付加価値額データを取得する方法をまとめました。公式のAPIドキュメントは公開されていませんが、ブラウザの内部APIを利用すれば取得できます。

海外の食品市場規模や製造業の規模を調べるとき、UNIDO INDSTATは最も信頼性の高いデータソースの一つです。しかし公式サイト(stat.unido.org)はCloudflareのセキュリティに守られており、通常のスクレイピングではアクセスできません。

自分が実際に取得できた方法を共有します。

UNIDO Data Hubトップページ


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など)ではアクセスできません。

UNIDOのINDSTATデータベース — Cloudflare Turnstileのチャレンジ画面

ブラウザ自動化ツール(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パラメータの日付が変わったら新データが入っている

【出典】


調査者について

木下隆志 — 株式会社タイトンマイ代表

  • 大阪大学大学院 経済学研究科 修士課程修了

  • シャープ株式会社の調達部門に8年間勤務

  • うち2年間はタイ工場に駐在、調達課長として現地スタッフのマネジメントを担当

  • 日本人管理職は自分一人の環境で、英語・タイ語での調達実務を経験

  • 独立後、80カ国以上・10,000社以上の企業調査を実施


https://taitonmai.co.jp/column/20260215_02/