JobsPipe
Guides

Find remote jobs by country

Combine the remote flag with country filters to target remote roles.

To surface remote roles for specific countries, combine remote: true with job_country_code_or.

curl https://api.jobspipe.dev/v1/jobs/search \
  -H "Authorization: Bearer jp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "job_title_or": ["product designer"],
    "job_country_code_or": ["US", "GB", "CA"],
    "remote": true,
    "posted_at_max_age_days": 30,
    "limit": 50
  }'
import requests

resp = requests.post(
    "https://api.jobspipe.dev/v1/jobs/search",
    headers={"Authorization": "Bearer jp_live_your_key_here"},
    json={
        "job_title_or": ["product designer"],
        "job_country_code_or": ["US", "GB", "CA"],
        "remote": True,
        "posted_at_max_age_days": 30,
        "limit": 50,
    },
).json()

for job in resp["data"]:
    print(job["job_title"], "-", job["company"], "-", job["country_code"])
const resp = await fetch("https://api.jobspipe.dev/v1/jobs/search", {
  method: "POST",
  headers: {
    Authorization: "Bearer jp_live_your_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    job_title_or: ["product designer"],
    job_country_code_or: ["US", "GB", "CA"],
    remote: true,
    posted_at_max_age_days: 30,
    limit: 50,
  }),
}).then((r) => r.json());

for (const job of resp.data) {
  console.log(job.job_title, "-", job.company, "-", job.country_code);
}

Notes

  • job_country_code_or takes ISO country codes (US, GB, CA, …) and matches any of them.
  • remote: true returns remote-flagged roles; remote: false excludes them. Omit it to include both.
  • Each result carries remote, hybrid, country_code, and full location fields - see the job schema.
  • To exclude certain countries instead, use job_country_code_not. See the filter reference.

On this page