Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A useful remote-jobs API should return more than a salary number: it should preserve the pay range, currency, pay period, and where the figure came from. It should also distinguish a job confirmed as remote from one merely classified as remote, and record where applicants are allowed to work. That structure makes results easier to compare without presenting missing or uncertain data as fact.

What salary data should a remote-jobs API return?

Store salary as a set of related fields, not a single number. A practical record includes salary_min, salary_max, salary_currency, salary_period, and salary_source. Preserve the original structured field or relevant text excerpt when your source terms permit it, so consumers can audit how a value was obtained.

Google Search Central defines baseSalary as “The actual base salary for the job, as provided by the employer (not an estimate).” Its Job Posting guidance uses currency and unit fields, and recommends minValue and maxValue for a range. This distinction matters: employer-provided structured salary is not the same thing as a figure your API extracts from prose. Google Search Central’s Job Posting structured-data documentation also describes jobLocationType and applicantLocationRequirements for remote-work information.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Keep missing values distinct: a missing salary is not zero. Represent absence explicitly, such as a null value or a documented status.
  • Keep uncertainty visible: an unknown currency or period should not become a falsely precise annual salary.
  • Preserve the shape of the source: a single amount is not a range. Record whether the listing supplied one figure or both endpoints.
  • Separate original and comparison values: normalize to an annual comparison figure only when currency and pay period are known. The Job Opportunities API documents a comparison field that remains null when either cannot be recognized. Its field documentation is one example of this approach.

How to parse salary without implying certainty

Use a sequence that prioritizes the most direct evidence, and retain field-level provenance in the response. A structured salary field supplied by the listing source is stronger evidence of what the employer stated than a number found in a description. A parsed value can still be useful, but consumers should be able to tell it was derived from text.

  1. Read structured salary fields first. Store the upstream values and identify them as source-provided, rather than silently treating them as parser output.
  2. Parse description text only when structured salary is absent. Mark the result with a distinct state such as parsed_description. Keep the matched text or excerpt when allowed by the provider’s terms.
  3. Extract amount, currency, and period separately. Preserve whether the text gives one amount or a minimum and maximum. Do not invent a range around a single figure.
  4. Normalize only when the inputs are understood. Annualize a salary only after identifying its currency and pay period. If either is unknown, leave the normalized comparison unset.
  5. Do not force non-numeric language into a salary. “Competitive,” “DOE,” equity-only compensation, or text that does not parse reliably should remain absent or unparsed—not become a guessed number.
  6. Validate the result. Check that the minimum does not exceed the maximum, and distinguish an explicit zero from a missing field.
  7. Keep confidence dimensions separate. Salary provenance and remote-work classification answer different questions; confidence in one should not imply confidence in the other.

These are data-design recommendations based on the documented field distinctions in Google’s Job Posting guidance and the Job Opportunities API’s field and listing documentation. They do not establish a particular parser’s accuracy.

How to represent remote eligibility and location limits

“Remote” does not necessarily mean “work from anywhere.” Your API should separately capture whether remote status is confirmed by the source or inferred, which countries or regions may apply, and any time-zone restrictions. A consumer filtering for a country needs eligibility information, not just a remote-work label.

Google’s structured-data guidance identifies jobLocationType for work-from-home jobs and applicantLocationRequirements for where applicants may work. It says a fully remote job must actually be 100% remote, the description must make that clear, and at least one applicant country must be specified. Treat those fields as useful signals, not a reason to infer global eligibility when a listing does not provide it.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Provider data can make the distinction concrete. The Job Opportunities API documents separate states for source-confirmed and inferred remote status. Its documentation reports 238,898 of 2,141,886 live rows (11.2%) with source-stated remote status and 1,899,661 (88.7%) with inferred status; it also reports 146,868 listings with source-published salary when require_fields=salary is used. These are provider-reported endpoint counts, not an independent estimate of the job market, and the documentation does not clearly date the figures. See the API’s Listings documentation for its stated context.

Which remote-job data source should you use?

Compare providers against the needs of your application, not just the number of listings returned. Coverage, freshness, salary provenance, geographic eligibility, pagination, and reuse terms can change what your API is able to promise. Documentation describes provider capabilities; it does not establish comparative extraction accuracy, uptime, or a blanket right to republish listings.

Provider Documented API characteristics Integration considerations
Himalayas Describes a free public JSON API requiring no authentication. Its reference lists job and company details, salary ranges, location and time-zone restrictions, categories, and application links. Confirm current terms and usage expectations before production use. Remote Jobs API reference.
Jobicy Documents a public, unauthenticated remote-listings API with cursor pagination and optional salary minimum, maximum, currency, and period fields. Its documentation recommends checking HTTP status, treating optional fields as nullable, sanitizing HTML descriptions before rendering, preserving canonical listing URLs, and polling no more often than once an hour. It says the endpoint returns listings published in the last seven days; verify that window and other current details before relying on them. Remote Jobs API documentation.
Job Opportunities API Documents field-level provenance, including whether information was published by a source, inferred, or absent. It distinguishes source-structured salary from salary parsed from descriptions, and source-confirmed remote status from inferred status. Its documentation says AI-predicted salaries are not emitted. Useful as a model for representing provenance, whether or not it is your ingestion provider. Review its current filters and field behavior. Fields and Listings.

Before selecting a source, check its current documentation and terms for:

  • Country and time-zone coverage, including whether eligibility is source-confirmed or inferred.
  • How often salary fields appear and whether each value is structured by the source or extracted from text.
  • Listing freshness, whether postings are still live, and any stated publication window.
  • Pagination, request limits, and recommended polling frequency.
  • Whether full descriptions and canonical application links are available.
  • Storage, attribution, and republication rights. The cited documentation does not establish a blanket permission to republish listings.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to make the API useful to downstream consumers

Expose source facts and derived values side by side instead of collapsing them into one field. For example, a response can distinguish an original salary range from an annualized comparison value, mark the original value’s provenance, and leave the comparison null when its currency or period is unknown. Apply the same discipline to remote-work status: return eligibility details and whether the status came from the source or was inferred.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

That contract lets a job board filter responsibly, lets a personal search tool compare only interpretable figures, and helps users understand why a listing appears in a result. It also prevents an API’s convenient normalization from being mistaken for an employer’s exact compensation statement.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.