InfoJobs Scraper: Spain Job Listings and Salaries
Pricing
from $1.00 / 1,000 results
InfoJobs Scraper: Spain Job Listings and Salaries
Scrape InfoJobs.net job offers in Spain by keyword, province, category, contract type, remote mode and posted date. Title, company, city, salary band, contract, workday, publication date and offer text. Optional applicants, skills and requirements. Unofficial.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
reventadata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Features
Share
InfoJobs Scraper
Unofficial. This Actor is not affiliated with, authorised by, endorsed by, or in any way officially connected to InfoJobs. "InfoJobs" is a trademark of its respective owner and is used here only to describe what this tool reads. It reads the same public search pages a browser does.
InfoJobs Scraper turns an InfoJobs.net (Spain) job search into a clean table: title, company, city, contract, working day, remote mode, published salary band, publication date and the offer text. Optionally it opens each offer to add applicants, required skills, languages, studies and experience.
What does it do?
Give it a keyword (for example camarero) and, if you want, a province, category, contract type, on-site or remote mode, a posted-within window and a sort order. It reads the result pages and returns one row per offer.
Why use it?
- Filters applied by the site: province, category, contract, remote mode, posted-since and sort are sent to InfoJobs itself. If InfoJobs does not apply one of them, the run stops there with a warning instead of returning unfiltered rows; rows already returned are kept, and a run with no rows fails.
- Salary as numbers: minimum, maximum, period (year or month) and currency when the offer publishes a salary; null otherwise.
- Optional detail enrichment: applicants so far, required skills and languages, minimum studies and experience.
- Reaches a site that blocks plain scrapers: pages are fetched through an unblocking service run by the Actor itself; you do not need a proxy or a key.
- Public data only: company names and the offer text the site shows are in the rows; nothing from behind a login.
How to use it
- Enter a
keyword, or leave it empty to list every offer. - Optionally set the filters. Province and category take the InfoJobs numeric id (for example 33 for Madrid, 160 for Turismo y restauración); the input form lists the ids seen on the site.
- Set
maxItemsandmaxPages, run the Actor, and download the dataset as JSON, CSV or Excel.
Limit of the site: InfoJobs serves at most 2,999 pages (59,980 offers) for one search, even when it reports more. When a search is bigger, the Actor logs a warning; split it with the filters (one run per province, for example). Each page takes about 30 seconds.
Detail pages are slow: fetchDetails opens each offer's own page, one request per row, about 26 to 52 seconds each (measured), one at a time. Leave it off unless you need those fields. A detail page that cannot be read leaves the five detail fields null; the row is still returned.
Input
| Field | Type | Description |
|---|---|---|
keyword | string | Job title or words. Empty lists every offer. |
provinceId | string | InfoJobs province id (digits), for example 33. |
categoryId | string | InfoJobs category id (digits), for example 160. |
contractTypeId | string | Contract type (Indefinido, De duración determinada, Fijo discontinuo, ...). |
teleworkingId | string | Presencial, Solo teletrabajo or Sin especificar. |
sinceDate | string | ANY, _24_HOURS, _7_DAYS or _15_DAYS. |
sortBy | string | PUBLICATION_DATE or RELEVANCE. |
fetchDetails | boolean | Add applicants, skills, languages, studies, experience (one extra request per row). Each detail page used in a returned row is charged as a separate detail-page event. |
maxItems | integer | Maximum rows to return. |
maxPages | integer | Maximum result pages (20 offers each), up to 2,999. |
Sample Input
{"keyword": "camarero","provinceId": "33","contractTypeId": "1","maxItems": 20,"maxPages": 1}
Output
One row per offer: id, url, title, description, city, contractType, workday, teleworking, salaryMin, salaryMax, salaryPeriod, salaryCurrency, salaryType, publishedAt, companyName, companyUrl, upsellings, executive, searchUrl. With fetchDetails: applicants, requiredSkills, requiredLanguages, minimumStudies, minimumExperience. Fields the offer does not give are null. The result list marks some offers as promoted (upsellings), and promoted offers can appear out of date order.
Sample Output
A real row (keyword camarero, with fetchDetails), description shortened and searchUrl left out:
{"id": "98ce6b67ca4d60a459d2cc5c08e981","url": "https://www.infojobs.net/zaragoza/camarero/of-i98ce6b67ca4d60a459d2cc5c08e981","title": "Camarero/a","description": "Desde InfoJobs Assistance un servicio de Adevinta, estamos buscando un/a Camarer...","city": "Zaragoza","contractType": "Contrato indefinido","workday": "Jornada completa","teleworking": "Presencial","salaryMin": 1800,"salaryMax": 1900,"salaryPeriod": "MONTH","salaryCurrency": "EUR","salaryType": "GROSS","publishedAt": "2026-11-06T07:37:08Z","companyName": "InfoJobs Assistance","companyUrl": "https://ijassistance.ofertas-trabajo.infojobs.net","upsellings": ["PROMOTED"],"executive": false,"applicants": 111,"requiredSkills": ["camarero/a", "comandas", "barra", "sala", "terraza", "TPV", "Carnet manipulador/a alimentos"],"requiredLanguages": [],"minimumStudies": "Educación Secundaria Obligatoria","minimumExperience": "Al menos 3 años"}
Pricing
Detail pages (fetchDetails) are charged as a separate event, one per detail page used in a returned row; a detail page that cannot be read is not charged. For current pricing and details, see the Store page.
Privacy & Compliance
This Actor reads only publicly accessible search and offer pages and returns the public data they show. It sends no login and returns nothing from behind a login.