InfoJobs (net.infojobs.mobile.android) Data API
InfoJobs - Job Search is the official Android app of InfoJobs, Spain's leading online job board, published by Adevinta Jobs S.L.U., part of the Adevinta classifieds group that also runs Fotocasa, Milanuncios and coches.net in Spain. Candidates can browse offers without signing in, searching by keyword and narrowing results by province, city, telework option, contract type, working day, job category, minimum experience, studies and minimum salary, then save a search as an automatic job alert. Each offer page shows the employer's company profile, the full description, minimum and desired requirements, salary, schedule and how many candidates have already applied, alongside a How You Match panel that scores the candidate's CV against the offer skill by skill and language by language. Signed-in candidates keep their curriculum in the app (personal details, nationality, work permits, driving licences, experience and job preferences), apply with it while answering any screening questions the employer sets, save favourite offers, follow companies, and watch every application move through CV received, CV read, in process, rejected or process closed. Built for job seekers across Spain, it competes with Indeed, LinkedIn, Infoempleo and Jobandtalent for the Spanish hiring market.
Spanish job offers come back from the search screen as paginated listings, each query carrying totalResults, totalPages and an idSearch, and each offer its title, city, a province and teleworking key/value pair, the employer author, a free-text salaryDescription and an updated timestamp. The offer record deepens that with creationDate, minRequirements, desiredRequirements, schedule, a skillsList, the applications count and the screening flags hasKillerQuestions and hasOpenQuestions, plus an employer profile with numberWorkers and corporateWebsiteUrl.
On the candidate side, the account record splits the name Spanish-style into surname1 and surname2 next to an isEmailValidated flag; the curriculum holds personalData (nationalIdType and nationalId, birthday, zipCode, mobilePhone), nationalities, workPermits, driverLicenses, experience and jobPreference; the application list ties each jobOffer and companyName to a lastEvent, pendingEvents and the cvReceivedEvent and cvReadEvent events, with rejected, offerRemoved and processClosed flags; and the match score returns a CV-to-offer distance with per-skill and per-language matchValue and matchDetail entries.
Job-board aggregators stream those offers, salary blurb, teleworking flag and province included, into a unified meta-search index keyed on the offer code and deduplicated as updated changes; candidate-side trackers follow the application event timeline and nudge the user the moment a recruiter reads their CV; and career-coaching tools read the per-criterion match detail to tell a candidate which requirement to close before applying. openData Studio makes InfoJobs offers, applications and match scores callable as open data for exactly those integrations.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Search job offers
GET
/v1/jobs/searchopendataReturns a paginated job-offer listing (title, city, province, telework, salary blurb, employer logo) used by the search results screen, for both anonymous and signed-in sessions.
Auth: Optional Bearer access token for the signed-in view. Anonymous search sends an install identifier plus tenant and app-version headers.
- currentPage
- pageSize
- totalResults
- currentResults
- totalPages
- idSearch
- offers
- code
- newBOId
- title
- city
- province
- teleworking
- updated
- author
- salaryDescription
- isFavorite
- match
- sortBy
- searchVersion
- queryParameters
GET /v1/jobs/search?query=product+manager&province=madrid&telework=teletrabajo-posible&page=1 HTTP/1.1 X-Tenant: infojobs X-App-Version: 1604076000 Anonymous-Id: <anonymous-id>{ "currentPage": 1, "pageSize": 20, "totalResults": 1284, "currentResults": 20, "totalPages": 65, "idSearch": 987654321, "sortBy": "updated", "searchVersion": "v1", "sinceDate": "ANY", "offers": [ { "code": "o1a2b3c4d5", "newBOId": "12345678", "title": "Product Manager", "city": "Madrid", "province": {"id": "33", "key": "madrid", "value": "Madrid"}, "teleworking": {"id": "2", "key": "teletrabajo-posible", "value": "Híbrido"}, "updated": "2026-09-20T10:15:00Z", "author": {"id": "c-9001", "name": "Example Corp", "logoUrl": "https://cdn.example.com/logo.png"}, "salaryDescription": "40.000€ - 50.000€ Bruto/año", "priority": false, "isBold": false, "isMultiProvince": false, "isApply": false, "isViewedByCandidate": false, "isFavorite": false, "match": true } ], "queryParameters": { "query": "product manager", "province": "madrid", "telework": "teletrabajo-posible" }, "isEligibleForAutomaticAlertCreation": true }Fetch offer detail
GET
/v1/jobs/{jobId}opendataHydrates a single offer card (description, requirements, salary, company profile, apply flags) for the offer-detail screen and the signed-in favorite/following overlay.
Auth: Bearer access token for the signed-in view (adds the favorite/following overlay); the anonymous variant returns the bare offer. Tenant and app-version headers are always sent.
- offerDetail
- id
- newBOId
- title
- applications
- creationDate
- updateDate
- active
- city
- description
- minRequirements
- desiredRequirements
- salaryDescription
- schedule
- canApply
- hasKillerQuestions
- hasOpenQuestions
- profile
- name
- numberWorkers
- logoUrl
- corporateWebsiteUrl
- skillsList
- favorite
- following
GET /v1/jobs/o1a2b3c4d5 HTTP/1.1 Authorization: Bearer <access-token> X-Tenant: infojobs X-App-Version: 1604076000 Anonymous-Id: <anonymous-id>{ "offerDetail": { "id": "o1a2b3c4d5", "newBOId": "12345678", "title": "Product Manager", "applications": 42, "creationDate": "2026-09-01T08:00:00Z", "updateDate": "2026-09-20T10:15:00Z", "active": true, "archived": false, "city": "Madrid", "description": "Lead the candidate experience squad.", "minRequirements": "5 years in product.", "desiredRequirements": "Marketplace background.", "salaryDescription": "40.000€ - 50.000€ Bruto/año", "schedule": "Jornada completa", "canApply": true, "hasKillerQuestions": 1, "hasOpenQuestions": 0, "vacancies": 1, "profile": { "id": "c-9001", "name": "Example Corp", "numberWorkers": 250, "logoUrl": "https://cdn.example.com/logo.png", "url": "https://example.com/example-corp", "corporateWebsiteUrl": "https://example.com", "isFollowable": true, "isHidden": false }, "skillsList": [{"skill": "product management"}] }, "favorite": false, "following": false }Fetch signed-in candidate
GET
/v1/account/profileosintReturns the signed-in candidate identity record (email, photo URL, given name and both surnames) that the home and profile chrome hang off.
Auth: OAuth2 Bearer access token in the Authorization header, plus tenant and app-version headers.
- photo
- hasPhoto
- name
- surname1
- surname2
- isEmailValidated
GET /v1/account/profile HTTP/1.1 Authorization: Bearer <access-token> X-Tenant: infojobs X-App-Version: 1604076000{ "email": "[email protected]", "photo": "https://cdn.example.com/candidate/photo.jpg", "hasPhoto": true, "name": "Alex", "surname1": "Rivera", "surname2": "García", "isEmailValidated": 1 }Fetch curriculum (CV)
GET
/v1/resumes/{resumeId}osintLoads a full curriculum: national id, birthday, address, phones, work permits, experience and job-preference state used by the CV editor and apply flow.
Auth: OAuth2 Bearer access token in the Authorization header, plus tenant and app-version headers.
- id
- updatedAt
- personalData
- name
- surname1
- surname2
- nationalIdType
- nationalId
- birthday
- gender
- address
- city
- country
- province
- zipCode
- mobilePhone
- nationalities
- workPermits
- driverLicenses
- experience
- jobPreference
- isPersonalDataCompleted
GET /v1/resumes/cv-001 HTTP/1.1 Authorization: Bearer <access-token> X-Tenant: infojobs X-App-Version: 1604076000{ "id": "cv-001", "updatedAt": "2026-09-18T12:00:00Z", "personalData": { "email": "[email protected]", "name": "Alex", "surname1": "Rivera", "surname2": "García", "nationalIdType": 1, "nationalId": "12345678Z", "birthday": "1990-04-12", "gender": 1, "address": "Calle Ejemplo 1", "city": "Madrid", "country": "españa", "province": "madrid", "zipCode": "28001", "mobilePhone": "+34600111222", "landlinePhone": "", "internationalPhone": "", "nationalities": ["española"], "workPermits": ["unión-europea"], "driverLicenses": ["b"], "hasVehicle": true, "isFreelance": false }, "experience": [ { "id": "exp-1", "title": "Product Manager", "company": "Example Corp", "startingDate": "2020-01-01", "finishingDate": null, "onCourse": true, "isVisible": true } ], "jobPreference": { "state": "ACTIVE", "jobTitles": [{"id": "product-manager"}], "remoteWork": [{"key": "teletrabajo-posible"}] }, "isEducationCompleted": true, "isExperienceCompleted": true, "isPersonalDataCompleted": true, "advertisementSegment": "standard" }List applications
GET
/v1/applicationsosintLists the candidate's sent applications with employer, offer title and pipeline events (CV received, CV read, in process, rejected, process closed).
Auth: OAuth2 Bearer access token in the Authorization header, plus tenant and app-version headers.
- totalFound
- applications
- code
- jobOffer
- title
- companyName
- companyLogo
- pendingEvents
- rejected
- offerRemoved
- processClosed
- lastEvent
- typeId
- date
- description
- cvReceivedEvent
- cvReadEvent
GET /v1/applications?page=1&pageSize=20 HTTP/1.1 Authorization: Bearer <access-token> X-Tenant: infojobs X-App-Version: 1604076000{ "totalFound": 3, "applications": [ { "code": "app-1001", "jobOffer": { "code": "o1a2b3c4d5", "title": "Product Manager", "companyName": "Example Corp", "companyLogo": "https://cdn.example.com/logo.png" }, "pendingEvents": 1, "rejected": false, "offerRemoved": false, "processClosed": false, "lastEvent": { "typeId": 2, "date": "2026-09-19T09:00:00Z", "description": "CV leído" }, "cvReceivedEvent": { "typeId": 1, "date": "2026-09-18T18:00:00Z", "description": "CV recibido" }, "cvReadEvent": { "typeId": 2, "date": "2026-09-19T09:00:00Z", "description": "CV leído" } } ] }How-you-match score
GET
/v1/jobs/{jobId}/matchopendataScores the signed-in candidate's CV against an offer (distance plus per-skill/language match flags) for the How You Match panel on offer detail and apply.
Auth: OAuth2 Bearer access token in the Authorization header, plus tenant and app-version headers.
- distance
- metadata
- offer
- code
- title
- cv
- contains
- match
- type
- label
- matchValue
- matchDetail
GET /v1/jobs/o1a2b3c4d5/match HTTP/1.1 Authorization: Bearer <access-token> X-Tenant: infojobs X-App-Version: 1604076000{ "distance": 0.18, "offer": {"code": "o1a2b3c4d5", "title": "Product Manager"}, "cv": {"code": "cv-001", "contains": ["product management", "marketplace"]}, "match": [ {"type": "SKILL", "label": "product management", "match": true, "matchValue": 1.0}, {"type": "LANGUAGE", "label": "inglés", "match": false, "matchValue": 0.0} ], "matchDetail": { "languages": [], "skills": [], "industry": [] } }
Data categories
- job-offers
- candidate-profile
- curriculum
- applications
- offer-match
Where teams use this data
Job-board aggregation
Meta-search products stream job offers with salary description, teleworking flag and province into a unified index, deduplicating across sources as offers update.
Application tracking
Candidate-side trackers list applications with their event timeline — CV received, CV read, process closed — and nudge the candidate the moment a recruiter looks.
CV-fit coaching
Career tools read the how-you-match score and its per-criterion detail for a target offer, telling candidates exactly which requirement to close before applying.
Frequently asked questions
What does the InfoJobs data API expose?
A paginated job-offer search, a single-offer detail view, the signed-in candidate profile, the full curriculum (contact data, national id, work permits, experience and job preferences), the candidate's sent applications with pipeline events, and a per-offer match score.
How are InfoJobs API calls authenticated?
Anonymous offer search works with just an install identifier plus tenant and app-version headers. Signed-in calls send an OAuth2 Bearer access token in the Authorization header together with the same tenant and app-version headers.
What candidate data does the curriculum call return?
The curriculum record carries personal data (email, given name and surnames, national id, birthday, address, phones, nationalities, work permits and driver licenses) plus experience entries and job-preference state.
Where does the match score come from?
GET /v1/jobs/{jobId}/match scores the signed-in candidate's CV against the offer's requirements, returning a distance value plus per-skill and per-language match detail — the data behind the How You Match card on the offer screen.
Apps similar to InfoJobs - Job Search
- Indeed Job Search — Indeed is a global job-search engine that aggregates listings from job boards and company career pages, and it is the most-used general alternative to InfoJobs in Spain.
- LinkedIn — LinkedIn is the professional network where companies post openings and a member's profile doubles as an online résumé, with job recommendations tailored to that profile.
- Computrabajo — Computrabajo is a job board operating in Spain and across Latin America where candidates can search offers and apply directly from the app.
- JOB TODAY — JOB TODAY is a hiring app specialized in retail, hospitality and customer-service roles, built around direct chat between candidates and employers.
- Infoempleo — Infoempleo is a long-running Spanish job portal listing both national and international offers, and a regular entry on lists of InfoJobs alternatives in Spain.
- Jobandtalent — Jobandtalent is a Madrid-founded job platform that connects candidates with employment opportunities across a range of sectors.
- Turijobs — Turijobs is a Spanish job portal specialized in tourism and hospitality, the go-to niche board for hotel, restaurant and travel roles.
Topics
- infojobs api
- net.infojobs.mobile.android endpoints
- infojobs offer search api
- infojobs candidate curriculum api
- infojobs applications api
- infojobs offer match score
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use