Glassdoor | Jobs & Careers icon

Glassdoor data API: jobs, reviews and salaries

Glassdoor, LLC (Recruit Holdings) · Jobs & Careers

Glassdoor | Jobs & Careers is the Android app from Glassdoor, LLC, the San Francisco-based jobs and workplace-transparency site founded in 2007 and owned since 2018 by Japan's Recruit Holdings, which also owns Indeed. It brings job search, anonymous employer reviews, salary estimates and Bowls — the professional community that grew out of Glassdoor's 2021 purchase of Fishbowl — into one app. The Jobs tab searches openings by keyword and location; each card shows an estimated pay range, the employer's star rating, Easy Apply and sponsored labels and a save button, and any search can become an emailed job alert. A job's detail screen adds the full description, remote or hybrid work type, a company overview (headquarters, size, revenue, year founded and ratings) and an office map. Company pages collect employee reviews scored for overall rating, culture and values, compensation and benefits, work-life balance and whether the reviewer would recommend the employer to a friend, each with pros, cons, advice to management, helpful votes and any employer response, while the salary screens break pay for a job title at an employer and city into base pay, cash bonus, stock and total compensation. Members sign in with email and a multi-factor verification code or with an Indeed account, and keep a Me-tab profile with their job title, employer, location and employment status. The app serves job seekers, employees and employers in the United States and India: candidates compare pay and culture before applying, employees check whether they are paid fairly, and employers watch their reputation. It competes with LinkedIn and ZipRecruiter for job search, and with Levels.fyi, Blind, Comparably and, in India, AmbitionBox for pay and workplace insight.

Pay percentiles anchor the app's job and salary records. A salary estimate for one employer, job title and queryLocation returns basePayStatistics, cashBonusStatistics, stockBonusStatistics, totalAdditionalPayStatistics and totalPayStatistics, each a list of percentiles given as ident/value pairs in a stated currency and payPeriod, together with the salaryCount it rests on, a confidence level, yearsOfExperience, and the estimateSourceName and estimateSourceVersion that label where the estimate came from. Job-search results carry the same kind of band: each row keyed by listingId pairs jobTitleText and normalizedJobTitle, the employer, locationName and jobCountryId with a payPeriodAdjustedPay range of p10/p50/p90 in payCurrency, the salarySource behind it, the employer rating, ageInDays, and easyApply, isSponsoredJob, applied and expired flags, while totalJobsCount and paginationCursors page through an entire search.

Opening a listing adds the full description, remoteWorkTypes and applyUrl, an employer profile — headquarters, size, revenue, website, yearFounded, overallRating and compensationAndBenefitsRating — and a geocoded address with lat/lng. Employee reviews arrive as paged rows keyed by reviewId, each with reviewDateTime, a headline summary, the reviewer's jobTitle, isCurrentJob and lengthOfEmployment, a ratingOverall score with ratingCultureAndValues, ratingCompensationAndBenefits, ratingWorkLifeBalance and ratingRecommendToFriend sub-scores, free-text pros, cons and advice, a featured flag, countHelpful votes and hasEmployerResponse; filteredReviewsCount and numberOfPages size the full set for an employer. The signed-in member record holds firstName, lastName, emailAddress, a public handle, employmentStatus, userEnteredJobTitle, employer, userEnteredLocation, a jobSeekerProfile link and an isSourcingEnabled flag.

Compensation teams and HR tools benchmark internal pay bands against basePayStatistics and totalPayStatistics P10/P50/P90 for a given employer, job title and city. Comms teams track employer brand across ratingOverall and the culture and compensation sub-scores, and alert when countHelpful climbs on a new review. Workforce-analytics platforms ingest search results with their pay bands, sponsorship and Easy Apply flags, then pull descriptions, remote-work types and coordinates to map hiring demand city by city. ATS connectors prefill a seeker record from the member profile — email, handle, job title, employer and location — after sign-in rather than scraping the public site. openData Studio turns these Glassdoor salary, job and review records into callable open data.

Screenshots

  • Glassdoor | Jobs & Careers screenshot 1
  • Glassdoor | Jobs & Careers screenshot 2
  • Glassdoor | Jobs & Careers screenshot 3
  • Glassdoor | Jobs & Careers screenshot 4
  • Glassdoor | Jobs & Careers screenshot 5

API surface

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

  • Create member session (username-password sign-in)

    POST /v1/auth/member-login osint

    Signs the member in with username/password (optional captcha) and returns MFA challenge state — activeMfaMethod, mfaStateId, phoneSuffix, resultType — before the job, review and salary calls.

    Auth: Unauthenticated form sign-in. Subsequent calls attach a session token header plus a mirrored CSRF token header, a mobile-client flag and a client timezone header.

    • username
    • password
    • captchaResponse
    • emailOptOut
    • isCaptchaVisible
    • postLoginUrl
    • activeMfaMethod
    • mfaStateId
    • phoneSuffix
    • resultType
    POST /v1/auth/member-login HTTP/1.1
    Content-Type: application/json
    X-Mobile-Client: android
    X-Client-Timezone: America/Los_Angeles
    
    {
      "username": "[email protected]",
      "password": "******",
      "captchaResponse": "",
      "emailOptOut": false,
      "isCaptchaVisible": false,
      "postLoginUrl": "/"
    }
    {
      "activeMfaMethod": "SMS",
      "mfaStateId": "mfa-7c2e91ab",
      "phoneSuffix": "0100",
      "resultType": "MFA_REQUIRED"
    }
  • Search job listings

    POST /v1/jobs/search opendata

    Runs the Jobs tab search (keyword + location) and returns listingId, employer, location, pay-period-adjusted p10/p50/p90 pay, rating, Easy Apply flags and pagination cursors.

    Auth: Session token header plus a mirrored CSRF token header, a mobile-client flag and a client timezone header.

    • listingId
    • jobTitleText
    • adOrderId
    • ageInDays
    • applied
    • easyApply
    • expired
    • locId
    • locationName
    • normalizedJobTitle
    • employer
    • payPeriod
    • payPeriodAdjustedPay
    • p90
    • p50
    • p10
    • rating
    • salarySource
    • savedJobId
    • isSponsoredJob
    • payCurrency
    • jobViewUrl
    • jobCountryId
    • paginationCursors
    • totalJobsCount
    POST /v1/jobs/search HTTP/1.1
    Content-Type: application/json
    X-Session-Token: <session-token>
    X-CSRF-Token: <csrf-token>
    X-Mobile-Client: android
    X-Client-Timezone: America/Los_Angeles
    
    {
      "keyword": "Product Manager",
      "locationId": 1147401,
      "locationType": "C",
      "pageSize": 25
    }
    {
      "jobListings": [{
        "listingId": 1004123456,
        "jobTitleText": "Staff Product Manager",
        "locationName": "San Francisco, CA",
        "normalizedJobTitle": "product manager",
        "employer": {"id": 40772, "name": "Example Corp"},
        "payPeriod": "ANNUAL",
        "payPeriodAdjustedPay": {"p90": 245000, "p50": 198000, "p10": 162000},
        "rating": 4.2,
        "salarySource": "EMPLOYER",
        "easyApply": true,
        "isSponsoredJob": true,
        "payCurrency": "USD"
      }],
      "paginationCursors": [{"cursor": "eyJwIjoxfQ==", "pageNumber": 2}],
      "totalJobsCount": 1284
    }
  • Fetch job listing details

    POST /v1/jobs/detail opendata

    Loads the job-details screen for a listingId: description, Easy Apply URL, employer ratings, pay percentiles, remote-work types and map lat/lng.

    Auth: Session token header plus a mirrored CSRF token header, a mobile-client flag and a client timezone header.

    • listingId
    • description
    • jobTitleId
    • applyUrl
    • easyApply
    • employer
    • jobTitleText
    • locationName
    • payPeriodAdjustedPay
    • rating
    • remoteWorkTypes
    • savedJobId
    • headquarters
    • revenue
    • size
    • website
    • yearFounded
    • overallRating
    • compensationAndBenefitsRating
    • address
    • lat
    • lng
    POST /v1/jobs/detail HTTP/1.1
    Content-Type: application/json
    X-Session-Token: <session-token>
    X-CSRF-Token: <csrf-token>
    X-Mobile-Client: android
    
    {
      "listingId": 1004123456
    }
    {
      "listingId": 1004123456,
      "jobTitleText": "Staff Product Manager",
      "description": "Lead the identity platform.",
      "applyUrl": "https://example.com/apply/1004123456",
      "easyApply": true,
      "locationName": "San Francisco, CA",
      "employer": {"id": 40772, "name": "Example Corp"},
      "payPeriodAdjustedPay": {"p90": 245000, "p50": 198000, "p10": 162000},
      "rating": 4.2,
      "remoteWorkTypes": ["HYBRID"],
      "savedJobId": 0,
      "overview": {
        "headquarters": "San Francisco, CA",
        "revenue": "$1 to $5 billion (USD)",
        "size": "1001 to 5000 Employees",
        "website": "https://example.com",
        "yearFounded": 2008,
        "overallRating": 4.2,
        "compensationAndBenefitsRating": 4.1
      },
      "map": {"address": "1 Market St", "lat": 37.7936, "lng": -122.395}
    }
  • Fetch signed-in member profile

    POST /v1/members/profile osint

    Returns the signed-in profile record the Me tab hangs off: name, emailAddress, public handle, employer, job title, location and job-seeker profile id.

    Auth: Signed-in session: session token header and mirrored CSRF token header from sign-in, plus a mobile-client flag.

    • firstName
    • lastName
    • emailAddress
    • handle
    • employmentStatus
    • profilePhotoRelativeUrl
    • agreedToArbitration
    • isSourcingEnabled
    • jobTitleId
    • userEnteredJobTitle
    • employer
    • overallRating
    • locationId
    • userEnteredLocation
    • jobSeekerProfile
    • isRedesignProfile
    POST /v1/members/profile HTTP/1.1
    Content-Type: application/json
    X-Session-Token: <session-token>
    X-CSRF-Token: <csrf-token>
    X-Mobile-Client: android
    
    {
      "bypassCache": false
    }
    {
      "firstName": "Alex",
      "lastName": "Rivera",
      "emailAddress": "[email protected]",
      "handle": "alex-rivera",
      "employmentStatus": "EMPLOYED",
      "profilePhotoRelativeUrl": "/photo/u/alex.png",
      "agreedToArbitration": true,
      "isSourcingEnabled": true,
      "jobTitle": {"jobTitleId": 3001, "userEnteredJobTitle": "Product Manager"},
      "employer": {"id": 40772, "name": "Example Corp", "overallRating": 4.2},
      "location": {"locationId": 1147401, "userEnteredLocation": "San Francisco, CA"},
      "jobSeekerProfile": {"id": "jsp-4412", "isRedesignProfile": true}
    }
  • Fetch employer reviews

    POST /v1/employers/reviews opendata

    Pages the employer-reviews tab: reviewId, star ratings (overall, culture, compensation, work-life), pros/cons/advice text, current-job flag and helpful-vote count.

    Auth: Session token header plus a mirrored CSRF token header and a mobile-client flag. Anonymous browse is possible; signed-in sessions unlock extra filters.

    • filteredReviewsCount
    • numberOfPages
    • reviewId
    • featured
    • reviewDateTime
    • summary
    • isCurrentJob
    • lengthOfEmployment
    • ratingOverall
    • ratingRecommendToFriend
    • ratingCompensationAndBenefits
    • ratingCultureAndValues
    • ratingWorkLifeBalance
    • pros
    • cons
    • advice
    • countHelpful
    • hasEmployerResponse
    • jobTitle
    POST /v1/employers/reviews HTTP/1.1
    Content-Type: application/json
    X-Session-Token: <session-token>
    X-CSRF-Token: <csrf-token>
    X-Mobile-Client: android
    
    {
      "employerId": 40772,
      "page": 1,
      "pageSize": 10,
      "sort": "DATE",
      "onlyCurrentEmployees": false
    }
    {
      "filteredReviewsCount": 12840,
      "numberOfPages": 1284,
      "reviews": [{
        "reviewId": 9123456,
        "featured": false,
        "reviewDateTime": "2026-08-12T16:40:00Z",
        "summary": "Solid engineering culture",
        "isCurrentJob": true,
        "lengthOfEmployment": 3,
        "ratingOverall": 4,
        "ratingRecommendToFriend": 1,
        "ratingCompensationAndBenefits": 4,
        "ratingCultureAndValues": 5,
        "ratingWorkLifeBalance": 4,
        "pros": "Pay, flexibility, smart teammates",
        "cons": "Slow promotion cycles",
        "advice": "Invest in manager training",
        "countHelpful": 42,
        "hasEmployerResponse": true,
        "jobTitle": {"text": "Product Manager"}
      }]
    }
  • Fetch salary estimates

    POST /v1/salaries/estimates opendata

    Returns aggregated salary estimates for an employer + job title + location: base / bonus / stock / total-pay percentile statistics and salaryCount used by the salary-details screen.

    Auth: Session token header plus a mirrored CSRF token header and a mobile-client flag.

    • estimateSourceName
    • estimateSourceVersion
    • salaryCount
    • queryLocation
    • confidence
    • currency
    • payPeriod
    • basePayStatistics
    • cashBonusStatistics
    • stockBonusStatistics
    • totalAdditionalPayStatistics
    • totalPayStatistics
    • percentiles
    • ident
    • value
    • yearsOfExperience
    POST /v1/salaries/estimates HTTP/1.1
    Content-Type: application/json
    X-Session-Token: <session-token>
    X-CSRF-Token: <csrf-token>
    X-Mobile-Client: android
    
    {
      "employerId": 40772,
      "jobTitle": "Product Manager",
      "jobTitleId": 3001,
      "cityId": 1147401,
      "countryId": 1,
      "yearsOfExperience": "THREE_TO_FIVE"
    }
    {
      "estimateSourceName": "AGGREGATED",
      "estimateSourceVersion": "2026.09",
      "salaryCount": 186,
      "queryLocation": {"id": 1147401, "name": "San Francisco, CA"},
      "results": [{
        "confidence": "HIGH",
        "currency": {"code": "USD"},
        "payPeriod": "ANNUAL",
        "basePayStatistics": {"percentiles": [{"ident": "P10", "value": 162000}, {"ident": "P50", "value": 198000}, {"ident": "P90", "value": 245000}]},
        "cashBonusStatistics": {"percentiles": [{"ident": "P50", "value": 18000}]},
        "stockBonusStatistics": {"percentiles": [{"ident": "P50", "value": 32000}]},
        "totalAdditionalPayStatistics": {"percentiles": [{"ident": "P50", "value": 50000}]},
        "totalPayStatistics": {"percentiles": [{"ident": "P10", "value": 185000}, {"ident": "P50", "value": 248000}, {"ident": "P90", "value": 310000}]},
        "yearsOfExperience": "THREE_TO_FIVE"
      }]
    }

Data categories

  • job listings
  • employer reviews
  • salary estimates
  • member profiles
  • authentication

Where teams use this data

  • Compensation benchmarking

    HR and recruiting tools pull aggregatedSalaryEstimates for an employerId + jobTitle + cityId and chart basePayStatistics / totalPayStatistics P10/P50/P90 against internal bands.

  • Employer-brand monitoring

    Comms teams page EmployerReviewsData for ratingOverall, ratingCultureAndValues, ratingCompensationAndBenefits, pros and cons, then alert when countHelpful spikes on a new reviewId.

  • Job-market intelligence

    Workforce analytics ingest JobsSearchAndroid listingId rows with payPeriodAdjustedPay, isSponsoredJob and easyApply, then open JobDetailsAndroid for description, remoteWorkTypes and map lat/lng.

  • Candidate-profile enrichment

    ATS connectors read ProfileByUserId (emailAddress, handle, jobTitle, employer, location) after HubFree login to prefill a seeker record without scraping the public site.

Frequently asked questions

What does the Glassdoor data API cover?

Six call groups: username-password sign-in at /v1/auth/member-login, job search at /v1/jobs/search, job detail at /v1/jobs/detail, paged employer reviews at /v1/employers/reviews, aggregated salary estimates at /v1/salaries/estimates, and the signed-in member profile at /v1/members/profile.

How does the app authenticate those endpoints?

A username-password sign-in returns MFA state (activeMfaMethod, mfaStateId, phoneSuffix) before a session is issued. Authenticated calls then send a session token header together with a mirrored CSRF token header, a mobile-client flag and a client timezone header.

Which job and salary fields are on the wire?

Job search and detail return listingId, jobTitleText, employer, locationName and payPeriodAdjustedPay p10/p50/p90 percentiles, plus easyApply, isSponsoredJob and remoteWorkTypes. Salary estimates return basePayStatistics, cashBonusStatistics, stockBonusStatistics and totalPayStatistics percentiles with salaryCount and a confidence rating.

What employer-review and profile fields are exposed?

Employer reviews return reviewId, ratingOverall, ratingCompensationAndBenefits, ratingCultureAndValues, ratingWorkLifeBalance, pros, cons, advice and countHelpful. The member profile returns firstName, lastName, emailAddress, handle, employmentStatus, job title, employer and location.

Apps similar to Glassdoor | Jobs & Careers

  • Indeed — Indeed is a high-volume job aggregator that also publishes company reviews, salary estimates and interview write-ups alongside listings.
  • LinkedIn — LinkedIn is a business networking service used for recruiter sourcing, company pages and professional job listings.
  • Comparably — Comparably publishes structured culture scores, diversity ratings, CEO ratings and compensation metrics rather than free-form review essays.
  • Levels.fyi — Levels.fyi collects detailed tech total-compensation breakdowns by company, level and location, including equity and bonus.
  • Blind — Blind is an anonymous community where verified employees discuss workplace culture, salaries, layoffs and company news.
  • AmbitionBox — AmbitionBox is an India-focused site for workplace reviews, salaries and interview experiences at local employers and startups.
  • ZipRecruiter — ZipRecruiter is a job-search engine that matches candidates to openings hiring in their area.

Topics

  • glassdoor api
  • glassdoor data api
  • job listings api
  • employer reviews api
  • salary estimates api
  • payPeriodAdjustedPay
  • ratingOverall
  • glassdoor profile api
  • job search api
  • salary percentiles

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