Empleo
Glassdoor Salaries Scraper
glassdoor.com
Glassdoor publica estimaciones salariales para miles de puestos por empresa, diez puestos por página, y sus páginas están protegidas por Cloudflare y rechazan las peticiones simples. Además, la dirección de una página de salarios necesita el slug exacto de la empresa en Glassdoor junto a su ID, así que una URL adivinada da un 404. Un endpoint de plugin dedicado recibe una URL de empresa de Glassdoor, un ID de empresa o un nombre de empresa, encuentra por sí mismo la página de salarios correcta y devuelve las filas ya parseadas: para cada puesto, el salario base y la retribución total en los percentiles 10, 25, 50, 75 y 90, la moneda, el número de salarios detrás de la estimación y la fecha del último informe. La empresa viene con ellas (nombre, valoración global, logo, sitio web, sector, área, sede, tamaño y su número total de salarios) junto con el número de puestos registrados. Acota la lista con job_title, que usa la búsqueda de puestos de la propia Glassdoor, y reúne hasta 100 filas en una llamada, primero los puestos con más informes. Por defecto la petición sale desde EE. UU., así que el salario se indica para el mercado estadounidense en dólares.
Qué puedes extraer
- Puesto e ID de puesto de Glassdoor en cada fila
- Salario base en los percentiles 10, 25, 50, 75 y 90
- Retribución total en los mismos percentiles, con bonus y acciones cuando Glassdoor los incluye
- Moneda, el número de salarios detrás de cada estimación y la fecha del último informe
- Nombre de la empresa, valoración global, logo, sitio web, sector, área, sede, tamaño y número total de salarios
- Filtro por puesto con la búsqueda de la propia Glassdoor, y el número total de puestos y de páginas
- Hasta 100 puestos por llamada, primero los que tienen más informes, a partir de una URL de empresa, un ID o un nombre
Endpoints dedicados
/salaries/glassdoor Salarios de una empresa en Glassdoor
Estimaciones salariales de una empresa indicada con una URL de empresa de Glassdoor, un ID de empresa o un nombre: un array salaries con jobTitle, jobTitleId, basePay y totalPay (P10, P25, P50, P75, P90), currency, salaryCount y mostRecent, además de companyMeta (nombre, valoración, logo, sitio web, sector, área, sede, tamaño, salaryCount), queryLocation, jobTitleCount y numPages. job_title acota la lista; max_results de 1 a 100 (por defecto 20, 10 por página de Glassdoor); proxy_country es por defecto un exit de EE. UU.
Cómo rastrearlo
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/salaries/glassdoor?company=9079&max_results=10"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/salaries/glassdoor",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"company": "9079", "max_results": "10"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.glassdoorSalaries('9079', { maxResults: 10 });
console.log(results); Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.
Ejemplo de respuesta
{
"company": "Google",
"employerId": 9079,
"slug": "Google",
"companyMeta": {
"employerId": 9079,
"name": "Google Inc.",
"shortName": "Google",
"overallRating": 4.4,
"logo": "https://media.glassdoor.com/sql/9079/google-squarelogo-1441130773284.png",
"website": "https://goo.gle/4ehVuXi",
"industry": "Internet & Web Services",
"sector": "Information Technology",
"headquarters": "Mountain View, CA",
"size": "10000+ Employees",
"salaryCount": 191759
},
"queryLocation": "United States",
"salaries": [
{
"jobTitle": "Software Engineer",
"jobTitleId": 4279,
"basePay": { "P10": 134264.84, "P25": 156158.89, "P50": 184722.83, "P75": 218511.57, "P90": 254143.41 },
"totalPay": { "P10": 207909.08, "P25": 251388.51, "P50": 311695.65, "P75": 396273.52, "P90": 486503.67 },
"currency": "USD",
"salaryCount": 51173,
"mostRecent": "2026-09-25T22:31:54.373"
},
{
"jobTitle": "Senior Software Engineer",
"jobTitleId": 17959,
"basePay": { "P10": 173235.14, "P25": 198654.69, "P50": 231325.27, "P75": 269368.83, "P90": 308894.51 },
"totalPay": { "P10": 304199.06, "P25": 368004.59, "P50": 457125.13, "P75": 585488.63, "P90": 722108.25 },
"currency": "USD",
"salaryCount": 3798,
"mostRecent": "2026-09-16T20:10:11.273"
}
],
"resultsCollected": 10,
"jobTitleCount": 9220,
"numPages": 918,
"pagesFetched": 1,
"query": { "company": "9079", "job_title": null, "max_results": 10, "proxy_country": "us" }
} Preguntas frecuentes
¿Es legal hacer scraping de salarios de Glassdoor?
Recopilar las estimaciones salariales que publica Glassdoor (rangos salariales por puesto y empresa) es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. Las estimaciones se agregan a partir de muchos informes y no llevan nombres de personas. ScrapeUnblocker devuelve los datos salariales públicos; qué recopilas y cómo lo usas es decisión tuya.
¿Cómo hago scraping de salarios de Glassdoor sin que me bloqueen?
Glassdoor está protegido por Cloudflare y rechaza las peticiones simples. El plugin /salaries/glassdoor obtiene cada página de salarios a través de la cadena de desbloqueo de ScrapeUnblocker, lee las filas de salarios de los datos que Glassdoor envía con la página y vuelve a obtener una página cuando llega bloqueada o sin sus filas. En el benchmark de ScrapeUnblocker devolvió salarios en el 97,3 % de 1.018 llamadas con empresas distintas, unos 5,5 s por llamada.
¿Qué datos obtengo de cada puesto?
El puesto y su ID en Glassdoor, el salario base y la retribución total, cada uno en los percentiles 10, 25, 50 (mediana), 75 y 90, la moneda, el número de salarios detrás de la estimación y la fecha del último informe. La respuesta añade el nombre de la empresa, la valoración global, el logo, el sitio web, el sector, el área, la sede, el tamaño y el número total de salarios, la ubicación a la que corresponden las cifras, el número total de puestos y de páginas en Glassdoor, y cuántas páginas se obtuvieron. Un valor que Glassdoor no muestra vuelve como null.
¿Cómo elijo la empresa y los puestos?
Pasa company como cualquier URL de empresa de Glassdoor (resumen, reseñas, salarios o empleos), un ID numérico de empresa como 9079 para Google, o un nombre de empresa, que se busca con el buscador de empresas de Glassdoor; una URL o un ID es la elección exacta. Las filas llegan primero con los puestos con más informes, diez por página de Glassdoor, y max_results reúne hasta 100 en una llamada. job_title las acota con la búsqueda de puestos de la propia Glassdoor, como software engineer, y también sirve una URL de salarios de Glassdoor para un solo puesto.
¿Necesito una cuenta o una API de Glassdoor?
No. El plugin no necesita cuenta de Glassdoor, inicio de sesión ni clave de API: envía una empresa con tu clave de ScrapeUnblocker y recibe las filas de salarios como JSON. Obtienes las estimaciones salariales que Glassdoor muestra a los visitantes en sus páginas públicas de salarios.
¿Cuánto cuesta hacer scraping de salarios de Glassdoor?
Glassdoor muestra 10 puestos por página de salarios, y cada página de salarios obtenida se factura como una petición: max_results=10 es 1 petición, los 20 por defecto son 2 y 100 son 10, y pagesFetched muestra el número exacto. Buscar la empresa a partir de un nombre o un ID no se factura. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, y la prueba gratuita incluye 500 peticiones sin tarjeta.
Scrapers relacionados
Empieza a rastrear este sitio hoy
Plan gratuito incluido. No necesitas tarjeta para probarlo.