<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Japan Open Data Lab</title>
    <description>The latest articles on DEV Community by Japan Open Data Lab (@japanopendatalab).</description>
    <link>https://dev.to/japanopendatalab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4185683%2F8a0a9228-0dc7-49e3-bb7e-6e81e7f3b454.jpg</url>
      <title>DEV Community: Japan Open Data Lab</title>
      <link>https://dev.to/japanopendatalab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/japanopendatalab"/>
    <language>en</language>
    <item>
      <title>Analyzing 40 Years of Japanese Public Open Data in 3 Minutes with DuckDB (No API Keys, In-Memory Parquet)</title>
      <dc:creator>Japan Open Data Lab</dc:creator>
      <pubDate>Thu, 15 Oct 2026 01:11:23 +0000</pubDate>
      <link>https://dev.to/japanopendatalab/analyzing-40-years-of-japanese-public-open-data-in-3-minutes-with-duckdb-no-api-keys-in-memory-52k1</link>
      <guid>https://dev.to/japanopendatalab/analyzing-40-years-of-japanese-public-open-data-in-3-minutes-with-duckdb-no-api-keys-in-memory-52k1</guid>
      <description>&lt;h2&gt;
  
  
  The Hidden Goldmine (and Nightmare) of Japan's Open Data
&lt;/h2&gt;

&lt;p&gt;Japan’s government ministries publish massive amounts of open public data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-billion-dollar national procurement contracts (Digital Agency / GEPS)&lt;/li&gt;
&lt;li&gt;44-year historical nationwide land valuation benchmarks (MLIT)&lt;/li&gt;
&lt;li&gt;Over 5 million corporate registry records (National Tax Agency)&lt;/li&gt;
&lt;li&gt;470,000+ registered medical and eldercare facilities (MHLW)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For quantitative hedge funds, real estate investors, and AI researchers, this is institutional-grade economic intelligence.&lt;/p&gt;

&lt;p&gt;However, working with raw Japanese government datasets is notoriously painful:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Shift_JIS Encodings&lt;/strong&gt;: Instant mojibake (garbled characters) in standard Python environments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Imperial Eras&lt;/strong&gt;: Dates like &lt;em&gt;Reiwa 5&lt;/em&gt; or &lt;em&gt;Heisei 28&lt;/em&gt; break standard time-series models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Merged Cells &amp;amp; Non-Standard Layouts&lt;/strong&gt;: Handcrafted Excel tables that crash pandas readers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disparate Identifiers&lt;/strong&gt;: Cross-ministry entity matching usually requires painful entity resolution.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At &lt;strong&gt;Japan Open Data Lab&lt;/strong&gt;, we mechanically eliminated all of these quirks. We converted &lt;strong&gt;155+ official datasets (10.16M+ records)&lt;/strong&gt; into US Federal &amp;amp; SEC 24-column snake_case schema, unified under the official &lt;strong&gt;13-digit National Tax Agency Corporate Number&lt;/strong&gt; and &lt;strong&gt;5-digit JIS Municipal Code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We published lightweight showcase samples on Hugging Face and built a &lt;strong&gt;3-Minute Google Colab Recipe&lt;/strong&gt; so you can query them right now in your browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://colab.research.google.com/github/japan-opendata-lab/japan-official-data-megabank/blob/main/notebooks/japan_open_data_in_3_minutes.ipynb" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcolab.research.google.com%2Fassets%2Fcolab-badge.svg" alt="Open In Colab" width="117" height="20"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Zero-Download In-Memory Queries with DuckDB
&lt;/h2&gt;

&lt;p&gt;Using DuckDB's HTTP Parquet reader, you can analyze multi-megabyte remote datasets in milliseconds without local storage overhead.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;duckdb plotly pandas
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  1. Top Government Contractors (Digital Agency GEPS)
&lt;/h3&gt;

&lt;p&gt;Query all central government procurement awards (2020-2026, ~285,000 records) in 1 line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;duckdb&lt;/span&gt;

&lt;span class="n"&gt;con&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;duckdb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/datasets/japan-opendata/japan-official-data-megabank-showcase/resolve/main/data/japan_public_procurement_sample_5k.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;con&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    SELECT 
        legal_name AS vendor_name,
        corporate_number,
        COUNT(*) AS total_contracts,
        ROUND(SUM(capital_amount_jpy) / 1e8, 2) AS total_award_100m_yen
    FROM read_parquet(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;)
    WHERE legal_name IS NOT NULL
    GROUP BY legal_name, corporate_number
    ORDER BY total_award_100m_yen DESC
    LIMIT 5
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;df&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Cross-Table JOIN on 13-Digit Corporate Key
&lt;/h3&gt;

&lt;p&gt;Cross-link government tender winners with the National Tax Agency corporate registry using standard SQL JOINs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;proc_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/datasets/japan-opendata/japan-official-data-megabank-showcase/resolve/main/data/japan_public_procurement_sample_5k.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;corp_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/datasets/japan-opendata/japan-official-data-megabank-showcase/resolve/main/data/japan_corporate_invoices_sample_5k.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    SELECT 
        p.legal_name,
        p.corporate_number,
        c.prefecture_en AS hq_prefecture,
        c.city_ja AS hq_city,
        ROUND(SUM(p.capital_amount_jpy) / 1e6, 2) AS total_million_jpy
    FROM read_parquet(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;proc_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;) p
    JOIN read_parquet(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;corp_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;) c
        ON p.corporate_number = c.corporate_number
    GROUP BY p.legal_name, p.corporate_number, c.prefecture_en, c.city_ja
    ORDER BY total_million_jpy DESC
    LIMIT 5
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;con&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;df&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Historical Benchmark Land Valuations (MLIT 44-Year Archive)
&lt;/h3&gt;

&lt;p&gt;Query official land evaluation points across Japan from 1983 to 2026 (~1.1M records):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;land_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/datasets/japan-opendata/japan-official-data-megabank-showcase/resolve/main/data/japan_land_prices_sample_5k.parquet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;land_df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;con&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    SELECT 
        area_name_local AS location,
        city,
        current_value AS land_price_yen_per_sqm,
        yoy_change_pct,
        event_date AS valuation_year
    FROM read_parquet(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;land_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;)
    WHERE current_value IS NOT NULL
    ORDER BY current_value DESC
    LIMIT 5
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;df&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;land_df&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Interactive Playground (Google Colab)
&lt;/h2&gt;

&lt;p&gt;Run the full interactive benchmark with Plotly charts in under 3 minutes directly in your browser:&lt;br&gt;&lt;br&gt;
👉 &lt;strong&gt;&lt;a href="https://colab.research.google.com/github/japan-opendata-lab/japan-official-data-megabank/blob/main/notebooks/japan_open_data_in_3_minutes.ipynb" rel="noopener noreferrer"&gt;Open In Google Colab&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Production API &amp;amp; Full Datasets
&lt;/h2&gt;

&lt;p&gt;Looking for complete production feeds (10.16M+ rows, 44-year depth, and daily sync)?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;RapidAPI Hub&lt;/strong&gt;:
&lt;a href="https://rapidapi.com/organization/japan-opendata-lab" rel="noopener noreferrer"&gt;https://rapidapi.com/organization/japan-opendata-lab&lt;/a&gt;
Includes a &lt;strong&gt;Free Tier (BASIC $0)&lt;/strong&gt; and high-frequency commercial tiers up to &lt;strong&gt;MEGA ($499/mo)&lt;/strong&gt; with direct DuckDB raw SQL execution (&lt;code&gt;POST /api/v1/query&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude / Cursor MCP Server&lt;/strong&gt;:
&lt;a href="https://github.com/japan-opendata-lab/japan-data-mcp" rel="noopener noreferrer"&gt;https://github.com/japan-opendata-lab/japan-data-mcp&lt;/a&gt;
Smithery 100/100 Quality Certified for Claude Desktop &amp;amp; Cursor IDE.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python SDK&lt;/strong&gt;:
&lt;code&gt;pip install git+https://github.com/japan-opendata-lab/japan-official-data-megabank&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>duckdb</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
