企業検索API

POST /companies/searchで、企業属性と求人条件を組み合わせて企業を検索します。利用前にAPIキーと認証を設定してください。

リクエスト例

東京都、従業員50人以上、Webサイトありの企業を従業員数の多い順に取得します。

printf 'header = "X-API-Key: %s"\n' "$SALESBRAIN_API_KEY" |
  curl -sS --config - "$SALESBRAIN_API_BASE_URL/companies/search" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {
      "company": {
        "prefectureId": {"in": [13]},
        "employeeCount": {"gte": 50},
        "hasWebsite": true
      }
    },
    "sort": { "field": "company.employeeCount", "order": "desc" },
    "limit": 25,
    "offset": 0,
    "includeTotalResults": true
  }'

都道府県や業界のIDは、マスターデータから取得します。

よく使う検索条件

目的フィールド
企業名の部分一致filter.company.name.anyContains
法人番号filter.company.corporateNumber.in
都道府県filter.company.prefectureId.in
業界filter.company.industry.in, filter.company.industry.subIn
従業員数filter.company.employeeCount.gte/lte
拠点数filter.company.workLocationCount.gte/lte
事業概要のキーワードfilter.company.summary.anyContains/noneContains
連絡先の有無filter.company.hasPhone, filter.company.hasEmail, filter.company.hasWebsite
従業員の増加filter.company.employeeDiff6m.gte/lte, filter.company.employeeDiff12m.gte/lte
求人タイトルfilter.job.title.anyContains/noneContains
求人の取得日filter.job.createdAt.gte/lte

検索条件は filter.company(企業属性)と filter.job(求人属性)に分けます。企業検索の job は、指定条件を満たす求人を持つ企業を表します。

異なる項目は初期状態でAND評価されます。ORで結ぶ場合は filter.combination に or を指定します。条件をまとめる場合は filter.filterGroups(最大5グループ)を使い、各グループ内にも company / job と combination を指定します。文字列は anyContains / allContains / noneContains、IDは in / notIn、数値・日付は gte / lte を使います。同じ項目内の演算子は常にANDです。

ページング

最初はlimitを5〜25件にして、検索条件が正しいことを確認してください。

並び替え

sort.fieldに項目名、sort.orderにascまたはdescを指定します。省略時は企業名の昇順です。

{
  "sort": { "field": "company.employeeDiff6m", "order": "desc" }
}

拠点数の多い順に並べる場合は、sort.fieldへcompany.workLocationCountを指定します。

{
  "sort": { "field": "company.workLocationCount", "order": "desc" }
}

拠点数の意味

workLocationCountは、求人票に書かれた勤務地の住所から推定しています。同じ企業・同じ住所の求人は、何件あっても1拠点です。

たとえば、東京店で10件、大阪店で5件の求人が出ていても、集計対象となる住所が2つならworkLocationCountは2です。

番地まで特定できない住所や、フルリモート・客先常駐・単発求人などしかない住所は数えません。同じ住所に雇用主の拠点と推定できる求人が1件でもあれば数えます。派遣・職業紹介の許可を持つ企業など、雇用主の拠点か判断できない場合も対象外です。そのため、実際の拠点数より少ない場合があります。求人から拠点を見つけられない場合は0を返します。

次の例では、検知できた拠点数が10以上100以下の企業を、拠点数の多い順に取得します。

{
  "filter": {
    "company": {
      "workLocationCount": {"gte": 10, "lte": 100}
    }
  },
  "sort": {"field": "company.workLocationCount", "order": "desc"}
}

レスポンス

itemsに企業一覧、totalに総件数が返ります。includeTotalResultsをfalseにした場合、totalはnullです。

結果には法人番号、企業名、所在地、業界、従業員数、拠点数、資本金、連絡先、事業概要などが含まれます。拠点数はworkLocationCountで返ります。値を保有していない項目はnullになる場合があります。

エラー

ステータス主な原因
400フィールド名、値の型、日付形式が正しくない
401APIキーがない、無効、期限切れ
402検索クレジットが不足している
429毎秒5リクエストの上限を超えた

未定義のフィールドは無視されず400になります。エラーのerrorsにフィールド名と理由が含まれる場合は、その内容を修正してください。

Webアプリと同じ条件を使う

Webアプリの企業検索で条件を設定し、画面上部の「API」を押すと、そのフィルターを使ったcURLを確認できます。

次に読む

このページ内