The data

Source facts. Flat rows.

Most current simple job readers use the 15-field nomad-agent-job-row-v3 contract. Older and source-specific products can have different formats. Always check the exact Actor’s Output tab.

A fictional example

Keep the useful details.

The example illustrates the current shared simple format; it is not a live vacancy or evidence that a particular Actor ran.

Identity
The pair (source, id) identifies a posting. Do not deduplicate by title.
Original content
Keep description, descriptionHtml, and the original url.
Unknown values
null means unknown. locations: [] means no usable location was parsed; hiringContacts: [] means no named contacts.
Dates & work arrangement
Retain posting dates and deadlines. Use source-stated arrangement and read the original eligibility requirements.
Illustration / row-v3
{
  "schemaVersion": "nomad-agent-job-row-v3",
  "source": "illustration",
  "id": "fictional-backend-role",
  "url": "https://example.com/jobs/backend-engineer",
  "title": "Backend Engineer",
  "company": "Example Studio",
  "locations": [
    "Madrid, Spain"
  ],
  "postedAt": null,
  "deadline": null,
  "description": "Fictional job for a data-format illustration. Build APIs and maintain backend services. This is not a live vacancy.",
  "descriptionHtml": "<p>Fictional job for a data-format illustration. Build APIs and maintain backend services. This is not a live vacancy.</p>",
  "workType": "hybrid",
  "salary": null,
  "employmentTypes": null,
  "hiringContacts": []
}

Need a different layer?

Explore normalized data at Job Atlas.

Normalized job Actors use a separate nested format with richer fields and optional processing where supported. Fit scoring returns a separate candidate-evaluation contract.

Explore Job Atlas ↗