InfoJobs - Job Search icon

InfoJobs (net.infojobs.mobile.android) Data API

Adevinta Jobs S.L.U. · Identity

InfoJobs exposes a job-board data API to its Android app. Offer search is a paginated listing endpoint; a second call hydrates a single offer with its description, requirements, salary and company profile. The signed-in area adds the candidate identity record, the full curriculum (national id, phones, work permits, experience and job preferences), the candidate's sent applications with their pipeline events, and a per-offer match score. Anonymous search needs only an install identifier, while signed-in calls authenticate with an OAuth2 Bearer access token plus tenant and app-version headers, and mutating calls add a CSRF token. Field names below (code, email, nationalId, applications, matchValue) are the properties on the app's API models.

InfoJobs - Job Search (package net.infojobs.mobile.android, versionName 4.76.0) is Adevinta Jobs' Android client for offer search, candidate identity, curricula and application tracking. Its data API exposes a paginated job-offer search, a single-offer detail view, the signed-in candidate profile, the full curriculum (national id, birthday, phones, work permits, experience and job preferences), the candidate's sent applications with pipeline events, and a per-offer match score. Anonymous search works with just an install identifier; signed-in calls use an OAuth2 Bearer access token with tenant and app-version headers, and mutating calls add a CSRF token. Field names below (code, title, email, nationalId, applications, matchValue) are the properties on the app's API models.

Screenshots

  • InfoJobs - Job Search screenshot 1
  • InfoJobs - Job Search screenshot 2
  • InfoJobs - Job Search screenshot 3
  • InfoJobs - Job Search screenshot 4
  • InfoJobs - Job Search screenshot 5
  • InfoJobs - Job Search screenshot 6
  • InfoJobs - Job Search screenshot 7
  • InfoJobs - Job Search screenshot 8

API surface

  • Search job offers

    GET /v1/jobs/search opendata

    Returns 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the app's job-search results flow
    • field set mirrors the offer-listing model behind the results screen
  • Fetch offer detail

    GET /v1/jobs/{jobId} opendata

    Hydrates 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the app's offer-detail screen
    • covers both the signed-in and anonymous offer views
  • Fetch signed-in candidate

    GET /v1/account/profile osint

    Returns 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.

    • email
    • photo
    • hasPhoto
    • name
    • surname1
    • surname2
    • isEmailValidated

    Illustrative example reconstructed from the app's interface — not a live capture.

    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
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the app's home/profile identity flow
  • Fetch curriculum (CV)

    GET /v1/resumes/{resumeId} osint

    Loads 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
    • email
    • name
    • surname1
    • surname2
    • nationalIdType
    • nationalId
    • birthday
    • gender
    • address
    • city
    • country
    • province
    • zipCode
    • mobilePhone
    • nationalities
    • workPermits
    • driverLicenses
    • experience
    • jobPreference
    • isPersonalDataCompleted

    Illustrative example reconstructed from the app's interface — not a live capture.

    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"
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the app's CV editor and apply flow
  • List applications

    GET /v1/applications osint

    Lists 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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"
          }
        }
      ]
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the app's applications / tracking screen
  • How-you-match score

    GET /v1/jobs/{jobId}/match opendata

    Scores 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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": []
      }
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the app's How You Match panel on offer detail

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. Signed-in calls send an OAuth2 Bearer access token in the Authorization header together with tenant and app-version headers; create, update and delete calls add a CSRF token.

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.

Topics

  • infojobs api
  • net.infojobs.mobile.android endpoints
  • infojobs offer search api
  • infojobs candidate curriculum api
  • infojobs applications api

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.

Get a quote