InfoJobs Jobs Scraper | Spanish Job Data avatar

InfoJobs Jobs Scraper | Spanish Job Data

Pricing

from $0.75 / 1,000 infojobs job results

Go to Apify Store
InfoJobs Jobs Scraper | Spanish Job Data

InfoJobs Jobs Scraper | Spanish Job Data

Collect public InfoJobs Spain jobs with keyword, location, work-condition, experience, study, and salary filters. Get unique listings with descriptions, employer information, job details, company profiles, and related offers automatically.

Pricing

from $0.75 / 1,000 infojobs job results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Collect public InfoJobs Spain listings and save unique structured job data to the default Apify Dataset. Enter a keyword, optionally narrow it by location or work conditions, and receive titles, descriptions, companies, locations, dates, and job URLs from InfoJobs' structured source data.

What this Actor does

This Actor searches the public InfoJobs Spain catalogue using friendly input fields and follows the available result pages until it reaches your requested limit or the source ends. It keeps one Dataset item per unique offer and normalizes the structured listing and detail data into a stable structure for recruiting research, job-market analysis, and automation.

Core listing fields include the title, public description when available, city, contract, schedule, teleworking mode, publication date, employer information, source URL, and public offer identifiers. Optional detail enrichment adds salary, requirements, studies, skills, category, vacancies, and other fields when the source provides them.

Use cases

  • Build a current dataset of Spanish vacancies for recruiting or market research.
  • Compare demand by keyword, city or province, remote-work mode, contract, schedule, and date.
  • Monitor public titles, employers, locations, descriptions, and publication URLs.
  • Export normalized job records to JSON, CSV, Excel, or downstream data workflows.

How to use

  1. Open the Actor in Apify Console.
  2. Enter a Keyword or job title, such as python, nurse, or project manager.
  3. Optionally choose a city or province and the work-condition filters.
  4. Set Maximum unique jobs. Job enrichment is enabled automatically for every result.
  5. Click Start and open the Dataset when the run finishes.

Input

keyword is required and accepts a search phrase from 1 to 200 characters. The Actor creates the source query internally, so users do not need to construct or paste source URLs.

location is optional and accepts a Spanish city or province name, which is checked against InfoJobs' current locations. When a name refers to both a province and its capital, the province is selected by default; add ciudad, such as Madrid ciudad, to search the city. You can qualify a city with its province, such as Alcobendas (Madrid). Leave it empty to search across Spain. An unrecognized or ambiguous location stops collection with an explanation in SUMMARY.

remote, contractType, workday, publishedWithinDays, and sortBy are optional selectors. Their defaults are any, any, any, any, and relevance. category and study accept InfoJobs dictionary keys separated by commas; experienceMin selects the minimum experience requirement; salaryMin must be paired with salaryPeriod (year, month, or hour). maxItems defaults to 30 and accepts 1 to 1,000 unique jobs.

Job enrichment is always enabled and is not exposed as a customer input. The Actor adds the available public job information available for each offer: a normalized offer.detail, deduplicated public company profile data (including brands and rating summary when available), and up to 10 related offers. Missing optional data remains absent or is reported in SUMMARY.

{
"keyword": "python",
"location": "Madrid",
"remote": "any",
"contractType": "any",
"workday": "any",
"publishedWithinDays": "any",
"sortBy": "relevance",
"category": "",
"experienceMin": "any",
"study": "",
"salaryMin": 30000,
"salaryPeriod": "year",
"maxItems": 2
}

Output

The default Dataset contains one item per unique public offer. The searchUrl field records the source query that produced the item, while scrapedAt records collection time.

The offer object contains code, title, description, city, link, contractType, workday, teleworking, publishedAt, companyName, companyLogo, companyLink, companySdrn, states, upsellings, executive, and newBOId. Some promotion or state fields are legitimately null when the public source does not expose them.

When available, offer.detail contains additional public fields such as salary ranges, experience, studies, requirements, skills, category, company identifiers and rating, location metadata, offer status, applications, vacancies, and benefits supplied by InfoJobs. offer.companyProfile contains the deduplicated public employer profile, brands, and rating summary. offer.recommendations contains up to 10 related public offers for the current offer.

The default Key-Value Store also receives a safe SUMMARY record with completion status, source totals, keyword facets, page and item counters, duplicate counts, detail/company/recommendation counters, and billing reconciliation counters. Collection stops cleanly when your spending limit is reached. Unrecognized locations and temporary source interruptions end the run normally with SUMMARY.status=incomplete and an explanation. This differs from a completed search with no matching jobs. Dataset rows already delivered remain available. If the run fails before collection can be measured, SUMMARY.status is failed and unavailable counts are null.

This is the complete Dataset item from a real successful run:

{
"searchUrl": "https://api.infojobs.net/api/9/offer?q=python&page=1&maxResults=50&order=relevancia-desc&sinceDate=ANY&country=espana&province=madrid",
"scrapedAt": "2026-09-29T15:17:43Z",
"offer": {
"code": "770ae15bee4c47b4595e0f4cee3b59",
"title": "Desarrollador@ Python + Monitorizaci\u00f3n Zabbix",
"description": "\u00a1Estamos ampliando el equipo de Azertium IT y queremos contar contigo!\nNos urge incorporar un perfil de Desarrollador@ Python + Monitorizaci\u00f3n Zabbix con al menos 3 a\u00f1os de experiencia en el puesto y sector IT, para formar parte de nuestro equipo con grandes retos, trayectoria y crecimiento profesional.\n\nModalidad de trabajo: h\u00edbrido (60% teletrabajo). La presencialidad ser\u00eda en la zona de San Fernando de Henares.\n\n\u00danete a nosotros!\n\nFunciones:\nDesarrollo y mantenimiento de aplicaciones utilizando Python y Java, orientadas a la configuraci\u00f3n, gesti\u00f3n y control de sistemas de c\u00e1maras de videovigilancia. En Python, desarrollo de una aplicaci\u00f3n destinada a la configuraci\u00f3n y control de c\u00e1maras fijas y c\u00e1maras PTZ, permitiendo gestionar sus diferentes par\u00e1metros y funciones de forma centralizada, as\u00ed como el env\u00edo de comandos para su operaci\u00f3n. \nConfiguraci\u00f3n y administraci\u00f3n de Zabbix para la monitorizaci\u00f3n de sistemas y servicios, incluyendo la creaci\u00f3n de elementos de monitorizaci\u00f3n, configuraci\u00f3n de alertas y seguimiento del estado de los equipos.\nParticipaci\u00f3n en tareas de an\u00e1lisis y mejora de las soluciones desarrolladas, con especial inter\u00e9s en la adquisici\u00f3n de conocimientos en C++ para llevar a cabo progresivamente la migraci\u00f3n de determinadas funcionalidades desarrolladas actualmente en Python a C++, buscando mejorar el rendimiento y optimizar la aplicaci\u00f3n. \nColaboraci\u00f3n con el equipo t\u00e9cnico en la resoluci\u00f3n de problemas, mantenimiento de las aplicaciones y evoluci\u00f3n de las soluciones implementadas.\n\nRequisitos m\u00ednimos: \nExperiencia con Python (principal): desarrollo de drivers, automatizaci\u00f3n, procesamiento de imagen y an\u00e1lisis de datos. \nExperiencia con C++: programaci\u00f3n de bajo nivel, desarrollo de drivers y optimizaci\u00f3n de rendimiento. \nExperiencia con Shell Scripting (Bash): automatizaci\u00f3n de tareas, gesti\u00f3n de sistemas y despliegues en entornos Linux. \nExperiencia con Java (deseable): desarrollo de aplicaciones multiplataforma y aplicaciones de backend.\nExperiencia en Protocolos de Comunicaci\u00f3n y Networking. \nExperiencia con Pelco-D: control de c\u00e1maras PTZ. \nExperiencia con Modbus: integraci\u00f3n con dispositivos industriales. \nExperiencia con SNMP: gesti\u00f3n y monitorizaci\u00f3n de dispositivos en red. \nExperiencia con HTTP: APIs REST y servicios web. \nExperiencia con UDP: transmisi\u00f3n de datos en tiempo real (streaming y telemetr\u00eda). \nExperiencia con herramientas y entornos de desarrollo. \nExperiencia con Jupyter Notebook: prototipado y an\u00e1lisis de algoritmos. \nExperiencia con Visual Studio Code: desarrollo, depuraci\u00f3n y control de versiones. \nExperiencia con Git (control de versiones): gesti\u00f3n de repositorios y ramas (branching, merging). \nExperiencia con Flujos de trabajo colaborativos (GitFlow, trunk-based). \nExperiencia enn Resoluci\u00f3n de conflictos y revisi\u00f3n de c\u00f3digo (pull requests). \nExperiencia con Linux (nivel avanzado): manejo de comandos (bash, grep, awk, sed, etc.). \nExperiencia en Gesti\u00f3n de procesos, servicios y permisos. \nExperiencia en Troubleshooting y an\u00e1lisis de logs.",
"city": "San Fernando De Henares",
"link": "https://www.infojobs.net/san-fernando-de-henares/desarrollador-python-monitorizacion-zabbix/of-i770ae15bee4c47b4595e0f4cee3b59",
"contractType": "Indefinido",
"workday": "Completa",
"teleworking": "H\u00edbrido",
"publishedAt": "2026-09-29T11:23:45.000+0000",
"companyName": "Azertium IT Global Services SL",
"companyLogo": "https://multimedia-logos.infojobs.net/image/upload/23/23763a34-457a-4a7e-a34d-1a596f345c7f",
"companyLink": "http://www.azertiumit.com",
"states": null,
"upsellings": null,
"executive": false,
"newBOId": "799e984b-310f-4414-b68f-85c27fbb895b"
}
}

Pricing

This Actor uses Apify pay-per-event pricing. You are charged once for each unique job listing successfully delivered to the default Dataset. Empty runs, failed searches, duplicate offers, and skipped optional detail fields do not create an infojobs-job-result charge. The actual charge is per delivered job result; the 1,000-result figures below are comparison equivalents.

Apify tierPrice per job result (USD)Equivalent per 1,000 job results (USD)
FREE$0.00100$1.00
BRONZE$0.00090$0.90
SILVER$0.00080$0.80
GOLD$0.00075$0.75
PLATINUM$0.00075$0.75
DIAMOND$0.00075$0.75

Account-level compute, storage, and other Apify platform charges are separate. Check the Actor's Pricing tab for the effective price applied to your account before running it.

ActorBest for
Indeed Jobs Scraper | Worldwide Job DataCompare Spanish searches with worldwide Indeed country and location filters.
Glassdoor Jobs Scraper | Global Job ListingsCompare public jobs with Glassdoor employer, salary, remote, and application fields.
Built In Jobs Scraper | Salaries & SkillsResearch technology vacancies where published salaries and skills are important.
Lever Jobs Scraper | Public ATS Job DataCollect public employer postings published on Lever career boards.

Limits and data quality

  • Coverage is limited to public InfoJobs Spain listings and the public fields supplied for each offer.
  • The source can change available results, labels, descriptions, employer data, and pagination while a run is in progress.
  • Detail enrichment is best effort within the structured source contract. Salary, skills, requirements, promotion data, and employer fields can be absent or change over time.
  • maxItems is an upper bound, not a guarantee. Fewer rows are valid when the search has fewer public offers or duplicates are encountered.
  • Unavailable optional data does not prevent delivery of the base job listing. A persistent source restriction can make a search incomplete. Review SUMMARY and rerun the same bounded input when a complete refreshed snapshot is required.
  • The Dataset preserves already delivered rows when a later page or optional detail request cannot be completed.

Frequently asked questions

Does the Actor require an InfoJobs login or personal API key?

No. Users do not provide a login, personal account token, or external jobs API key. The Actor reads public job information and does not submit applications or access private candidate data.

Why did I receive fewer jobs than maxItems?

maxItems is a maximum. The public search may contain fewer matching offers, pagination may end, or duplicates may be removed across pages.

Are duplicate jobs returned across result pages?

No. Offers are deduplicated across the complete run by their public offer identity, using the listing URL when the identity is unavailable.

Does Job enrichment change the core output?

No. The core listing remains available. Enrichment is always attempted for each job; if optional data is unavailable, the base row is preserved.

Can I export the Dataset?

Yes. Use the Dataset export controls in Apify Console. JSON preserves nested detail fields most naturally; CSV is useful for flat reporting.

Responsible use

Use this Actor only for lawful processing of public job information. Respect applicable laws, privacy requirements, source terms, and the rights of employers and applicants. Do not use collected data for spam, harassment, discrimination, or unlawful automated decisions.

Support

Open an issue in the Actor's Issues tab with a reproducible input, the Apify run ID, and the relevant SUMMARY status. Do not include credentials or private configuration in an issue.

For public integration examples, see the InfoJobs Jobs Scraper public repository.