対象範囲が細分化されている
あなたの本は、米国、EU、アジア、GCC の発行者にまたがっていますが、それぞれが独自の規制当局ポータル、申請形式、開示の遅れを持っています。それを社内でつなぎ合わせるということは、市場ごとにスクレーパー、分類ごとにパーサーを意味します。
ヘッジファンド向け
62 規制当局のソースは、1 つのクロス GAAP KPI 分類法に正規化されており、ファイリングがウォッチリストに追加された瞬間に起動される署名付き Webhook が使用されます。スクレイパーも PDF パーサーも、維持する夜間バッチも必要ありません。
pip install openfilings を実行し、午後に最初のハンドラーを配線します。
問題
あなたの本は、米国、EU、アジア、GCC の発行者にまたがっていますが、それぞれが独自の規制当局ポータル、申請形式、開示の遅れを持っています。それを社内でつなぎ合わせるということは、市場ごとにスクレーパー、分類ごとにパーサーを意味します。
10-Ks、ゆうほ、DART、MOPS、および ESEF の年次報告書ではすべて、「収益」の表現が異なります。正規化を行わないと、市場間スクリーニングとファクター モデルは、実際には比較できない数値に基づいて実行されます。
一度取得されキャッシュされた KPI は、発行者が申告を修正した瞬間に失効します。バックテストやライブポジションに関わるあらゆるものにとって、ポイントインタイムの正確性が重要です。
得られるもの
提出書類は、62 マーケット全体の SEC EDGAR、EDINET、OpenDART、MOPS、ESEF、Companies House などの規制当局のフィードから直接取得され、すべてのレコードに元の文書へのリンクが付いています。
収益、利益率、EPS、および前年比デルタは、市場および会計基準全体で 1 つの分類法に正規化されています。すべての開示フォーマットを自分で解析するのではなく、1 つの品目コードをクエリします。
URL を一度登録します。ウォッチリスト上の新しい提出書類、プレスリリース、インサイダー取引は、HMAC 署名付き POST として送信されます。ポーリング ループはなく、標準ライブラリのみで検証できます。
パイプライン
01
search_ticker / entities.search は、名前、ティッカー、LEI、または ISIN を 1 つの正規の発行者に解決します。単一の市場を想定する前に、entity.listings[] を読んでください。
02
get_company_financials は、financial_year_from/to フィルターと line_items フィルターを使用した複数年の期間シリーズを 1 回の呼び出しで取得します。標準 KPI バックフィルのファイリングごとのループはありません。
03
Webhook を一度作成します (event_types=["filing.discovered"])。ウォッチリスト上のすべての新しい開示情報は、毎晩の投票ではなく、署名付きで数秒以内に届きます。
04
verify_webhook() は hmac.compare_digest で署名をチェックし、GET /api/v1/filings/{id}/kpis / get_filing_section はその 1 つの file_id から信号に必要なものをすべてハイドレートします。
統合
配信は、生のリクエスト本文に HMAC-SHA256 を使用して署名されます。verify_webhook() には、Python 標準ライブラリ以外は何も必要ありません。
handler.py · FastAPI
import os
from fastapi import Depends, FastAPI
from openfilings import Client
from openfilings.integrations.fastapi import openfilings_webhook_dependency
from openfilings.webhooks import WebhookEvent
app = FastAPI()
client = Client(api_key=os.environ["OPENFILINGS_API_KEY"])
verify = openfilings_webhook_dependency(os.environ["OPENFILINGS_WEBHOOK_SECRET"])
@app.post("/openfilings-webhook")
async def on_filing(event: WebhookEvent = Depends(verify)) -> dict:
if event.event == "filing.discovered":
kpis = client.filings.kpis(event.data["filing_id"])
# ... run your signal against kpis.canonical ...
print(event.data["ticker"], kpis.canonical.get("revenue"))
return {"ok": True}filing.discovered payload
{
"event": "filing.discovered",
"version": "1",
"timestamp": "2026-08-08T09:14:02.331Z",
"data": {
"canonical_key": "sec:0000320193",
"ticker": "AAPL",
"market_id": "us",
"form_type": "10-Q",
"filing_id": "3f1b7e2a-...",
"filing_date": "2026-08-08"
}
}ライブ中継
アクセスする
対象とするティッカーまたは ISIN、および構築しているものを貼り付けます。データ エンジニアのリーダーが、API アクセス、市場の対象範囲の詳細、Webhook 配信のビジネス プラン条件についてフォローアップします。
よくある質問
OpenFilings は、一次情報源の提出書類および標準 KPI レイヤーであり、市場データ端末ではありません。価格設定やコンセンサス推定はありません。これは、規制イベントおよび基本的な側面、つまり、いつ、何が提出され、正規化された数値が何を示すかについて、既存のデータ スタックの隣に配置されるように構築されています。
RSS/ストリームネイティブ市場の場合、検出からクエリ可能までの時間は通常 60 秒未満です。 Webhook は永続化の直後に起動されるため、ハンドラーはほとんどのヘッドライン アグリゲーターが概要を公開する前にイベントを認識します。
署名付き Webhook 配信はビジネス プランの機能です (/pricing を参照)。 REST API と Python SDK はすべての有料プランで動作します。 Webhook は、ポーリングの上にプッシュ レイヤーを追加します。
どちらか — pip install openfilings は、型付きモデル、自動 429 バックオフ、および stdlib のみの verify_webhook() ヘルパーを使用して、同じ REST API をラップします。すべての SDK 応答は、まだラップしていないフィールドの .raw / .to_dict() も公開します。
各申請の開示された品目は、解析時に共有分類法 (GET /api/v1/kpi-taxonomy / client.companies.kpi_taxonomy()) にマップされるため、米国 10-K、油法、および ESEF 年次報告書からの収益は、同じ line_items コードとしてクエリ可能です。
KPI は修正された申告に対して再導出され、API はデフォルトで最新の値を提供します。 get_company_financials は、代わりにポイントインタイム値が必要な場合に as_of パラメーターを受け入れます。