APIの使い方
questionimg 東京都オープンデータAPIとは
  • 東京都オープンデータAPIは東京都オープンデータカタログサイトにある一部のデータをAPIとして提供するサービスです。
  • ユーザ登録は不要で、誰でもすぐにAPIを利用することが可能です。
  • APIの対象となるデータは東京都オープンデータカタログサイトで公開しているデータのファイル形式によって異なります。詳細は以下の通りです。(2023年3月現在)
ファイル形式:CSV
  • 東京都オープンデータカタログサイトで公開しているデータ
ファイル形式:Excel
  • 東京都オープンデータカタログサイトで公開している東京都各局ほかのデータ
questionimg 推奨環境
本サイトを快適にご利用いただくため、以下の環境でのご利用を推奨いたします。
※推奨環境下のご利用でも、OSとブラウザの組み合わせ、ブラウザの設定状況によっては表示、機能に不具合が起こる可能性がございます。予めご了承くださいますようお願いいたします。
  • 推奨OS
  • Windows10以上
  • Mac OS X 10.15 Catalina 以上
  • 推奨ブラウザ(Windows)
  • Microsoft Edge(最新版)
  • Google Chrome(最新版)
  • Firefox(最新版)
  • 推奨ブラウザ(Mac OS)
  • Microsoft Edge(最新版)
  • Google Chrome(最新版)
  • Firefox(最新版)
  • Safari(最新版)
questionimg API経由でデータを利用するための手順
  1. 利用するAPIを決定する
  2. 本サイトのAPI検索画面から利用するAPIを探します。 (検索方法はキーワード検索、カテゴリ毎のフィルタリング検索が可能です。)
    利用するAPIが見つかったらそのAPI名を押下して詳細画面へと移ります。
  3. APIの検索条件等を確認する
  4. 詳細画面から利用するAPIの検索条件等を確認します。また、APIの試用も可能です。
    1. API画面の見方を紹介します。
    2. sample1
      1. APIのリクエストパラメータ(検索条件)の情報を表示しています。
      2. 押下することで画面上でAPIの試用をすることができます。
      3. レスポンス例を表示しています。
    3. APIの試用をした場合の見方を紹介します。
    4. APIの試用をしたい場合は、「Try it out」ボタンを押下して試用を開始します。
      sample2
      1. APIのリクエストパラメータ(検索条件)を変更できます。
      2. Aで設定されたリクエストパラメータをもとにAPIの試用を実行します。
      3. 実行結果をクリアします。
      4. 試使用したリクエストのCurlコマンド、リクエストURLを表示します。
      5. 実行した結果を表示します。(青背景部分)
  5. APIのリクエストURLを取得
  6. APIの試用をするとレスポンス画面にリクエストURLが表示されるため、そのURLを取得します。
    sample3
  7. APIを利用する
  8. APIを利用するためのサンプルコードを以下に記します。
    ここでは、まず例として、東京都 新型コロナウイルス感染症新規陽性者数(apiId:t000001d0000000011-819fb24a2e74a5f2ea848d548c5cff7d-0)を使用して、 公表_年月日が2021年分のデータをJSON形式で取得する場合の手順を示します。
    このデータは1日分が1レコードとして構成されているため、1年間(365日分)のデータを取得する場合はlimitに365を指定します。
    またcolumnで取得したい項目を絞り込むことが可能です。columnが未指定の場合は項目の絞り込みを行いません。
    • JSON形式でデータを取得する場合
    • 以下に、curlでデータを取得する場合の例を示します。
      curl -X 'POST' \
        'https://service.api.metro.tokyo.lg.jp/api/t000001d0000000011-819fb24a2e74a5f2ea848d548c5cff7d-0/json?limit=365' \
        -H 'accept: application/json' \
        -H 'Content-Type: application/json' \
        -d '{
        "column": [
        "公表_年月日","日別陽性者数","7日間合計陽性者数","7日間平均陽性者数"
        ],
        "searchCondition": {
          "conditionRelationship": "and",
          "dateAndSearch": [
            {
              "column": "公表_年月日",
              "relationship": "ge",
              "condition": "2021/1/1"
            },
            {
              "column": "公表_年月日",
              "relationship": "le",
              "condition": "2021/12/31"
            }
          ]
        }
      }'
      上記を実行した際のレスポンスの例を以下に示します。
      {
      "total": 365,
      "subtotal": 365,
      "limit":365,
      "offset":null,
        "metadata": {
          "apiId": "t000001d0000000011-819fb24a2e74a5f2ea848d548c5cff7d-0",
          "title": "東京都 新型コロナウイルス感染症新規陽性者数 東京都 新型コロナウイルス感染症新規陽性者数",
          "datasetId": "t000001d0000000011",
          "datasetTitle": "東京都 新型コロナウイルス感染症新規陽性者数",
          "datasetDesc": "東京都 新型コロナウイルス対策サイト https://stopcovid19.metro.tokyo.lg.jp/ で公開している新規陽性者数です。(接触歴等不明者数は2020年3月27日から、増加比は2020年4月9日から掲載)",
          "dataTitle": "東京都 新型コロナウイルス感染症新規陽性者数",
          "dataDesc": "東京都 新型コロナウイルス対策サイト https://stopcovid19.metro.tokyo.lg.jp/ で公開している新規陽性者数です。(接触歴等不明者数は2020年3月27日から、増加比は2020年4月9日から掲載)※ システムの仕様上、下記では1000recordsと表示されておりますが、実際には1000件以上となっております。",
          "sheetname": "",
          "version": "1.0.7",
          "created": "2022/9/15 15:06",
          "updated": ""
        },
        "hits": [
          {
            "row": 348,
            "公表_年月日": "2021-01-01",
            "日別陽性者数": 793,
            "7日間合計陽性者数": "6129",
            "7日間平均陽性者数": "875.6"
          },
          {
            "row": 349,
            "公表_年月日": "2021-01-02",
            "日別陽性者数": 829,
            "7日間合計陽性者数": "6004",
            "7日間平均陽性者数": "857.7"
          },
          {
            "row": 350,
            "公表_年月日": "2021-01-03",
            "日別陽性者数": 826,
            "7日間合計陽性者数": "6122",
            "7日間平均陽性者数": "874.6"
          },
          {
            "row": 351,
            "公表_年月日": "2021-01-04",
            "日別陽性者数": 905,
            "7日間合計陽性者数": "6536",
            "7日間平均陽性者数": "933.7"
          },
      ...
        ]
      }
    • XML形式でデータを取得する場合
    • レスポンスをXMLで受け取ることも可能です。レスポンスがXMLの場合はAPIが対応していればsjisでの取得も可能です。 ただしリクエストのエンコーディングはUTF-8で送信する必要があります。
      以下に、curlでXMLのレスポンスを受け取る場合の例を示します。
      curl -X 'POST' \
        'https://service.api.metro.tokyo.lg.jp/api/t000001d0000000011-819fb24a2e74a5f2ea848d548c5cff7d-0/xml?encoding=utf-8&limit=365' \
        -H 'accept: application/xml' \
        -H 'Content-Type: application/json' \
        -d '{
        "column": [
        "公表_年月日","日別陽性者数","7日間合計陽性者数","7日間平均陽性者数"
        ],
        "searchCondition": {
          "conditionRelationship": "and",
          "dateAndSearch": [
            {
              "column": "公表_年月日",
              "relationship": "ge",
              "condition": "2021/1/1"
            },
            {
              "column": "公表_年月日",
              "relationship": "le",
              "condition": "2021/12/31"
            }
          ]
        }
      }'
      上記を実行した際のXMLのレスポンスの例を以下に示します。
      <?xml version="1.0" encoding="UTF-8"?>
      <result>
        <total>365</total>
        <subtotal>365</subtotal>
        <limit>365</limit>
        <offset></offset>
        <metadata>
          <apiId>t000001d0000000011-819fb24a2e74a5f2ea848d548c5cff7d-0</apiId>
          <title>東京都 新型コロナウイルス感染症新規陽性者数 東京都 新型コロナウイルス感染症新規陽性者数</title>
          <datasetId>t000001d0000000011</datasetId>
          <datasetTitle>東京都 新型コロナウイルス感染症新規陽性者数</datasetTitle>
          <datasetDesc>東京都 新型コロナウイルス対策サイト https://stopcovid19.metro.tokyo.lg.jp/ で公開している新規陽性者数です。(接触歴等不明者数は2020年3月27日から、増加比は2020年4月9日から掲載)</datasetDesc>
          <dataTitle>東京都 新型コロナウイルス感染症新規陽性者数</dataTitle>
          <dataDesc>東京都 新型コロナウイルス対策サイト https://stopcovid19.metro.tokyo.lg.jp/ で公開している新規陽性者数です。(接触歴等不明者数は2020年3月27日から、増加比は2020年4月9日から掲載)※ システムの仕様上、下記では1000recordsと表示されておりますが、実際には1000件以上となっております。</dataDesc>
          <sheetname></sheetname>
          <version>1.0.7</version>
          <created>2022/9/15 15:06</created>
          <updated></updated>
        </metadata>
        <hits>
          <item>
            <prop>
              <rownum>348</rownum>
              <key>公表_年月日</key>
              <value>2021-01-01</value>
            </prop>
            <prop>
              <rownum>348</rownum>
              <key>日別陽性者数</key>
              <value>793</value>
            </prop>
            <prop>
              <rownum>348</rownum>
              <key>7日間合計陽性者数</key>
              <value>6129</value>
            </prop>
            <prop>
              <rownum>348</rownum>
              <key>7日間平均陽性者数</key>
              <value>875.6</value>
            </prop>
          </item>
          <item>
            <prop>
              <rownum>349</rownum>
              <key>公表_年月日</key>
              <value>2021-01-02</value>
            </prop>
            <prop>
              <rownum>349</rownum>
              <key>日別陽性者数</key>
              <value>829</value>
            </prop>
            <prop>
              <rownum>349</rownum>
              <key>7日間合計陽性者数</key>
              <value>6004</value>
            </prop>
            <prop>
              <rownum>349</rownum>
              <key>7日間平均陽性者数</key>
              <value>857.7</value>
            </prop>
          </item>
          <item>
            <prop>
              <rownum>350</rownum>
              <key>公表_年月日</key>
              <value>2021-01-03</value>
            </prop>
            <prop>
              <rownum>350</rownum>
              <key>日別陽性者数</key>
              <value>826</value>
            </prop>
            <prop>
              <rownum>350</rownum>
              <key>7日間合計陽性者数</key>
              <value>6122</value>
            </prop>
            <prop>
              <rownum>350</rownum>
              <key>7日間平均陽性者数</key>
              <value>874.6</value>
            </prop>
          </item>
          <item>
            <prop>
              <rownum>351</rownum>
              <key>公表_年月日</key>
              <value>2021-01-04</value>
            </prop>
            <prop>
              <rownum>351</rownum>
              <key>日別陽性者数</key>
              <value>905</value>
            </prop>
            <prop>
              <rownum>351</rownum>
              <key>7日間合計陽性者数</key>
              <value>6536</value>
            </prop>
            <prop>
              <rownum>351</rownum>
              <key>7日間平均陽性者数</key>
              <value>933.7</value>
            </prop>
          </item>
                  ...
          </hits>
      </result>