Search nomado24's remote/hybrid job board. Read-only, free access. No blanket content licence; retain attribution and respect third-party rights (see structuredContent.attribution). Answers over one of two contracts, chosen by the arguments you send. Send only q/language/page/per_page and you get the legacy v1 result shape with page-based paging. Send any structured filter (country, applicant_region, work_arrangement, employment_type, seniority, skills, salary_min/max, published_after, verified_after, source, company, sort, include_total) or a cursor and you get the v2 contract: richer job objects, per-posting provenance (salaryOrigin, firstSeenAt, lastVerifiedAt, verification.method, updatedAt), a corpus changeWatermark, a snapshotId and keyset paging via pagination.nextCursor. The two are mutually exclusive: page plus a structured filter is refused rather than silently resolved. Structured results omit per-field dataOrigin; call get_job for provenance. Copied posting text and external application URLs are withheld by default unless separately documented redistribution permission exists. A filter nomado24 cannot answer honestly is refused with the reason, never answered with the unfiltered corpus. Structured pagination.total is currently null (totalRelation 'not_computed') for every query, because a current-text on-site-only serving gate cannot be counted accurately by the database. A null total is deliberate, not an error.