【ITニュース解説】Sub-20ms UK Companies House API: Address Sanitization, KYB & Balance Sheet Extraction
2026年10月17日に「Dev.to」が公開したITニュース「Sub-20ms UK Companies House API: Address Sanitization, KYB & Balance Sheet Extraction」について初心者にもわかりやすく解説しています。
ITニュース概要
英国の企業情報API利用の課題(データ整形、PDF抽出など)を解決する高速な新APIが公開された。住所正規化、役員情報分類、貸借対照表PDFからのデータ自動抽出(JSON形式)を可能にし、開発者の負担を大幅に軽減する。デモ版も利用できる。
ITニュース解説
システムエンジニアがシステムを開発する際、外部のデータを利用することは多い。イギリスには「Companies House」という企業登録局があり、ここで管理されている企業の住所や役員情報、財務情報などは、ビジネスにとって非常に価値のあるデータ源となる。しかし、このCompanies Houseが提供するデータを利用する際には、いくつかの大きな課題があった。
まず一つ目の課題は、APIを利用する際の「レートリミット」だ。APIとは、異なるソフトウェア同士が連携するための窓口のようなもので、Companies HouseもこのAPIを通じてデータを提供している。しかし、短時間に大量のデータ要求(リクエスト)を送りすぎると、API側から「HTTP 429 Too Many Requests」というエラーが返され、それ以上の要求が一時的にブロックされてしまう。これは、開発者にとってシステムが意図せず停止する原因となり、スムーズなデータ取得を妨げる大きな障害だった。
二つ目の課題は、取得できるデータ自体の品質が十分ではなかったことだ。例えば、企業の住所データはすべて大文字で記述されていたり、正確な場所を示すGPS座標が欠けていたりした。また、スコットランドの企業番号では、先頭のゼロが省略されてしまうといった問題もあった。これらのデータはそのままでは利用しにくく、住所を人間が読みやすい形式に整形したり、GPS座標を別途取得して付与したりするなどの手間がかかった。データが標準化されていないと、それをシステムで処理するたびに特別な対応が必要になり、開発コストが増大してしまう。
三つ目の課題は、企業の財務情報、特に「貸借対照表」の扱いづらさだ。Companies Houseではこれらの情報をPDF形式で提供している。PDFは人間が読むには便利だが、コンピュータープログラムがそこから特定の数値を自動で読み取って、分析や表示に使うのは非常に難しい。PDFの中の文字や数字は、プログラムから見るとただの画像データのように扱われることが多く、必要な情報を抽出するには複雑な処理が必要だった。そのため、ブラウザ上で貸借対照表の数値をグラフ表示したり、他のデータと連携させたりするようなウェブアプリケーションを開発するのは非常に困難だった。
このような開発者の「痛み」を解決するために、新しいAPIが開発された。この新しいAPIは、前述の課題を解決し、Companies Houseのデータをより効率的かつ容易に利用できるように設計されている。
このAPIの最大の特徴の一つは、その処理速度だ。なんと20ミリ秒(0.02秒)未満という驚異的な速さで、Companies Houseのデータ処理を完了させる。システム開発において、APIの応答速度はユーザー体験に直結する重要な要素だ。高速なAPIは、ウェブサイトやアプリケーションの動作をスムーズにし、ユーザーが待つ時間を大幅に減らすことができる。
具体的な機能としては、まず「住所の正規化」がある。これは、Companies Houseから取得した生の住所文字列を、人間が読みやすく、システムで扱いやすい「Title Case」(各単語の頭文字だけを大文字にする形式、例: "Main Street")に整形する機能だ。さらに、その住所に対応する正確な「WGS-84 GPS座標」を自動で付与する。WGS-84は世界標準の測地系で、この座標があれば地図上に正確な位置を表示したり、位置情報に基づいたサービスを開発したりすることが容易になる。
次に、「役員情報のKYB」機能だ。KYBは「Know Your Business(顧客企業を知る)」の略で、企業の役員が現在も在籍しているのか、それともすでに辞任しているのかを瞬時に分類する。企業の信頼性や合法性を確認する上で、役員の状況は非常に重要な情報であり、これを自動で、しかも高速に提供できることは、金融機関や信用調査サービスなどの開発において大きなメリットとなる。
さらに革新的なのが、「自動画像認識による抽出」機能だ。これは、Companies Houseが提供するPDF形式の貸借対照表を、AI技術を用いて自動でスキャンし、そこに含まれる財務データを「JSON(JavaScript Object Notation)」という形式で解析・抽出する機能だ。JSONはプログラムがデータを扱いやすい軽量なデータ形式であり、この機能によって、これまでPDFの中に埋もれていた財務情報を、簡単に取得し、分析し、ウェブアプリケーションで表示することが可能になる。これにより、手作業でのデータ入力や、複雑なPDF解析ロジックの実装が不要になる。
また、「CORS PDFストリーミング」も提供される。CORS(Cross-Origin Resource Sharing)とは、ウェブブラウザがセキュリティ上の理由から、異なるドメイン(ウェブサイトのアドレス)にあるリソースへのアクセスを制限する仕組みを緩和するための技術だ。このAPIは、Companies Houseの公式PDFファイルを、開発者のウェブポータルや「iFrame」(ウェブページ内に別のウェブページを埋め込むHTML要素)に直接「プロキシ」(代理)として配信する。これにより、ブラウザのセキュリティ制限に引っかかることなく、公式のPDFファイルをウェブサイト上で直接表示できるようになるため、ユーザーは元のCompanies Houseのサイトに移動することなく、必要な情報を確認できる。
このように、この新しいAPIは、従来のCompanies Houseデータ利用における多岐にわたる課題を解決し、システムエンジニアがより効率的で、より高品質なウェブサービスやアプリケーションを開発するための強力なツールを提供する。レートリミットの心配なく、整形された高品質なデータにアクセスでき、扱いづらかったPDFの財務情報も活用できるようになった。現在、このAPIは実際に稼働しており、誰でもその機能を試せるデモサイトやサンドボックスが公開されている。さらに、PHPのWebアプリケーションフレームワークであるLaravelを利用している開発者向けには、このAPIを簡単に組み込めるオープンソースのラッパーも提供されているため、すぐに開発に活用することも可能だ。