Jobstreet: Smart job matching icon

Jobstreet: Smart job matching Data API

Jobstreet.com Private Limited · Jobs & Careers

Jobstreet: Smart job matching is the job-search app from Jobstreet.com Private Limited, the Southeast Asian job board founded in Malaysia in 1995 and part of Australia's SEEK group since 2014. Job seekers in Indonesia, and in Jobstreet's other markets of Malaysia, Singapore and the Philippines, search vacancies by keyword and location, filter by work type and by hybrid or remote arrangements, and open posting pages that show the advertised salary, the employer's company reviews and rating, how many people have already applied, and a match analysis of their own skills against the role. Applications go out from the app with a stored resume, an optional cover letter and the employer's screening questions, and an applied-jobs tracker follows each one through its status updates. The candidate profile collects confirmed roles, qualifications, skills, salary preferences and right-to-work details, can be published as a public profile that recruiters find through a people search carrying verified-credential badges, and reports how often it has been viewed and shown in searches. In Indonesia it competes for job seekers with Glints, Kalibrr, KitaLulus, LinkedIn and Indeed.

Posting cards from a Jobstreet keyword-and-location search carry a job id, title, abstract, advertiser and location, a salary displayValue with its currency or a hideSalary flag, workTypes, workArrangements such as hybrid, a listedAt timestamp and the query's total resultCount. Opening a posting adds the full content, its status and isExpired state, classifications, the employer's companyProfile with a reviewsSummary overallRating, an ApplicantCount insight and, for a signed-in viewer, a candidateJobMatch block.

Candidate records hold confirmedRoles, qualifications, skills2, resumes with their fileMetadata, salaryPreferences2, rightsToWork and the viewCount and searchImpressionCount of the public profile. A submitted application (jobId, personalDetails, resume, optional coverLetter and questionnaireAnswers) returns an applicationId, and the applied-jobs list then logs its pipeline events with a status and timestamp. The public people directory, queried by searchQuery, roleTitles, companies and locations, returns a profile slug, homeLocation, workHistories and hasVerifiedCredentials flags.

Labour-market dashboards pull the listing fields nightly for Jakarta and other locations to track hiring volume and advertised pay bands without scraping HTML; recruiting CRMs join public-profile slug, workHistories and verification flags onto outbound prospect records; HR ops bots reconcile each applicationId and its events against an ATS so dropped applications surface the same day; and career-site widgets show overallRating and applicant volume next to the same posting the mobile app shows. openData Studio turns these Jobstreet fields into callable open data.

Screenshots

  • Jobstreet: Smart job matching screenshot 1
  • Jobstreet: Smart job matching screenshot 2
  • Jobstreet: Smart job matching screenshot 3
  • Jobstreet: Smart job matching screenshot 4
  • Jobstreet: Smart job matching screenshot 5
  • Jobstreet: Smart job matching screenshot 6

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Search jobs (JobSearchV7)

    POST /v1/search/jobs opendata

    Returns a JobSearchV7 listing page (title, advertiser, location, salary displayValue, workTypes, workArrangements) used by the Jobstreet search-results screen.

    Auth: Optional Auth0 Bearer access token from the Jobstreet account sign-in (Authorization: Bearer). Anonymous search still sends searchContext.sessionId and solVisitorId.

    • jobSearchV7
    • id
    • title
    • abstract
    • advertiser
    • location
    • displayName
    • workTypes
    • salary
    • hideSalary
    • currency
    • displayValue
    • companyLogoURL
    • listedAt
    • dateTimeUtc
    • workArrangements
    • resultCount
    • searchToken
    • sessionId
    • solVisitorId
    POST /v1/search/jobs HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operationName": "JobSearchV7",
      "variables": {
        "params": {
          "searchIntent": null,
          "encodedUrl": "/jobs?keywords=software+engineer&where=Jakarta",
          "searchContext": {
            "brand": "jobstreet",
            "channel": "ANDROID",
            "userId": null,
            "solVisitorId": "<visitor-uuid>",
            "intent": null,
            "source": "SEARCH"
          },
          "responseConfig": null,
          "searchToken": null,
          "sessionId": "<jobseeker-session-id>"
        },
        "locale": "en-ID",
        "timezone": "Asia/Jakarta",
        "subTypes": ["FEATURED"]
      }
    }
    {
      "data": {
        "jobSearchV7": {
          "results": {
            "jobs": [{
              "id": "87001234",
              "title": "Software Engineer",
              "abstract": "Build marketplace services in Jakarta.",
              "advertiser": {"name": "Example Corp"},
              "location": {"displayName": {"text": "Jakarta"}},
              "cjs": {
                "workTypes": [{"name": "Full time"}],
                "salary": {"hideSalary": false, "currency": "IDR", "displayValue": "IDR 15,000,000 - 20,000,000"},
                "product": {"branding": {"companyLogoURL": "https://cdn.example.com/logo.png"}, "bullets": ["Hybrid"]}
              },
              "listedAt": {"label": "2d ago", "dateTimeUtc": "2026-09-24T02:15:00Z"},
              "workArrangements": [{"id": "hybrid", "label": {"text": "Hybrid"}}]
            }],
            "pagination": {"resultCount": 1284}
          },
          "context": {"searchToken": "<search-token>"},
          "metadata": {"sol": "<sol-blob>"}
        }
      }
    }
  • Fetch job details

    POST /v1/jobs/details opendata

    Hydrates a single Jobstreet posting (content, salary, advertiser, classifications) plus company reviewsSummary and applicant-count insights for the job-details screen.

    Auth: Optional Auth0 Bearer access token from the Jobstreet account sign-in. Personalised blocks (appliedDateTime, candidateJobMatch, matchedSkills) require a signed-in viewer; visitorId is always sent.

    • jobDetails
    • jobId
    • title
    • status
    • isExpired
    • isLinkOut
    • content
    • salary
    • currencyLabel
    • workTypes
    • advertiser
    • location
    • classifications
    • companyProfile
    • reviewsSummary
    • overallRating
    • ApplicantCount
    • count
    • workArrangements
    • candidateJobMatch
    POST /v1/jobs/details HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operationName": "JobDetails",
      "variables": {
        "jobId": "87001234",
        "tracking": {},
        "zone": "asia-4",
        "locale": "en-ID",
        "languageCode": "en",
        "timezone": "Asia/Jakarta",
        "countryCode": "ID",
        "visitorId": "<visitor-uuid>",
        "channel": "JOB_DETAILS",
        "jobMatchAnalysisIsOn": true,
        "isContactsMaskingOn": false,
        "agentOnJdvInlineIsOn": false
      }
    }
    {
      "data": {
        "jobDetails": {
          "job": {
            "id": "87001234",
            "title": "Software Engineer",
            "status": "Active",
            "isExpired": false,
            "isLinkOut": false,
            "isVerified": true,
            "content": "<p>Build marketplace services.</p>",
            "listedAt": {"label": "2d ago", "dateTimeUtc": "2026-09-24T02:15:00Z"},
            "salary": {"label": "IDR 15,000,000 - 20,000,000", "currencyLabel": "IDR"},
            "workTypes": {"label": "Full time"},
            "advertiser": {"id": "adv-9001", "name": "Example Corp", "isVerified": true},
            "location": {"label": "Jakarta, Indonesia"},
            "classifications": {"label": "Information & Communication Technology"}
          },
          "companyProfile": {
            "id": "org-441",
            "name": "Example Corp",
            "reviewsSummary": {"overallRating": {"value": 3.8, "numberOfReviews": {"value": 214}}}
          },
          "insights": {"__typename": "ApplicantCount", "count": 42, "countLabel": "42 applicants"},
          "workArrangements": {"label": "Hybrid", "arrangements": [{"type": "hybrid", "label": "Hybrid"}]}
        }
      }
    }
  • Fetch signed-in candidate profile

    POST /v1/candidates/profile osint

    Loads the signed-in candidate record used by the Jobstreet profile tab: identity fields, career history, resumes, salaryPreferences2, rightsToWork and publicProfile.slug.

    Auth: Auth0 Bearer access token from the Jobstreet account sign-in (Authorization: Bearer). The Profile query is rooted at viewer (Candidate).

    • emailAddress
    • firstName
    • lastName
    • phoneNumber
    • countryCallingCode
    • currentLocation2
    • personalStatement
    • confirmedRoles
    • qualifications
    • skills2
    • resumes
    • fileMetadata
    • salaryPreferences2
    • rightsToWork
    • publicProfile
    • slug
    • searchImpressionCount
    • viewCount
    POST /v1/candidates/profile HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operationName": "Profile",
      "variables": {
        "locale": "en-ID",
        "countryCode": "ID",
        "languageCode": "en",
        "zone": "asia-4",
        "platform": "ANDROID",
        "source": "PROFILE",
        "timezone": "Asia/Jakarta"
      }
    }
    {
      "data": {
        "viewer": {
          "emailAddress": "[email protected]",
          "personalDetails": {
            "firstName": "Ada",
            "lastName": "Setiawan",
            "phoneNumber": "81234567890",
            "countryCallingCode": {"id": "ID", "countryCallingCode": "+62", "description": "Indonesia"}
          },
          "currentLocation2": {"id": "3000", "description": "Jakarta", "countryCode": "ID", "kind": "City"},
          "careerObjectives": {"personalStatement": "Backend engineer seeking hybrid roles."},
          "confirmedRoles": [{
            "id": "role-1",
            "title": {"text": "Software Engineer"},
            "company": {"text": "Example Corp"},
            "from": {"month": 3, "year": 2021},
            "to": null
          }],
          "skills2": [{"keyword": {"text": "Kotlin", "ontologyId": "sk-kotlin"}}],
          "resumes": [{
            "id": "resume-9",
            "isDefault": true,
            "fileMetadata": {"name": "ada-cv.pdf", "size": 184320, "virusScanStatus": "Clean", "uri": "https://cdn.example.com/ada-cv.pdf"}
          }],
          "salaryPreferences2": [{"amount": 18000000, "salaryType": "Monthly", "currencyCode": "IDR"}],
          "publicProfile": {"slug": "ada-setiawan", "url": "https://profiles.example.com/ada-setiawan"},
          "profileInsights2": {"searchImpressionCount": 128, "viewCount": 17}
        }
      }
    }
  • List applied jobs

    POST /v1/candidates/applications osint

    Pages the candidate's applied-jobs list with pipeline events (status, timestamp) and the related job title, advertiser and salary labels.

    Auth: Auth0 Bearer access token from the Jobstreet account sign-in. Rooted at viewer.appliedJobs.

    • appliedJobs
    • applicationRequestId
    • isExternal
    • isActive
    • isPreferredApplicationEligible
    • priorityApplyState
    • events
    • status
    • timestamp
    • job
    • title
    • advertiser
    • salary
    • currencyLabel
    POST /v1/candidates/applications HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operationName": "GetAppliedJobs",
      "variables": {
        "first": 20,
        "timezone": "Asia/Jakarta",
        "locale": "en-ID",
        "zone": "asia-4",
        "sortBy": "RECENT",
        "jobId": "87001234",
        "source": "APPLIED_JOBS",
        "selectedAnswerUris": [],
        "languageCode": "en"
      }
    }
    {
      "data": {
        "viewer": {
          "id": "cand-1001",
          "appliedJobs": {
            "edges": [{
              "node": {
                "id": "app-7788",
                "isExternal": false,
                "isActive": true,
                "isPreferredApplicationEligible": true,
                "applicationRequestId": "req-334",
                "priorityApplyState": {"state": "NotPrioritized"},
                "events": [{
                  "status": "Submitted",
                  "timestamp": {"dateTimeUtc": "2026-09-20T09:01:00Z", "shortAbsoluteLabel": "20 Sep"}
                }],
                "job": {
                  "id": "87001234",
                  "title": "Software Engineer",
                  "location": {"label": "Jakarta"},
                  "advertiser": {"id": "adv-9001", "name": "Example Corp"},
                  "salary": {"label": "IDR 15,000,000 - 20,000,000", "currencyLabel": "IDR"}
                }
              }
            }]
          }
        }
      }
    }
  • Submit job application

    POST /v1/applications/submit opendata

    Submits a Jobstreet application (jobId, personalDetails, resume, optional coverLetter and questionnaireAnswers) and returns applicationId or locale-specific errors.

    Auth: Auth0 Bearer access token from the Jobstreet account sign-in. Mutation submitApplication requires a signed-in candidate.

    • submitApplication
    • jobId
    • correlationId
    • personalDetails
    • profilePrivacyLevel
    • mostRecentRole
    • questionnaireAnswers
    • resume
    • coverLetter
    • selectionCriteria
    • applicationId
    • errors
    POST /v1/applications/submit HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operationName": "ApplySubmitApplication",
      "variables": {
        "input": {
          "jobId": "87001234",
          "correlationId": "<uuid>",
          "personalDetails": {"firstName": "Ada", "lastName": "Setiawan", "phoneNumber": "81234567890"},
          "profilePrivacyLevel": "Standard",
          "mostRecentRole": {"title": "Software Engineer", "company": "Example Corp"},
          "questionnaireAnswers": [],
          "resume": {"id": "resume-9"},
          "coverLetter": null,
          "selectionCriteria": null,
          "zone": "asia-4",
          "referenceCheck": null,
          "priorityApply": null
        },
        "locale": "en-ID"
      }
    }
    {
      "data": {
        "submitApplication": {
          "__typename": "SubmitApplicationSuccess",
          "applicationId": "app-7788"
        }
      }
    }
  • Search public profiles

    POST /v1/profiles/search osint

    Looks up Jobstreet public people profiles by searchQuery, market, roleTitles and locations, returning slug, name, homeLocation, workHistories and digitalIdentity verification flags.

    Auth: Optional Auth0 Bearer access token from the Jobstreet account sign-in. UnrestrictedPublicProfileSearchResult adds verifiedName and isOwnedByLoggedInUser when the viewer is signed in.

    • publicProfileSearch
    • searchQuery
    • market
    • roleTitles
    • companies
    • locations
    • exactMatches
    • partialMatches
    • slug
    • firstName
    • lastName
    • homeLocation
    • workHistories
    • companyName
    • roleTitle
    • hasVerifiedCredentials
    • digitalIdentity
    • verifiedName
    • isVerified
    • profileAvatarUrls
    POST /v1/profiles/search HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operationName": "PublicProfileSearch",
      "variables": {
        "input": {
          "searchQuery": "Ada Setiawan",
          "market": "asia-4",
          "roleTitles": ["Software Engineer"],
          "companies": [],
          "locations": {"ids": ["3000"]},
          "pageNumber": 1,
          "pageSize": 20,
          "visitorId": "<visitor-uuid>"
        },
        "locale": "en-ID"
      }
    }
    {
      "data": {
        "publicProfileSearch": {
          "exactMatches": [{
            "node": {
              "__typename": "UnrestrictedPublicProfileSearchResult",
              "slug": "ada-setiawan",
              "firstName": "Ada",
              "lastName": "Setiawan",
              "homeLocation": {"label": "Jakarta"},
              "workHistories": [{"companyName": "Example Corp", "roleTitle": "Software Engineer"}],
              "hasVerifiedCredentials": true,
              "digitalIdentity": {"verifiedName": "Ada Setiawan", "isVerified": true},
              "isOwnedByLoggedInUser": false,
              "profileAvatarUrls": {"image512Url": "https://cdn.example.com/ada-512.png"}
            }
          }],
          "partialMatches": [],
          "serviceToken": "<sol-token>"
        }
      }
    }

Data categories

  • job listings
  • job details
  • candidate profiles
  • applications
  • public people search
  • company reviews

Where teams use this data

  • SEA job-market pulse

    Nightly JobSearchV7 pulls for Jakarta (or other asia-4 locations) yield title, advertiser, salary displayValue, currency, workTypes and workArrangements so a labour-market dashboard can track hiring volume and advertised pay bands without scraping HTML.

  • Candidate CRM enrichment

    A recruiting CRM can call publicProfileSearch with searchQuery plus roleTitles, then join slug, firstName, lastName, homeLocation, workHistories and hasVerifiedCredentials onto outbound prospect records.

  • Application-pipeline audit

    HR ops bots can page GetAppliedJobs for events.status / timestamp and the related job title and advertiser, then reconcile SubmitApplicationSuccess.applicationId against an ATS so dropped applications surface the same day.

  • Employer review overlay

    JobDetails.companyProfile.reviewsSummary.overallRating and ApplicantCount insights can be joined onto a posting id so career-site widgets show review scores and applicant volume next to the same job the mobile app shows.

Frequently asked questions

Where does the Jobstreet Android app load job listings from?

Search results come from POST /v1/search/jobs. The request carries the search keywords and location plus a search context (brand, channel, sessionId, solVisitorId) and the viewer's locale and timezone. Each hit carries id, title, advertiser.name, salary.displayValue and workArrangements.

What candidate fields does the profile endpoint return?

POST /v1/candidates/profile returns the signed-in viewer's record: emailAddress, personalDetails (firstName, lastName, phoneNumber), currentLocation2, confirmedRoles, qualifications, skills2, resumes.fileMetadata, salaryPreferences2, rightsToWork, publicProfile.slug and profileInsights2 view counts.

How are Jobstreet applications submitted and tracked?

POST /v1/applications/submit sends the application input (jobId, personalDetails, resume, questionnaireAnswers) and returns applicationId on success. POST /v1/candidates/applications then pages the applied-jobs list with events.status, timestamp and the related job title and advertiser.

Can you look up people on Jobstreet without an employee ATS export?

Yes. POST /v1/profiles/search takes a search query plus market, role titles and locations and returns exact and partial matches with slug, firstName, lastName, homeLocation, workHistories and a digitalIdentity verification flag.

Apps similar to Jobstreet: Smart job matching

  • Glints: Jobs Search & Career — Glints is a Southeast Asian job platform used by young professionals and startup seekers in Indonesia and Singapore, with one-tap applications and in-app skill courses.
  • LinkedIn: Community & Network — LinkedIn is a professional network with a job board used across Southeast Asia for profile-based suggestions, recruiter outreach, and mid-to-senior vacancies.
  • Indeed Job Search — Indeed is a job-search engine that aggregates vacancies from many sources so seekers can filter by keyword and place, post a resume, and read company feedback with pay details.
  • Kalibrr — Kalibrr is a Philippine-founded job-matching platform that opened in Indonesia in 2016, pairing candidates with roles through profile matching and skills assessments.
  • KitaLulus — KitaLulus is an Indonesian job-search app with a built-in CV maker, filters for intern, part-time and full-time listings, and direct recruiter contact via WhatsApp.
  • Pintarnya Job Search from Home — Pintarnya is an Indonesian job-search app aimed at vocational and field workers, with verified listings, a CV maker, and Auto Apply for matching vacancies.

Topics

  • jobstreet data api
  • jobstreet job search
  • candidate profile fields
  • public profile search
  • applied jobs tracking
  • jobstreet indonesia

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

Get a quote