Skip to main content

Which search endpoint should I use?

Hirebase offers three job-search endpoints. Pick the right one based on the shape of your query:
If you’re not sure: start with POST /v2/jobs/search for structured filters, or POST /v2/jobs/neural-search when you want to describe the role in natural language and still filter by things like experience, location, or industry.

Structured Search (POST /v2/jobs/search)

Exact filters applied against parsed job fields. This is the right choice when your query is expressible as structured filters (titles, keywords, location, salary range, dates, experience, etc.).

Search Parameters

  • job_titles: Array of job titles to search for.
  • keywords: Array of terms to match in job descriptions.
  • job_types: Filter by job types (e.g., "Full Time", "Contract").
  • visa: String "true" / "false" — filter for jobs that offer visa sponsorship.
  • location_group: Predefined geographic area (e.g., "Bay_Area"). ⚠️ Not currently applied — use geo_locations instead.
  • location_types: Work arrangements ("Remote", "Hybrid", "In-Person").
  • geo_locations: Array of location objects with city, region, and country. (recommended for location filtering)
  • geofilter_params: Geographic proximity controls (mode, radius, unit).
  • experience: Array of levels ("Entry", "Junior", "Mid", "Senior", "Executive").
  • yoe: Years of experience range with min / max.
  • salary: Salary range with min / max.
  • currency: ISO currency code (e.g., "USD", "GBP").
  • company_name: Filter by specific company name.
  • industry: Single industry or array of industries. See List Industries. (recommended for sector filtering)
  • sub_industry: Single subindustry or array. See List Subindustries. Applied in addition to industry.
  • company_types: Headcount buckets (e.g., "1-10", "51-200"). Use types for categorical labels like "Startup" or "Enterprise".
  • sort_by: "relevance", "date_posted", "salary", "company", or "yoe".
  • sort_order: "asc" or "desc".
  • page: Page number (1-indexed).
  • limit: Results per page (max 100).

Neural Search (POST /v2/jobs/neural-search)

Combines vector similarity with lexical filtering. Send a natural-language query under vector and add structured filters under lexical. This is the recommended endpoint for semantic search with reliable filtering.
When writing queries for Neural Search:
  1. Use locations inline in the prompt:
  1. Describe the kind of company:
  1. Spell out technical background:
Be as precise as you want. You have unlimited precision at your fingertips. Broad (“Medical Tech Sales”) or niche (“L3 Product Manager used to working in fast-paced environments in small companies, looking to take the leap to a management role at a small consumer electronics company”) both work.
Find jobs you’re qualified for. Use your background to drive recommendations. Unlike plain text search which matches phrases, semantic search understands technical capability — searching "Market Research" also surfaces roles requiring related expertise like data analysis, competitive intelligence, or customer insights, even when those exact words don’t appear.
Provide context. Mentioning “experience building with AWS” implies you’re looking for Cloud Engineering work; “recent graduate” implies entry-level. Rich context gives the model more to match on.
Prompting beats parameters for semantic search. In our internal testing, a well-written vector.query consistently outperforms leaning on structured filters alone. Combine it with lexical filters when you need hard constraints.

Next Steps