If you've looked for remote work from outside the US, you know the routine: find a great "remote" role, write a cover letter, scroll to the bottom of the ad, and read "US residents only."
So I measured it. In a sample of 200 recent jobs on Jobicy, 118 were open to US residents only. "Remote" usually means "remote within one country."
I built Remote Jobs by Country, an Apify Actor that pulls jobs from Himalayas, Remote OK, We Work Remotely and Jobicy and answers one question for each job: can someone living in country X apply?
The hard part: every board says it differently
The four boards describe "where can you work from" in four formats:
| Board | What you get |
|---|---|
| Himalayas | A list of country names (empty means worldwide) plus a list of UTC offsets |
| Jobicy | Free text: "APAC, EMEA, LATAM, Canada, USA"
|
| We Work Remotely | A region ("Anywhere in the World") and a country field full of flag emojis: πΊπΈ United States of America
|
| Remote OK | Free text that is often empty, or just "Remote"
|
So the core of the Actor is a small geo parser that turns all of these into the same shape:
@dataclass
class Geo:
worldwide: bool
countries: set # ISO2 codes
regions: set # APAC, EMEA, EU, LATAM, ...
excluded: set # "Anywhere (not in the US, CA, UK)"
timezones: list # UTC offsets
basis: str # "listing" | "description" | "none"
evidence: str | None
Then open_to(geo, "DE", utc_offset=1) returns yes, no or unclear.
Things that tripped me up
"CA" is not Canada. In free text, "CA" is far more often California, and "IN" is a preposition, not India. Two-letter codes only count from a small safe set (US, UK, UAE), in upper case. The one exception is inside an exclusion list like "not in the US, CA, UK, NZ, or AU", where they are clearly countries.
"Bosnia and Herzegovina" contains "and". Splitting on " and " to handle "Netherlands and United Kingdom" broke country names like "Trinidad and Tobago". The fix is to try the whole token as a country first, and split only if it doesn't match.
Flag emojis are just two letters. π©πͺ is the regional-indicator pair D + E, so you can decode it with arithmetic, no lookup table needed.
A list of every time zone is no restriction. Some Himalayas jobs list all 24+ UTC offsets. Treating that as a filter would be silly, so it counts as "no time-zone limit."
When the board says nothing, read the ad, but carefully. Remote OK's location is often empty. The Actor then looks for one sentence in the description that says where the person must live ("You must be based in Europe") and uses that, keeping the sentence as evidence. If there is no such sentence, the answer is unclear. A wrong yes costs someone a cover letter.
What a record looks like
{
"title": "Senior Software Engineer, Internal Tooling",
"company": "RevenueCat",
"location": "APAC, EMEA, USA",
"eligibleRegions": ["APAC", "EMEA"],
"eligibleCountries": ["US"],
"eligibilityBasis": "listing",
"eligibilityEvidence": "APAC, EMEA, USA",
"openToApplicant": "yes",
"visaSponsorship": "not_mentioned",
"alsoListedOn": [],
"attribution": "Job from Jobicy (jobicy.com). ..."
}
Other things it does:
-
Deduplicates across boards. The same job on two boards becomes one record, with the other link in
alsoListedOn. - Adds visa-sponsorship tags, read sentence by sentence, because "visa sponsorship" in an ad usually means "not available."
- Carries an attribution string per board. All four boards allow reuse if you credit them, so the rule travels with the data.
- Monitoring mode. Schedule it daily and it only returns, and only charges for, jobs it hasn't seen before.
Sources, honestly
The Actor uses only the boards' own public APIs and RSS feeds, within the terms each one publishes: no logins, no proxies, no browser automation. I left out boards whose terms didn't allow this kind of use, even ones with nice APIs.
Try it
It's an Apify Actor: Remote Jobs by Country. Put in your country code (DE, BR, INβ¦), and optionally your UTC offset and some keywords. It costs $1.50 per 1,000 jobs, and filtered-out jobs and duplicates are free.
If you're after jobs on company career pages instead, there are two sister Actors:
- ATS Jobs API with Visa Sponsorship Tags: Greenhouse, Lever, Ashby, SmartRecruiters and Recruitee, with the same sentence-level visa tags.
- Workday Jobs API with H-1B & UK Visa Sponsor Evidence: any company's Workday careers site, and it backs each visa tag with the employer's US H-1B filings and UK sponsor licence.
If a job is marked wrong for your country, tell me in the comments or open an issue on the Actor page. Every rule in the parser came from a real ad that broke it.
Top comments (0)