Remote Jobs API: Match & Score avatar

Remote Jobs API: Match & Score

Pricing

Pay per usage

Go to Apify Store
Remote Jobs API: Match & Score

Remote Jobs API: Match & Score

Aggregate remote jobs from four public APIs, normalize and deduplicate listings, then rank them against a candidate or hiring profile with explainable scoring.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Diego Jurado Garcia

Diego Jurado Garcia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Aggregate current remote-job listings from four public APIs, normalize and deduplicate them, then rank each role against a candidate or hiring profile with explainable deterministic scoring.

Sources

  • Arbeitnow
  • Jobicy
  • Himalayas
  • Remote OK

No login, browser, paid data provider, or external LLM is required. Each result preserves source, source_url, apply_url, and attribution. Remote OK results link back to Remote OK as required by its public API terms.

Features

  • live HTTP fetch with retries for rate limits and transient server/network failures
  • partial-failure tolerance: one broken feed does not discard the others
  • normalized title, company, description, location, employment type, salary, currency, skills, seniority, dates, and URLs
  • cross-source deduplication by canonical URL and normalized title + company
  • filters for keywords, region, country, employment type, salary floor, and posting age
  • explainable fit score, fit band, reasons, and data-quality risk notes
  • one dataset item per unique ranked job
  • run diagnostics in the OUTPUT key-value-store record

Input example

{
"platforms": ["arbeitnow", "jobicy", "himalayas", "remoteok"],
"search_keywords": "python",
"max_jobs_per_platform": 10,
"max_total_jobs": 40,
"profile": {
"desired_roles": ["python engineer", "backend engineer"],
"skills": ["python", "django", "postgresql"],
"seniority": "senior",
"regions": ["europe", "worldwide"],
"timezone": "UTC+2",
"salary_min": 80000
},
"posted_within_days": 30
}

search_keywords uses AND semantics after normalization: all words must appear somewhere in the title, company, description, or skills.

Output

Each dataset item includes:

  • fit_score, fit_band, fit_reasons, risk_notes
  • title, company, description, location, remote_region
  • employment_type, salary_min, salary_max, currency
  • skills, seniority, published_at
  • apply_url, source, source_url, attribution

Known salary values below salary_min are discarded. Listings without salary data are retained and marked in risk_notes rather than silently removed.

Pay-per-event

  • run-start: once per valid run.
  • job-scored: once per unique emitted job.
  • Discarded, duplicate, or failed-source rows are not charged.

Local verification

uv run --with-requirements requirements.txt --with pytest python -m pytest tests -q
uv run --with-requirements requirements.txt python -m src.main \
--input samples/input.json \
--output /tmp/remote-jobs-output.json
apify validate-schema