# Search Jobs via Bing Jobs Vertical

> Search Jobs via Bing Jobs Vertical is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Searches Bing's jobs vertical with natural-language queries and returns structured job postings including descriptions, apply links, salary, and employer details.

## Facts

- Endpoint: GET https://agents.openwebninja.com/realtime-bing-jobs-data/search?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-search-jobs-via-bing-jobs-vertical-7445eb72
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6wSrHmc5u36PqSi7i0s_F

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-openwebninja-com-search-jobs-via-bing-jobs-vertical-7445eb72
```

Example prompt: Search for full-time senior software engineer jobs in New York posted in the last week — include job descriptions and apply links, and show me the first page of results.

## When to prefer this

Use this endpoint when you need real-time job postings from Bing's jobs index with rich structured data including full descriptions, apply links, salary, and benefits — especially when you want natural language query flexibility, location radius filtering, remote-work filtering, or the ability to exclude specific job publisher aggregators. Prefer this over LinkedIn or Indeed scrapers when Bing's broad coverage is desired or when the target country/language requires Bing's national index.

## Known failure modes

- 400 Bad Request if an unknown field name is passed in the fields projection
- 400 Bad Request if more than one query parameter is supplied
- No results returned if the query is too vague or lacks a location for location-sensitive searches
- Slower response times (up to 5.7s) when include_descriptions=true due to parallel detail-page fetching
- Pagination beyond page 50 is not allowed; page + num_pages must not exceed 50
- Bing may return repeated postings at deeper pages, causing early pagination termination

## How this service works

Search Bing's jobs vertical, with `date_posted`, `employment_types`, `work_from_home`,
`radius` and `exclude_job_publishers` filters.

**Query style matters.** Bing's vertical is keyed off natural language, so include the
role and the location in `query` (`developer jobs in new york`). A bare keyword drifts
toward unrelated postings. When `language` is `en` and the query does not already contain
*job*, the word *jobs* is appended automatically.

**`include_descriptions` defaults to `true`.** Bing's search cards carry no description and
no apply link, so for every result the job's detail page is fetched in parallel and
`job_description`, `job_apply_link`, `apply_options` and `employer_logo` are filled from it,
capped at 100 jobs per request. `job_benefits_strings` is taken from the detail page
whenever it parses, because the card shows only the first few chips and closes the row with
a *+N* overflow token, so `/search` and `/job-details` report the same benefits for the
same `job_id`. Measured on a
10-job page: 5.7 seconds and 69 KB with descriptions, 1.8 seconds and 13 KB with
`include_descriptions=false`.

**Pagination** is offset-based via `page` / `num_pages`, 10 jobs per page. Results merged
across `num_pages` are de-duplicated by `job_id`. Every request walks Bing's result list
from the start, so deeper pages take longer, and the walk stops once Bing starts repeating
postings already returned.

**Reliability.** The first Bing page is fetched from several exits concurrently and the
fullest answer wins, because Bing serves its *no jobs* page to some exits for a query
other exits answer normally. An empty `data` array therefore means Bing genuinely had no
matches; a failure to reach Bing is a `503`, and is not billed.

**Billing:** one request per page of 10 jobs returned, and at least one, so
`Requests` = 1 + (pages returned - 1), counted before `exclude_job_publishers` is applied.
The detail fetches behind `include_descriptions` are not billed. Both counts are visible in
the `X-RapidAPI-Billing` header.

## Output

Returns an array of job postings, each containing job_id, job_title, employer_name, employer_logo, job_description, job_apply_link, apply_options, job_location, job_city, job_state, job_country, job_employment_type, job_is_remote, job_posted_at_datetime_utc, job_salary_string, job_min_salary, job_max_salary, job_salary_period, job_benefits_strings, job_highlights, and more. Also returns request metadata, request_id, status, and the echoed parameters.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "query"
 ],
 "properties": {
  "page": {
   "type": "integer",
   "default": 1,
   "maximum": 50,
   "minimum": 1,
   "description": "Page to return (each page includes up to 10 results). `page` + `num_pages` must stay\nwithin page 50. Every request walks Bing's results from the start, so deeper pages take\nlonger.\n\n**Default:** `1`\n\n**Allowed values:** `1-50`"
  },
  "query": {
   "type": "string",
   "example": "developer jobs in new york",
   "description": "Free-form job search query. Include the job title and location, for example\n`developer jobs in new york`: Bing's jobs vertical is keyed off natural language, and a\nbare keyword drifts toward unrelated postings. Exactly one `query` is accepted; a second\none is a 400."
  },
  "fields": {
   "type": "string",
   "description": "Comma-separated projection over the job object, for example\n`job_title,employer_name,job_apply_link`. `job_id` and `job_title` are always included.\nEvery field this endpoint returns can be selected, including `job_location`,\n`job_posted_at`, `job_publishers`, `job_employment_types`, `job_benefits_strings`,\n`job_normalized_title` and `job_position`. An unknown field name is a 400."
  },
  "radius": {
   "type": "number",
   "maximum": 10000,
   "minimum": 0,
   "description": "Return jobs within a certain distance from the location in `query` or `location`, in\nkm. Bing honours only a 10 / 20 / 30 / 40 mile menu, so the value is converted to miles\nand snapped to the nearest: 32 km becomes 20 miles."
  },
  "country": {
   "type": "string",
   "default": "us",
   "description": "Country code of the country from which to return job postings, see ISO 3166-1\nalpha-2. It selects Bing's national job index, so to search for developer jobs in\nBerlin, send `country=de`.\n\n**Default:** `us`"
  },
  "language": {
   "type": "string",
   "description": "Language code for Bing's interface language, see ISO 639-1. Leave empty to use the\nprimary language of `country`. With `en`, the word *jobs* is appended to a query that\ndoes not already contain *job*."
  },
  "location": {
   "type": "string",
   "description": "Free-text location, for example `New York, NY`. Appended to the `query` text, since\nBing builds its own location filter from coordinates. Putting the location inside\n`query` works the same way."
  },
  "num_pages": {
   "type": "integer",
   "default": 1,
   "maximum": 20,
   "minimum": 1,
   "description": "Number of pages to r
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "status",
  "request_id",
  "parameters",
  "data"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "job_id",
     "job_title",
     "employer_name",
     "employer_logo",
     "employer_website",
     "job_publisher",
     "job_publishers",
     "job_employment_type",
     "job_employment_types",
     "job_apply_link",
     "job_apply_is_direct",
     "apply_options",
     "job_description",
     "job_is_remote",
     "job_posted_at",
     "job_posted_at_bing_label",
     "job_posted_at_timestamp",
     "job_posted_at_datetime_utc",
     "job_offer_expiration_timestamp",
     "job_offer_expiration_datetime_utc",
     "job_location",
     "job_city",
     "job_state",
     "job_country",
     "job_latitude",
     "job_longitude",
     "job_benefits",
     "job_benefits_strings",
     "job_google_link",
     "job_salary",
     "job_salary_string",
     "job_min_salary",
     "job_max_salary",
     "job_salary_period",
     "job_highlights",
     "job_onet_soc",
     "job_onet_job_zone",
     "employer_reviews",
     "job_uid",
     "job_normalized_title"
    ],
    "properties": {
     "job_id": {
      "type": "string",
      "example": "YmluZzotNDYyNDU5MzAzLlJldHJv",
      "description": "Opaque public id for the posting, `base64url('bing:' + <Bing job id>)`. Pass it to `/job-details`. Stable for the life of the posting."
     },
     "job_uid": {
      "type": "string",
      "example": "-462459303.Retro",
      "description": "Bing's own job id, for example `-462459303.Retro`. Accepted directly by `/job-details`."
     },
     "industry": {
      "type": "string",
      "example": "Real Estate / Affordable Housing / Financial Services",
      "nullable": true,
      "description": "Industry of the employer, extracted by AI. `/job-details` only."
     },
     "job_city": {
      "type": "string",
      "example": "New York",
      "nullable": true,
      "description": "The first part of `job_location`. `null` on a fully-remote `Anywhere` posting. On `/job-details` an empty city can be filled by AI enrichment."
     },
     "job_state": {
      "type": "string",
      "example": "New York",
      "nullable": true,
      "description": "The last part of `job_location`, with US state codes expanded to the full name (`DC` becomes `District of Columbia`). `null` when the location has one part. On `/job-details` an empty state can be filled by AI enrichment."

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-search-jobs-via-bing-jobs-vertical-7445eb72/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
