API リファレンス
GET /companies
会社検索と lightweight listing の contract を説明します。
このページの内容7項目
GET /api/signal-foundry/companies は、最初の入口です。自由入力をそのまま downstream endpoint に渡すのではなく、まずここで company_id を解決してください。
契約サマリー
| Field | Value |
|---|---|
| Method | GET |
| Path | /api/signal-foundry/companies |
| Auth | production は API key 必須 |
| Usage | request usage と heavy usage に count |
| Credit | data credit は消費しない |
| CLI | sf companies search <query> --json |
| Next | profile / observations / filings へ進む |
この endpoint の job は、社名、証券コード、法人番号、domain などの入力から canonical company_id 候補を返すことです。profile / observations / filings へは、ここで選んだ company.company_id を渡してください。
リクエスト
curl -s \ -H "Authorization: Bearer <SIGNAL_FOUNDRY_API_KEY>" \ "https://signal-foundry.app/api/signal-foundry/companies?q=7203&limit=3"
クエリパラメータ
| Param | Type | Default | Notes |
|---|---|---|---|
q | string | null | identifier exact / company_id exact / 正規化社名 exact / prefix を優先する検索 |
has_website | boolean | null | true / false |
industry_33_code | array | [] | JPX 33 業種コード。repeated または comma-separated |
listing_status | array | [] | listed / delisted / unknown |
market_segment | array | [] | repeated または comma-separated |
limit | integer | 20 | 1..100 |
offset | integer | 0 | 0..10000 |
Matching behavior
この endpoint は単純な全文検索ではありません。次の順で company candidate を集めます。
- identifier exact match
company_idexact match- normalized name exact match
- normalized name prefix match
さらに relevance を付けて並べ替えます。identifier_matched=true の結果は強く優先され、上場会社は軽く boost されます。
レスポンス
まず見る key:
companies[].company.company_idcompanies[].company.display_namecompanies[].profile.website_domaincompanies[].query_match.identifier_matchedcompanies[].query_match.relevancemeta.returned_companiesmeta.has_more
{
"companies": [
{
"company": {
"company_id": "jpx_7203",
"display_name": "トヨタ自動車",
"legal_name": "トヨタ自動車株式会社",
"listing_status": "listed",
"market_segment": "prime"
},
"profile": {
"website_domain": "global.toyota",
"website_url": "https://global.toyota",
"latest_observed_at": "2026-04-30T00:00:00.000Z",
"observation_counts": {},
"technologies": []
},
"query_match": {
"identifier_matched": true,
"relevance": 120
}
}
],
"meta": {
"query": "7203",
"returned_companies": 1,
"matched_companies": 1,
"has_more": false
}
}
この HTTP response では、候補会社は companies[] に入り、canonical ID は companies[].company.company_id、表示名は companies[].company.display_name で確認します。
CLI equivalent
sf companies search "7203" --json
CLI でも見る key は同じです。
companies[0].company.company_idcompanies[0].company.display_namemeta.returned_companies
復旧方法
| 状態 | 復旧 |
|---|---|
400 invalid_query | limit / offset / array filter を schema に合わせる |
401 invalid_api_key | API key を再発行し、CLI なら sf auth setup をやり直す |
429 rate_limit_exceeded | Retry-After まで待つ。companies は heavy usage にも count される |
| 0 件 | 長い自然文を社名、証券コード、法人番号、domain のどれかに分解する |
| 候補が多い | listing_status / market_segment / industry_33_code / has_website で絞る |
0 件を「会社が存在しない」と断定しないでください。まず query を短くし、sf companies search <query> --json で候補の company_id を確認してから、profile / observations / filings に進みます。