Open-source project
remote-es/remotes avatar
remote-es/remotes

remote-es/remotes: a curated list of Spanish-contract remote employers

This is a repository listing companies which offer full-time remote jobs with Spanish contracts

2,838 stars219 forksUnknownLicense varies

At a glance

What is it?
remote-es/remotes is a GitHub list of companies that hire fully remote workers on Spanish full-time contracts. It is a markdown file plus a PR process, not software, and its value depends on how current the entries are.
Who is it for?
Adopt remote-es/remotes if you live in Spain and want a Spanish contract rather than autónomo status, and treat the README as a starting point: open the Open positions link for each company and confirm the posting is remote and the contract is Spanish before applying.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 8 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem: remote work in Spain collides with autónomo status

Working remotely for a company outside Spain usually means registering as self-employed rather than signing a full-time contract. The README lists the drawbacks it associates with that route: the employer can end the arrangement at any time, there is extra paperwork compared with a regular job, and the legal framework is unclear. It also states a narrower worry, that being self-employed while working for a single Spanish company is apparently not acceptable, and that the government has not made clear whether the same arrangement with a foreign company is fine. Whatever the legal merits, the practical consequence is that a Spanish job seeker filtering for remote roles has to read each posting to find out whether it comes with a contract or expects an invoice. That is the gap this repository fills: a list of employers that the maintainers say hire in Spain with Spanish full-time contracts, remote-first. It is aimed at people living in Spain, and the README says the list exists because resources for remote work targeting Spain specifically were not found elsewhere.

What actually lives in the repository

There is no code. The top level holds .github/, OWNERS.md and README.md. The README contains the introduction, the reasoning, the conditions for inclusion, instructions for adding a company, a support section, and the list itself. Each entry is a company name, sometimes a link on the name, an optional tag in parentheses, and a link labelled Open positions. Tags carry the nuance: (All offers are remote), (All technical offers are remote), (View individual job offers to check for remote), and async-related markers such as (Async friendly), (Async first), (Preferred overlap of 3 hours with US Eastern office hours), (Night shift every 4 weeks), (4 day week), or (Requires availability 8-9 Europe/Madrid). The tag matters more than the company name. An entry tagged (View individual job offers to check for remote) is telling you the listing page mixes remote and on-site roles, so the list itself has not done the filtering for you. That is an honest design, and also a limitation: the list is a set of pointers, and the pointer quality is the product.

Inclusion rules: Spanish contract, fully remote, stable URL

The conditions section is the most useful part of the README. Remote means you can work from anywhere in Spain and never have to set foot in an office if you do not want to; occasional travel for onboarding or team building is allowed. The contract must be a Spanish full-time contract, not self-employment. The README gives three acceptable shapes: a Spanish company hiring in Spain on regular contracts, a foreign company with a Spanish legal entity doing the same, or a foreign company hiring through an intermediary where the contract is still Spanish and does not require self-employment. For the offer link, the README asks contributors to provide a stable URL that lists all offers meeting the criteria, or a simple way to filter them. It advises against URLs that look like a single posting, on the grounds that visitors will not trust an individual job page to be current, and asks that posting dates be visible and that remote status be marked clearly. Those are requirements on the contributor, not guarantees to the reader. Nothing in the repository checks whether an entry still satisfies them after it is merged.

Using the list: no install, just clone or browse

There is no package, no CLI and no service. The repository is a markdown file, so the first real use is reading it or cloning it locally so you can search and annotate. If you want a local copy, clone the default branch:

bash
git clone https://github.com/remote-es/remotes.git
cd remotes

After cloning you get README.md and OWNERS.md. From there the workflow is manual: open the Open positions link for a company, confirm the posting is remote, and confirm the contract is Spanish rather than a contractor arrangement. To add a company, the README says to send a PR that adds the entry in alphabetical order, and that the GitHub edit file button automates forking and submitting the PR. It asks contributors to keep entries brief and to note anything important, such as travel requirements of more than three onsites a year or language requirements beyond Spanish and medium English.

Where the list breaks down

The failure mode is staleness, and the README acknowledges it in the support section: if a listed company is no longer useful, whether because the URL is broken or because it no longer clearly lists remote offers meeting the criteria, readers are asked to send a PR removing it with a justification, or open an issue. That places link rot on volunteers. The README does not document any automated link checking, any expiry date on entries, or any periodic review, so an entry can stay in the file long after the hiring page changed. A second limitation is that inclusion is a claim about contract type that the list cannot verify. The README states the conditions, but the repository has no mechanism to confirm that a company still hires through a Spanish entity or intermediary rather than through a contractor agreement. A third is scope: the list is for people living in Spain. If you are elsewhere in the EU and looking for remote roles, the Spanish-contract filter is noise, and a general remote job board will serve you better.

How this differs from a job board or an aggregator

A conventional job board indexes postings and lets you filter by location and remote status; it optimises for volume and freshness of individual roles. remote-es/remotes does the opposite. It indexes employers, not postings, and its filter is contractual rather than geographic in the usual sense: the question it answers is not where the job is but what kind of paper you would sign. That is a narrower and more opinionated dataset, and it explains why the README spends its rules on contract structure and on tagging remote status rather than on salary or seniority. The trade-off is coverage. A board will surface a Spanish remote role from a company that has never been added here, and this list will never tell you about it until someone sends a PR. The list also cannot answer whether a given posting is still open; it only points at a page that is supposed to list current offers. If you want breadth, use a board. If you want a shortlist of employers whose hiring model matches a Spanish contract, use this.

Maintenance, licence and what the repository does not state

The last push to the default branch was on 2026-09-23, and the repository is not archived, so the file is being touched. That says nothing about whether individual entries were re-checked on that date; the README does not describe a review cadence. OWNERS.md is referenced from the support section as the place for details about maintenance of the project, and it is a top-level file, but its contents are not reproduced here, so the governance model is not something this article can describe. The repository does not state a licence. That matters if you intend to reuse the list in a product or republish it: absent a licence file, the default position under copyright is that no reuse rights are granted, so treat the list as readable rather than redistributable until you check the repository yourself. There is also no release history, which fits a project that ships by commit rather than by version. Updating means pulling the latest README, and the cost of doing so is one git pull.

Editorial conclusion

Adopt remote-es/remotes if you live in Spain and want a Spanish contract rather than autónomo status, and treat the README as a starting point: open the Open positions link for each company and confirm the posting is remote and the contract is Spanish before applying. Skip it if you are outside Spain, if you want a maintained API or feed, or if you need verified freshness on every entry, because the repository offers no automated checks and the README does not document how stale links are caught. Verify first that the company you care about still has an active Spanish entity or intermediary and that its listing page still exists.

Frequently asked questions

How do I install remote-es/remotes?

There is nothing to install. The project is a markdown list in a GitHub repository, so you read README.md on GitHub or clone the repository to keep a local copy.

How do I add a company to remote-es/remotes?

The README says to send a PR that adds the company to the list in alphabetical order, keeping the entry brief. The GitHub edit file button automates forking and submitting the PR.

What counts as a remote job for remote-es/remotes?

The README requires that you can work from anywhere in Spain and never have to go to an office if you do not want to, with occasional travel for onboarding or team building allowed. The company must also hire on a Spanish full-time contract rather than self-employment.

What do the tags like (All offers are remote) mean in remote-es/remotes?

They describe how clearly the company's own listing page marks remote roles. (All offers are remote) means the page gives no such indication but all jobs are remote, while (View individual job offers to check for remote) means you have to open individual postings to check.

What should I do if a company in remote-es/remotes no longer belongs on the list?

The support section asks you to send a PR removing it with a justification, or to open an issue, for cases such as a broken URL or a listing that no longer clearly shows remote offers meeting the criteria.

Official sources

  1. Issues
  2. README
  3. remote-es/remotes on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/remote-es-remotes.svg)](https://hysenlabs.com/projects/remote-es-remotes)