# /bizreach/jobs/search

`POST /api/bizreach/jobs/search`

Price: 10 credits

Search job postings from hiring companies on BizReach (bizreach.jp), Japan's job board for high-income and executive roles, by keyword, job category, industry, work location, minimum annual salary and remote work. Each job carries its salary range, job categories, industries, locations, tags and the hiring company.

## How to use it

Pass a job id to bizreach/jobs for the full description and requirements. Headhunter-handled jobs are not in this search; bizreach/jobs/latest lists them. A search returns at most 2,000 jobs, so narrow by location or category for more.

## Parameters

- `access-token` (string, required)

## Request body

- `timeout` (integer) — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)
- `count` (integer, required) — Max number of jobs to return (min: 1; max: 2000)
- `keyword` (string, nullable) — Search words (examples: "エンジニア"; minLength: 1)
- `job_categories` (array, nullable) — Job categories (one of: "経営者・CEO・COO等", "事業企画・事業統括", "経営企画・経営戦略", "新規事業企画・事業開発", "M&A・合併・提携", "CFO", "財務", "経理（財務会計）", "内部監査・内部統制", "総務", "法務・コンプライアンス", "採用", "IR", "国際・貿易業務", "物流企画・物流管理", "広報・PR・広告宣伝", "リサーチ・データ分析", "商品企画", "販促", "Web広告運用・SEO", "MD・VMD", "法人営業", "代理店営業・アライアンス", "海外営業", "営業支援・プリセールス", "店舗・FC開発", "営業企画", "戦略コンサルタント", "財務・会計コンサルタント", "組織・人事コンサルタント", "業務プロセスコンサルタント", "物流コンサルタント", "マーケティングコンサルタント", "システムコンサルタント", "パッケージ導入コンサルタント", "セキュリティコンサルタント", "ネットワークコンサルタント", "公認会計士", "弁護士", "CTO・CIO", "プロジェクトマネージャー（Web・オープン系）", "プロジェクトマネージャー（汎用系）", "プロジェクトマネージャー（制御・組み込み系）", "SE（Web・オープン系）", "SE（汎用系）", "SE（制御・組み込み系）", "サーバーエンジニア（構築・運用）", "データベースエンジニア", "プリセールス・セールスエンジニア", "製品エンジニア（ハードウェア・ソフトウェア）", "運用・保守・監視・テクニカルサポート", "情報システム・社内SE", "Webプロデューサー・ディレクター", "その他（ローカリゼーション・QA等）", "ゲームプロデューサー・ディレクター・プランナー", "ゲームプログラマー", "研究・開発", "回路・実装設計", "電気・電子制御設計", "生産技術", "生産管理", "セールス・サービスエンジニア", "半導体設計", "FAE・フィールドエンジニア", "機械設計", "代理店営業・パートナーセールス", "プライベートバンカー", "個人営業・FP", "ディーラー・トレーダー", "ファンドマネージャー", "クオンツアナリスト", "アクチュアリー", "金融商品開発", "公開・引受", "M&A", "コーポレートファイナンス", "ストラクチャードファイナンス", "プロジェクトファイナンス", "財務アドバイザリー", "アナリスト", "エコノミスト", "ストラテジスト", "金融事務（業務・管理）", "リーガル・コンプライアンス", "研究", "臨床開発", "生産技術・生産管理・製造技術", "薬事", "医師", "MR", "不動産企画・不動産開発", "購買・資材調達", "設計監理", "建築施工管理", "PE", "アセットマネジメント", "講師・トレーナー", "リスク・与信・債権管理", "決済", "管理会計", "税務", "知的財産・特許", "秘書", "商品・在庫管理", "翻訳・通訳", "人材開発・人材育成・研修", "制度企画・組織開発", "労務・給与", "個人営業", "営業事務・アシスタント", "ルートセールス・渉外・外商", "インサイドセールス・内勤営業", "キャリアコンサルタント・キャリアカウンセラー", "コールセンター管理・運営（SV）", "カスタマーサポート・ヘルプデスク", "商品開発", "仕入れ・バイヤー", "店舗管理・店舗運営", "店長", "介護福祉士", "リサーチャー・調査員", "税理士", "弁理士", "知財管理・行政書士", "教授・准教授・教諭", "プロジェクトリーダー（Web・オープン系）", "プロジェクトリーダー（汎用系）", "プロジェクトリーダー（制御・組み込み系）", "フロントエンドエンジニア", "インフラエンジニア", "スマートフォンアプリエンジニア", "パッケージ開発", "ネットワークエンジニア", "データサイエンティスト", "Webコンテンツ企画・編集・ライティング", "Webデザイナー・UI/UXデザイナー", "アートディレクター", "プロダクトマネージャー", "ECサイト運営・ECコンサルタント", "CRM", "ゲームデザイナー", "その他", "プロデューサー・ディレクター", "メディアプランナー", "クリエイティブ・アートディレクター", "デザイナー", "コピーライター", "編集", "記者・ライター", "映像制作・編集", "プロダクト・工業デザイナー", "インテリアデザイナー", "ファッションデザイナー", "空間・店舗デザイナー", "品質管理", "品質保証", "工場長", "金融システム", "カストディ業務", "受渡", "信託・鑑定", "不動産金融", "用地仕入", "不動産鑑定・デューデリジェンス", "プロパティマネジメント", "リーシング", "不動産・マンション・ビル管理", "建設コンサルタント", "測量", "建築設計", "内装設計", "土木設計", "プラント設計", "電気設備設計", "空調設備設計", "製図・CADオペレーター", "積算", "構造解析", "内装施工管理", "リフォーム施工管理", "土木施工管理", "プラント施工管理", "電気設備施工管理", "空調設備施工管理", "医療機器営業", "MSL（メディカル・サイエンス・リエゾン）", "マーケティング・企画", "非臨床研究", "CRA（臨床開発モニター）", "統計解析・SASプログラマー", "GCP・GLP監査", "メディカルライティング", "PV（安全性情報担当）", "QC（品質管理）", "QA（品質保証）", "知的財産", "学術", "PMS（市販後調査）", "看護師", "薬剤師・管理薬剤師", "臨床検査技師"; examples: ["法人営業"])
- `industries` (array, nullable) — Industries (one of: "インターネットサービス", "SIer", "ソフトウエア", "ハードウエア", "通信・キャリア", "その他", "電気・電子", "半導体", "機械", "精密・計測機器", "自動車・自動車部品", "化学・石油", "食品・飲料", "日用品", "アパレル・ファッション", "総合商社", "専門商社", "流通", "小売", "外食", "アミューズメント", "コンサルティング", "監査・税理士法人", "法律事務所", "広告・PR", "テレビ・放送・映像・音響", "映画", "ゲーム", "銀行・信託銀行", "証券", "投資銀行", "アセットマネジメント", "プライベートエクイティ・ファンド", "不動産ファンド", "ベンチャーキャピタル", "生命保険", "損害保険", "クレジット・信販", "政府系金融機関", "デベロッパー", "建設・建築・土木", "住宅設備・ハウスメーカー", "プラント・エンジニアリング", "医薬品メーカー", "医療機器メーカー", "医療機器卸", "病院・クリニック", "CRO", "電力・ガス・水道", "エネルギー", "教育", "官公庁", "信用金庫・組合", "不動産仲介", "不動産管理", "設備・電気", "内装・リフォーム・インテリア", "シンクタンク", "リサーチ", "デジタルマーケティング", "バイオ", "素材", "化粧品", "人材紹介・人材派遣", "アウトソーシング・コールセンター", "旅行・観光", "ホテル", "福祉・介護", "ブライダル", "医薬品卸", "大学・研究施設", "臨床検査機器・診断薬", "ドラッグストア・調剤薬局", "再生医療・バイオベンチャー", "新聞・出版", "印刷", "音楽", "海運", "鉄道", "陸運", "空輸", "空港", "物流", "倉庫", "石油", "自治体", "農林・水産"; examples: ["銀行・信託銀行"])
- `locations` (array, nullable) — Work locations (one of: "北海道", "青森県", "岩手県", "宮城県", "秋田県", "山形県", "福島県", "茨城県", "栃木県", "群馬県", "埼玉県", "千葉県", "東京都", "神奈川県", "新潟県", "富山県", "石川県", "福井県", "山梨県", "長野県", "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県", "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県", "鳥取県", "島根県", "岡山県", "広島県", "山口県", "徳島県", "香川県", "愛媛県", "高知県", "福岡県", "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県", "鹿児島県", "沖縄県", "中国", "韓国", "香港", "シンガポール", "タイ", "ベトナム", "その他アジア", "アメリカ・カナダ", "オーストラリア", "ヨーロッパ", "その他海外"; examples: ["東京都"])
- `min_salary` (string, nullable) — Minimum annual salary (one of: "300万円以上", "400万円以上", "500万円以上", "600万円以上", "700万円以上", "800万円以上", "900万円以上", "1,000万円以上", "1,100万円以上", "1,200万円以上", "1,300万円以上", "1,400万円以上", "1,500万円以上", "1,600万円以上", "1,700万円以上", "1,800万円以上", "1,900万円以上", "2,000万円以上", "2,500万円以上", "3,000万円以上", "5,000万円以上")
- `remote_work` (boolean) — Only jobs that allow remote work (default: false)
- `sort` (string) — Result order (default: "recommended"; one of: "recommended", "newest")

## Response

### 200 — Successful Response

- `@type` (string) (default: "BizreachJobCard")
- `id` (string, required)
- `url` (string, required)
- `job_title` (string, nullable)
- `salary` (string, nullable)
- `salary_min` (number, nullable)
- `salary_max` (number, nullable)
- `salary_currency` (string, nullable)
- `job_categories` (array) (default: [])
- `industries` (array) (default: [])
- `locations` (array) (default: [])
- `tags` (array) (default: [])
- `is_new` (boolean, nullable)
- `company` (object, nullable)
  - `@type` (string) (default: "BizreachCompanyRef")
  - `id` (string, nullable)
  - `url` (string, nullable)
  - `name` (string, nullable)
  - `image` (string, nullable)

## Errors

### 422 — Validation Error

An unknown job category, industry, location or salary value

What to do: Check the fields against this schema. A URN with the wrong prefix is the most common cause.

- `detail` (array)
  - `loc` (array, required)
  - `msg` (string, required)
  - `type` (string, required)
  - `input` (any)
  - `ctx` (object)

### 408

The request ran past its time limit

What to do: Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.

### 412

The entity was not found, or a precondition failed

What to do: Retrying will not help: either the entity does not exist, or the input points at a different one.

### 429

Too many requests: a rate limit or a usage window is exhausted

What to do: When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.

### 500

Something broke on our side

What to do: Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.

### 529

Rate limit reached, or the endpoint is overloaded

What to do: Wait at least 30 seconds, then retry.

## Response envelope

Success: Array of objects (may be empty if no results)

Error: Error may coexist with partial results if it occurs mid-execution. Check X-Error header and status code.

Every response carries these headers:

- `X-Error` — Error message text (present only on error)
- `X-Request-ID` — Unique request identifier
- `X-Execution-Time` — Execution time in seconds
- `X-Result-Count` — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.
- `X-Total-Available-Results` — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.
- `X-Warning` — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.
- `X-Retry-After` — Seconds to wait before retrying. Present only on 429.

