For AI agents: a documentation index is available at /llms.txt
Skip to main content

Scrape Glassdoor Job Listings

Pull job titles, companies, locations, and salary estimates from Glassdoor search results. Glassdoor uses fingerprint checks, behavioral analysis, and CAPTCHAs to block scrapers, so the BQL and Frameworks tabs route through stealth mode and a residential proxy.

Prerequisites

Steps

The examples below navigate to a pre-formed Glassdoor search URL and extract job listing data.

Selector stability

Glassdoor frequently updates its markup. If the selectors below stop returning results, inspect the page with browser DevTools and update the CSS selectors to match the current DOM structure.

Send the BQL mutation over HTTP to the stealth endpoint. No browser library or BQL IDE required.

1. Send the request

curl -X POST \
"https://production-sfo.browserless.io/stealth/bql?token=YOUR_API_TOKEN_HERE&proxy=residential&proxyCountry=us" \
-H "Content-Type: application/json" \
-d '{
"query": "mutation ScrapeGlassdoor { goto(url: \"https://www.glassdoor.com/Job/new-york-software-engineer-jobs-SRCH_IL.0,8_IC1132348_KO9,26.htm\", waitUntil: networkIdle) { status } jobs: mapSelector(selector: \"[data-test='\''jobListing'\'']\") { title: mapSelector(selector: \"a[data-test='\''job-title'\'']\") { innerText } company: mapSelector(selector: \"[data-test='\''employer-name'\'']\") { innerText } location: mapSelector(selector: \"[data-test='\''emp-location'\'']\") { innerText } salary: mapSelector(selector: \"[data-test='\''detailSalary'\'']\") { innerText } } }",
"variables": {},
"operationName": "ScrapeGlassdoor"
}'

2. Check the output

{
"data": {
"goto": { "status": 200 },
"jobs": [
{
"title": [{ "innerText": "Software Engineer" }],
"company": [{ "innerText": "TechCorp" }],
"location": [{ "innerText": "New York, NY" }],
"salary": [{ "innerText": "$120K – $180K (Glassdoor est.)" }]
},
{
"title": [{ "innerText": "Senior Software Engineer" }],
"company": [{ "innerText": "BuildCo" }],
"location": [{ "innerText": "New York, NY (Remote)" }],
"salary": [{ "innerText": "$150K – $220K (Glassdoor est.)" }]
}
]
}
}

Next steps