Glassdoor scraper API: search results as JSON
Send any Glassdoor page URL with recipe=glassdoor and get title, location, salary and 3 more fields as JSON. No selectors to write, no proxies to pick.
- 1 page type
- 6 fields
- 5 credits a page · $0.50 per 1,000
- Mostly working · 77.1% in 7 days
5,000 free credits for 7 days, no card.
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://www.glassdoor.com/Job/jobs.htm?sc.keyword=data+engineer' \
--data-urlencode 'recipe=glassdoor'
{
"result": {
"jobs": [
{
"title": "Principal Data Platform Engineer",
"location": "Mount Horeb, WI",
"salary": "$160K - $185K (Employer provided)"
}
]
},
"success": true
}
What you get from Glassdoor
The fields of each page type and a real sample from our last validation, shortened.
Search and listing pages recipe=glassdoor 5 credits a page
| Field | Type | Example |
|---|---|---|
jobs | list of 3+ items | |
jobs[].url | URL | https://www.glassdoor.com/job-listing/principal-data-platform-engin... |
jobs[].title | text | Principal Data Platform Engineer |
jobs[].image | image URL | https://media.glassdoor.com/sql/464641/duluth-trading-company-squar... |
jobs[].location | text | Mount Horeb, WI |
jobs[].salary | text | $160K - $185K (Employer provided) |
item_list | list of 3+ items | |
item_list[].name | text | Principal Data Platform Engineer |
item_list[].url | URL | https://www.glassdoor.com/job-listing/principal-data-platform-engin... |
Sample answer, validated 2026-11-13
{
"jobs": [
{
"url": "https://www.glassdoor.com/job-listing/principal-data-platform-engineer-duluth-trading-company-JV_IC1133477_KO0,32_KE33,55.htm?jl=1010289898899",
"title": "Principal Data Platform Engineer",
"image": "https://media.glassdoor.com/sql/464641/duluth-trading-company-squareLogo-1652724147380.png",
"location": "Mount Horeb, WI",
"salary": "$160K - $185K (Employer provided)"
},
{
"url": "https://www.glassdoor.com/job-listing/data-warehouse-developer-data-warehouse-engineer-data-engineer-cleveland-steel-container-JV_IC1145543_KO0,62_KE63,88.ht...",
"title": "Data Warehouse Developer (Data Warehouse Engineer, Data Engineer)",
"image": "https://media.glassdoor.com/sql/767467/cleveland-steel-container-squarelogo-1575384826045.png",
"location": "Hudson, OH",
"salary": "$80K - $103K (Glassdoor est.)"
}
],
"item_list": [
{
"name": "Principal Data Platform Engineer",
"url": "https://www.glassdoor.com/job-listing/principal-data-platform-engineer-duluth-trading-company-JV_IC1133477_KO0,32_KE33,55.htm?jl=1010289898899"
},
{
"name": "Data Center and Network Hands & Eyes Engineer",
"url": "https://www.glassdoor.com/job-listing/data-center-and-network-hands-eyes-engineer-splicegroup-usa-JV_IC1154545_KO0,43_KE44,59.htm?jl=1010316686785"
}
]
}
One call
Send the page URL and the recipe name to the Scrape API. The recipe brings the extract rules and the settings that work on Glassdoor (JavaScript rendering).
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://www.glassdoor.com/Job/jobs.htm?sc.keyword=data+engineer' \
--data-urlencode 'recipe=glassdoor'
import os, requests
r = requests.get(
"https://api.ujeebu.com/scrape",
params={"url": "https://www.glassdoor.com/Job/jobs.htm?sc.keyword=data+engineer", "recipe": "glassdoor"},
headers={"ApiKey": os.environ["UJEEBU_API_KEY"]},
timeout=120,
)
for item in r.json()["result"]["jobs"][:3]:
print(item["title"], item["location"], item["salary"])
# Example output:
# Principal Data Platform Engineer Mount Horeb, WI $160K - $185K (Employer provided)
# Data Warehouse Developer (Data Wareho... Hudson, OH $80K - $103K (Glassdoor est.)
const params = new URLSearchParams({
url: "https://www.glassdoor.com/Job/jobs.htm?sc.keyword=data+engineer",
recipe: "glassdoor",
});
const res = await fetch(`https://api.ujeebu.com/scrape?${params}`, {
headers: { ApiKey: process.env.UJEEBU_API_KEY },
});
const { result } = await res.json();
for (const item of result.jobs.slice(0, 3)) {
console.log(item.title, item.location, item.salary);
}
// Example output:
// Principal Data Platform Engineer Mount Horeb, WI $160K - $185K (Employer provided)
// Data Warehouse Developer (Data Wareho... Hudson, OH $80K - $103K (Glassdoor est.)
The answer is {"result": {...}} with the headers Ujb-Recipe and Ujb-Credits. Your own parameters always win over the recipe.
Search Glassdoor with parameters
One call, no URL: send recipe=glassdoor/search with the parameters below. We build the Glassdoor search URL and answer the listing JSON, at the same credits as the page call.
| Parameter | Type | Values |
|---|---|---|
query required | string | Search words, as typed in the Glassdoor search box. |
One call (query=data engineer)
curl -G 'https://api.ujeebu.com/scrape' \
-H 'ApiKey: YOUR_API_KEY' \
-d 'recipe=glassdoor/search' \
--data-urlencode 'query=data engineer'
import os, requests
r = requests.get(
"https://api.ujeebu.com/scrape",
params={"recipe": "glassdoor/search", "query": "data engineer"},
headers={"ApiKey": os.environ["UJEEBU_API_KEY"]},
timeout=120,
)
for item in r.json()["result"]["jobs"][:3]:
print(item["title"], item["location"], item["salary"])
# Example output:
# Principal Data Platform Engineer Mount Horeb, WI $160K - $185K (Employer provided)
# Data Warehouse Developer (Data Wareho... Hudson, OH $80K - $103K (Glassdoor est.)
const params = new URLSearchParams({
recipe: "glassdoor/search",
query: "data engineer",
});
const res = await fetch(`https://api.ujeebu.com/scrape?${params}`, {
headers: { ApiKey: process.env.UJEEBU_API_KEY },
});
const { result } = await res.json();
for (const item of result.jobs.slice(0, 3)) {
console.log(item.title, item.location, item.salary);
}
// Example output:
// Principal Data Platform Engineer Mount Horeb, WI $160K - $185K (Employer provided)
// Data Warehouse Developer (Data Wareho... Hudson, OH $80K - $103K (Glassdoor est.)
The answer carries the built URL in the Ujb-Url header; a missing or invalid parameter answers 400 naming it (free). Have the URL already? Send it with recipe=glassdoor/listing. Search with parameters in the docs
What people build with Glassdoor data
Job market analytics
Count open roles by company, location and type to see who is hiring and where.
Learn moreJob aggregation
Collect new postings into your own job board or alerts, with the link back to the original posting.
Salary benchmarks
Compare the salary ranges companies publish for similar roles.
Price
Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
| Page type | Credits a page | Per 1,000, Starter | Per 1,000, Pro |
|---|---|---|---|
| Search results | 5 | $0.82 | $0.50 |
FAQ
What does the Glassdoor recipe return?
JSON with 6 fields from search results (recipe=glassdoor), for example title, location, salary, name, url. The answer is {"result": {...}} with the fields shown on this page.
How much does it cost to scrape Glassdoor?
5 credits a page ($0.50 per 1,000 on Pro, $0.82 on Starter). Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
Do I need proxies or a headless browser?
No. The recipe brings the settings that work on Glassdoor: JavaScript rendering. Send only the URL and recipe=glassdoor.
What happens when Glassdoor changes its pages?
We check Glassdoor every day and re-validate the recipe on real pages every week, then fix it when the site changes. Until a fix is live, the API answers 404 "the recipe has no working version" instead of empty data, and that call is free.
Can I search Glassdoor with parameters?
Yes, in one call: send recipe=glassdoor/search with query and no URL. We build the Glassdoor search URL (returned in the Ujb-Url header), apply recipe=glassdoor/listing and answer its JSON, at the same credits as the page call. A missing or invalid parameter answers 400 naming it, and that call is free.
Related recipes
- IndeedSearch results · 5 credits
WorkdayPage · 5 credits
DiceJob posting · 5 credits
GreenhouseSearch results, Job posting · 1 credits
LeverSearch results, Job posting · 1 credits
Remote OKSearch results, Job posting · 5 credits
Logos and names belong to their owners. Ujeebu is not affiliated with Glassdoor.
Get Glassdoor data as JSON today.
5,000 free credits for 7 days. No card.