# Indeed Job Details (Batch)

> Indeed Job Details (Batch) 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).

Fetches full job details for up to 20 Indeed job IDs in a single batched request, returning rich structured data including salary, benefits, description, and employer info.

## Facts

- Endpoint: GET https://agents.openwebninja.com/realtime-indeed-data/job-details?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-indeed-job-details-batch-907f1582
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xN74n3KA-YjcuVg_1WPSE

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-indeed-job-details-batch-907f1582
```

Example prompt: Pull the full details — job description, salary range, benefits, and apply link — for these Indeed job IDs: aW5kZWVkOjNkNjM4ZGI0MjBiZmM4MmY and aW5kZWVkOjhhYjEyMzQ1Njc4OWFiY2Q, searching the US market.

## When to prefer this

Use this endpoint after a job search to retrieve full structured details for specific job IDs, especially when you need salary, benefits, HTML description, or apply links that are not returned in search snippets. It is more efficient than making 20 separate requests since the batch is resolved in a single upstream call at the same cost. Prefer this over search when you already have job IDs from a prior search step.

## Known failure modes

- Invalid or expired job_id values are omitted from the response array without raising an error — agent must check array length vs input count
- Providing more than 20 job IDs may result in truncation or an error
- Missing required job_id parameter returns a 400-level error
- Country/language mismatch may return listings in unexpected language or no results
- Rate limits or payment issues return 402 or 429 status codes

## How this service works

Fetch full details for up to 20 jobs in a single request. Indeed resolves the whole
batch in one upstream call (measured: 5 jobs in 761 ms), so a multi-id request costs
the same as a single-id one.

The job objects returned here carry the same fields as `/search` results, with
`job_position` null because the details surface has no notion of rank.


## Output

Returns an array of job objects (one per valid job ID), each containing: job title, employer name and logo, job description (plain text and HTML), salary range and period, employment type, remote/hybrid status, location with lat/lon, apply link, benefits, job highlights, posted and published timestamps, employer reviews, Indeed-specific metadata (industry, experience levels, urgency, normalized title), and O*NET occupation codes. Invalid or expired job IDs are silently omitted from the array.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "job_id"
 ],
 "properties": {
  "fields": {
   "type": "string",
   "description": "Comma-delimited projection, as on `/search`."
  },
  "job_id": {
   "type": "string",
   "description": "Comma-delimited list of up to 20 `job_id` values taken from a `/search` response.\nThe raw 16-hex `job_uid` is also accepted. An invalid/expired job id is omitted\nfrom the response array while the rest of the batch resolves normally.\n"
  },
  "country": {
   "type": "string",
   "default": "us",
   "description": "ISO 3166-1 alpha-2 market code."
  },
  "language": {
   "type": "string",
   "description": "ISO 639-1 language. Defaults to the primary language of `country`."
  }
 }
}
```

## 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_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_timestamp",
     "job_posted_at_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_indeed_ref_num",
     "job_indeed_normalized_title",
     "job_indeed_source_employer_name",
     "job_indeed_employer_key",
     "job_indeed_company_page_url",
     "job_indeed_employer_header_image",
     "job_indeed_employer_industry",
     "job_indeed_occupations",
     "job_indeed_attributes",
     "job_indeed_experience_levels",
     "job_indeed_is_hybrid",
     "job_indeed_is_urgent_hire",
     "job_indeed_is_high_volume_hiring",
     "job_indeed_expired",
     "job_indeed_language",
     "job_indeed_postal_code",
     "job_indeed_street_address",
     "job_published_at_timestamp",
     "job_published_at_datetime_utc",
     "job_description_html",
     "job_position"
    ],
    "properties": {
     "job_id": {
      "type": "string",
      "example": "aW5kZWVkOjNkNjM4ZGI0MjBiZmM4MmY",
      "nullable": true,
      "description": "Stable, opaque job identifier: base64url(\"indeed:\" + the Indeed job key). Pass this to /job-details. Always present."
     },
     "job_uid": {
      "type": "string",
      "example": "3d638db420bfc82f",
      "nullable": true,
      "description": "The raw 16-hex Indeed job key that job_id encodes. Stable and valid indefinitely."
     },
     "job_city": {
      "type": "string",
      "example": "New York",
      "nullable": true,
      "description": "City. 100% coverage."
     },
     "job_state": {
      "type": "string",
      "example": "NY",
      "nullable": true,
      "description": "State / province / admin-1 cod
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-indeed-job-details-batch-907f1582/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)
