Glassdoor Jobs API Documentation | Glassdoor

Glassdoor uses cookies to improve your site experience. By continuing, you agree to our use of cookies. OK | Learn More

Glassdoor data helps people everywhere find jobs they love. Check out our public API.

Jobs Actions

The jobs actions are used to search for jobs. There are 3 actions currently supported:

  • Jobs Stats: Aggregate jobs data by state, county, or city.
  • Job Progression: Given a job title, what other jobs did a person in that job go on to take?

Glassdoor has additional Jobs APIs that are not provided publicly, but are available to our API partners. If you're interested in becoming an API partner, please contact us.

Attribution

You must use the following attribution when displaying Glassdoor's API results. Copy the code below and paste it near the results on your web page:

powered by

Jobs Stats

A jobs stats request must specify "jobs-stats" for the action parameter in addition to the other required parameters, and then can optionally scope the search using the parameters below. A typical call will look like this:

http://api.glassdoor.com/api/api.htm?t.p=5317&t.k=n07aR34Lk3Y&userip=0.0.0.0&useragent=&format=json&v=1&action=jobs-stats&returnStates=true&admLevelRequested=1

Parameters

ParameterExplanationRequired?
vThe API version. The current version is 1 except for jobs, which is currently version 1.1Yes
formatEither xml or json as you preferYes
t.pYour partner id, as assigned by GlassdoorYes
t.kYour partner key, as assigned by GlassdoorYes
useripThe IP address of the end user to whom the API results will be shownYes
useragentThe User-Agent (browser) of the end user to whom the API results will be shown. Note that you can can obtain this from the "User-Agent" HTTP request header from the end-userYes
callbackIf json is the requested format, you may specify a jsonp callback here, allowing you to make cross-domain calls to the glassdoor API from your client-side javascript. See the JSONP wikipedia entry for more information on jsonp.No
actionMust be set to jobs-statsYes
qQuery phrase to search for - can be any combination of employer or occupation, but location should be in l param.No
eScope the search to a specific employer by specifying the name here.No
lScope the search to a specific location by specifying it here - city, state, or country.No
cityScope the search to a specific city by specifying it here.No
stateScope the search to a specific state by specifying it here.No
countryScope the search to a specific country by specifying it here.No
fromAgeScope the search to jobs that are less than X days old (-1 = show all jobs (default), 1 = 1 day old, 7 = 1 week old, 14 = 2 weeks old, etc.)No
jobTypeScope the search to certain job types. Valid values are all (default), fulltime, parttime, internship, contract, internship, temporaryNo
minRatingScope the search to jobs of companies with rating >= minRating (0 = returns all (default), 1 = more than 1 star, 2 = more than 2 stars, 3 = more than 3 stars, 4 = more than 4 stars)No
radiusScope the search to jobs within a certain radius, in miles, of the location specified.No
jtScope the search to a specific job title by specifying it here.No
jcJob category id to scope the search to - see the Job Category table below - note you must pass the id. This can be a comma separated list of ids if you desire to select more than one category.No
returnCitiesResults will include geographical data (job counts) broken down by city.No
returnStatesResults will include geographical data (job counts, score) broken down by the type of geographical district specified in parameter admLevelRequested.No
returnJobTitlesResults will include job data broken down by job title.No
returnEmployersResults will include job data broken down by employer.No
admLevelRequestedGeographic district type requested when returnStates is true (1 = states, 2 = counties)No

Response Structure

A typical jobs-stats json response will look like this:

{
  "success": true,
  "status": "OK",y
  "response": {
    "countReturned": 55,
    "states": {
      "South Carolina": {
        "numJobs": 5909,
        "name": "South Carolina",
        "id": 3411,
        "score": 0.8195474282138835,
        "latitude": 33.985115,
        "longitude": -80.96936
      },
      "Rhode Island": {
        "numJobs": 1583,
        "name": "Rhode Island",
        "id": 3156,
        "score": 0.7035888828477,
        "latitude": 41.675617,
        "longitude": -71.503815
      },
      "Federated States of Micronesia": {
        "numJobs": 12,
        "name": "Federated States of Micronesia",
        "id": 1229,
        "score": 0.33640849865517797,
        "latitude": "",
        "longitude": ""
      }
    }
  }
}

Job Categories - jc parameter

IdJob Category
1Accounting / Finance
2Administrative
3Analyst
4Architecture / Drafting
5Art / Design / Entertainment
6Banking / Loan / Insurance
7Beauty / Wellness
8Business Development / Consulting
9Education
10Engineering (Non-software)
11 Facilities / General Labor
12Hospitality
13 Human Resources
14Installation / Maintenance / Repair
15Legal
16Manufacturing / Production / Construction
17Marketing / Advertising / PR
IdJob Category
18Medical / Healthcare
19Non-Profit / Volunteering
20Product / Project Management
21Real Estate
22Restaurant / Food Services
23Retail
24Sales / Customer Care
25Science / Research
26Security / Law Enforcement
27Senior Management
28Skilled Trade
29Software Development / IT
30Sports / Fitness
31Travel / Transportation
32Writing / Editing / Publishing
33Other

Job Progression

A job progression request must specify "jobs-prog" for the action parameter in addition to the other required parameters, as well as specify a required country id (1=US is the only country supported right now), and a job title. The API will then return the typical jobs that a person in that job would typically go on to take. A typical call will look like this:

http://api.glassdoor.com/api/api.htm?t.p=5317&t.k=n07aR34Lk3Y&userip=0.0.0.0&useragent=&format=json&v=1&action=jobs-prog&countryId=1&jobTitle=cashier

Parameters

ParameterExplanationRequired?
vThe API version. The current version is 1 except for jobs, which is currently version 1.1Yes
formatEither xml or json as you preferYes
t.pYour partner id, as assigned by GlassdoorYes
t.kYour partner key, as assigned by GlassdoorYes
useripThe IP address of the end user to whom the API results will be shownYes
useragentThe User-Agent (browser) of the end user to whom the API results will be shown. Note that you can can obtain this from the "User-Agent" HTTP request header from the end-userYes
callbackIf json is the requested format, you may specify a jsonp callback here, allowing you to make cross-domain calls to the glassdoor API from your client-side javascript. See the JSONP wikipedia entry for more information on jsonp.No
actionMust be set to jobs-progYes
jobTitleJob Title - the job title to get related jobs forYes
countryIdCountry Id - only 1 (US) is supported right now.Yes

Response Structure

A typical jobs-prog json response will look like this:

{
  "success": true,
  "status": "OK",
  "response": {"results": [
    {
      "nextJobTitle": "sales associate",
      "frequency": 1656,
      "frequencyPercent": 22.660098522167488,
      "nationalJobCount": 110075,
      "medianSalary": 0
    },
    {
      "nextJobTitle": "project manager",
      "frequency": 1283,
      "frequencyPercent": 17.556102900930487,
      "nationalJobCount": 68724,
      "medianSalary": 0
    },
    {
      "nextJobTitle": "store manager",
      "frequency": 1173,
      "frequencyPercent": 16.050903119868636,
      "nationalJobCount": 82770,
      "medianSalary": 0
    },
    {
      "nextJobTitle": "receptionist",
      "frequency": 964,
      "frequencyPercent": 13.191023535851121,
      "nationalJobCount": 51747,
      "medianSalary": 0
    }
  ]}
}