# Nero Labs Job Post Enricher

> Nero Labs Job Post Enricher is a paid API for AI agents from x402-agent-tools.nerolabs.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-22).

Parses up to 50 raw job post texts with AI and returns structured fields including normalized salary, seniority, work mode, visa sponsorship, employment type, experience, and skills.

## Facts

- Endpoint: POST https://x402-agent-tools.nerolabs.workers.dev/ai/job-post-enrich?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nero-labs-job-post-enricher-3271e066
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JKEGjGAn939ftwI-X01hw

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 nero-labs-job-post-enricher-3271e066 -d '<json body>'
```

Example prompt: Can you enrich these 3 job post texts I've pasted below and give me structured fields — normalized salary in GBP, seniority, remote or hybrid status, visa sponsorship, and required skills for each? Use 40 hours per week for the hourly calculation.

## When to prefer this

Choose this endpoint when you need to batch-process raw job post text into structured, normalized data — especially when salary normalization across currencies, seniority detection, and remote/visa fields are all needed in one call. It's purpose-built for recruitment data pipelines, job aggregators, and HR analytics workflows where manual parsing of unstructured job descriptions is the bottleneck.

## Known failure modes

- Job text too short or unintelligible — enrichStatus returns an error or partial result
- Unsupported currency code provided — may fail or default to USD
- Array exceeds 50 job posts — request rejected or truncated
- AI unable to parse non-standard or heavily formatted job text — fields return null
- Network or payment failure via x402 — 402 or 5xx response

## How this service works

Pay-per-call tools for AI agents, 31 in all: read web pages and RSS feeds, OCR, PDF text, transcription; email, phone and domain checks; UK, Irish and Polish company lookups and UK risk reports; website contacts, tech stack and SEO audits; PageSpeed; AI review, job post and row enrichment; data cleaning, joins, dedupe and diffs; US and EU compliance rules. No account or API key: pay each call in USDC on Base over x402.

## Output

A JSON object with a 'rows' array (one entry per job post) containing: workMode, seniority, jobSummary, jobCategory, remoteScope, contractType, enrichStatus, salaryMinYearly, salaryMaxYearly, salaryStatedMin, salaryStatedText, salaryYearlyCurrency, visaSponsorship, yearsOfExperience, requiredSkills, and optionally statedBenefits, educationLevel, languagesRequired. Also includes a top-level count field.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "jobTexts": {
   "type": "array",
   "description": "A plain list of whole job posts pasted as text, one per entry, for a quick run with no file. Use a dataset, file or Google Sheet to keep your own columns alongside the AI fields."
  },
  "hoursPerWeek": {
   "type": "integer",
   "default": 40,
   "maximum": 80,
   "minimum": 1,
   "description": "Used only to turn hourly pay into a yearly figure (hourly x hours x 52) when the job does not state its own weekly hours; stated hours (\"20 hours a week\") win. Daily pay uses 260 days a year, weekly 52 weeks, monthly 12 months."
  },
  "includeExtras": {
   "type": "boolean",
   "default": false,
   "description": "Also return statedBenefits (up to 10), educationLevel (minimum stated) and languagesRequired. Same price per job; adds a little run time."
  },
  "salaryCurrency": {
   "type": "string",
   "default": "USD",
   "description": "The currency for the yearly salary columns (salaryMinYearly, salaryMaxYearly), as a three-letter code: USD, GBP, EUR, CAD, AUD, INR and any other European Central Bank currency. Converted at the day's ECB reference rate. Enter 'original' to keep each job's own currency. The stated pay is always kept"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "rows": [
   {
    "jobText": "Senior Python Developer, London (hybrid). £70,000 to £85,000 plus bonus. 5+ years Django and AWS. Vi...",
    "workMode": "hybrid",
    "seniority": "senior",
    "jobSummary": "Senior Python Developer in London (hybrid) with 5+ years Django and AWS experience.",
    "jobCategory": "software_engineering",
    "remoteScope": null,
    "contractType": "unknown",
    "enrichDetail": null,
    "enrichStatus": "ok",
    "salaryMaxYearly": 85000,
    "salaryMinYearly": 70000,
    "salaryStatedMin": 70000,
    "salaryStatedText": "£70,000 to £85,000 plus bonus.",
    "salaryYearlyCurrency": "GBP"
   }
  ],
  "count": 1,
  "_example_note": "Real output, trimmed: long lists cut to their first items, fields and text shortened."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nero-labs-job-post-enricher-3271e066/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-agent-tools.nerolabs.workers.dev](https://www.zero.xyz/host/x402-agent-tools.nerolabs.workers.dev/llms.txt)
