Job postings and employer data API

These records come from Indeed and Glassdoor. Each item comes back as one JSON record, with the field names its source uses. Together they return review, job, and employer records. Indeed covers 51 country sites.

Sources
2
Record types
3
From
$4.30 per 1,000 records
The fields jobs and hiring records carry, over a jobs and hiring scene. The photograph is illustrative.

On every source here: title company location description language

Which source returns which field: 6 field names across 2 sources
Which source returns which field, read from the records documented for each. A field shown as present can still be null on an item it does not apply to.
FieldIndeedGlassdoor
titletitle title
companycompany employerName
locationlocation location
salarysalary not on these records
descriptiondescription description
languagelanguage language

Sources

  • Indeed

    Job postings, full job descriptions and employer profiles, as JSON records.

    • job

    65 documented fields. From $4.30 per 1,000 records.

    51 country sites

  • Glassdoor

    Employee reviews and employer profiles, as JSON records.

    • review
    • employer

    40 documented fields. From $4.30 per 1,000 records.

Record types by source

Each cell links to the field table for that record type on that source.

Record typeIndeedGlassdoor
reviewNot returned21 fields
job65 fieldsNot returned
employerNot returned21 fields

Shared field names

Four field names are returned by all two sources. Field names that at least two sources return are below. A shared name does not mean the same content: each source page says what its field holds. Every other field belongs to one source only.

FieldIndeedGlassdoor
descriptionYesYes
languageYesYes
locationYesYes
titleYesYes

Prices by record type

The lowest and highest price per 1,000 records for each record type across these sources. Each source page lists every billed event.

Record typeSourcesPer 1,000 records
reviewGlassdoor$4.30
jobIndeed$4.30 to $5.25
employerGlassdoor$4.30

Example request

A request to Indeed. The Indeed page shows the record it returns.

curl

curl -X POST https://api.urakimon.com/records/indeed \
  -H "x-api-key: $URAKIMON_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "searchQueries": ["software engineer"],
    "location": "New York, NY",
    "country": "US",
    "maxItemsPerInput": 25,
    "sortBy": "date",
    "fetchJobDetails": true
  }'

Python

import os
import requests

res = requests.post(
    "https://api.urakimon.com/records/indeed",
    headers={"x-api-key": os.environ["URAKIMON_API_KEY"]},
    json={
        "searchQueries": [
            "software engineer"
        ],
        "location": "New York, NY",
        "country": "US",
        "maxItemsPerInput": 25,
        "sortBy": "date",
        "fetchJobDetails": True
    },
)
res.raise_for_status()
records = res.json()["records"]

Node

const res = await fetch("https://api.urakimon.com/records/indeed", {
  method: "POST",
  headers: {
    "x-api-key": process.env.URAKIMON_API_KEY,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "searchQueries": ["software engineer"],
    "location": "New York, NY",
    "country": "US",
    "maxItemsPerInput": 25,
    "sortBy": "date",
    "fetchJobDetails": true
  }),
});
const { records } = await res.json();

More data