Spain Tech Radar
Open data

Methodology

Almost everything on the radar was gathered from public sources by automated processes; the rest is sent in by companies themselves and by other people, and we review it by hand. Here is where each thing comes from, with which filters, and where it falls short.

Last data collection: 12 October 2026.

The dataset today

FigureCompanies
On the radar4,720
Placed by the postal code on their website3,875
Placed by the town on their GitHub profile844
With a checked tax ID (CIF)2,675
With some stack data1,051
With a link to their jobs page1,751
With open tech jobs48
Profiles verified by the company1
Provinces with at least one company51 of 52

Where companies come from

For now, the automated source of companies is GitHub organizations that say they are in Spain. We search for “Spain”, “España” and about seventy city and region names, and keep those with their own website on their profile.

From there we drop universities, research groups, communities, training centres and profiles whose website is a social network or a personal page. Then we visit each website looking for a Spanish postal code and a tax ID. Those we can place on the map get in: by the postal code on their website or, if it publishes none, by the town on their GitHub profile. The tax ID is no longer required to get in, but every profile shows whether it has been checked.

Step (collection of 9 October 2026)Organizations
GitHub organizations located in Spain21,459
With a corporate website and looking like a company10,755
Whose website responds8,313
With a Spanish postal code on the website4,229
Of those, with a valid tax ID2,869
No postal code, but a Spanish town on their GitHub profile934

How we know it is a company

The main signal is the tax ID (CIF). In Spain, a website's legal notice must identify its owner, so we read the home page, the legal notice and the contact page looking for a CIF, and verify its check digit.

Location

Location comes from the postal code the company publishes on its website, almost always in the legal notice. We turn it into town, province and region using the GeoNames postal code table.

If the website publishes no postal code, we use the town the organization states on its GitHub profile, and the profile says so.

This has two consequences. There is almost always a single location per company, usually the registered address and not necessarily where the team works. And the point on the map goes to the centre of the town, shifted a few hundred metres so points don't overlap: it is not the exact address.

Stack

A profile's stack comes from two places:

It is a partial picture. What a company publishes in the open is not always what it uses internally, and most publish nothing: that is why many profiles have no stack.

Job posts

We look on each company's website for a link to its jobs page. If that page uses one of the applicant tracking systems with public data (Greenhouse, Lever, Ashby, Personio, Workable, Teamtailor, Recruitee, SmartRecruiters or Factorial), we read its open posts.

We count as a “tech job in Spain” one whose title is a technical role and which is located in Spain, remote, or has no location. It is a keyword filter, so some cases slip through. If the page lists other companies' vacancies, as an investment fund's does, we don't count them. The figure is a snapshot of the day we looked.

We can only read a small part: most companies have a custom-built jobs page, and for those we keep the link but not the posts.

What people send us

Anyone can suggest a missing company or propose changes to a profile from the website itself, without signing up. A person reviews every proposal before accepting it, and nothing is published without that review.

If the sender says they work at the company, their data comes in as “declared”. If it is a third party, it comes in as observed, with “comunidad” (community) as its source. The contact email is optional, is only used to resolve questions about the proposal, and is not published.

Declared and observed

Every piece of data on a profile states its origin. “Observed” is what we have seen from outside, with its source and date. “Declared” is what the company says about itself when it claims its profile.

A company can add to and correct what is declared, but cannot delete what is observed. Today almost everything is observed.

What we don't do

Known limits

Changelog