Necesitas obtener programáticamente los detalles completos de un empleo (título, empleador, descripción, enlaces de aplicación y contexto salarial) de una fuente confiable y enviarlo esta semana. Al final de este artículo, podrás buscar empleos, obtener el perfil detallado de un empleo por ID y obtener salarios estimados alrededor de una ubicación utilizando una sola clave a través de Zyla API Hub.
Lo que puedes construir con esta API
La API JSearch agrega empleos de la web (incluyendo Google for Jobs) y expone:
- Búsqueda: consulta empleos con amplias opciones de filtrado disponibles en Google for Jobs.
- Detalles del Empleo: expande un job_id en detalles completos, incluyendo opciones adicionales de aplicación, contexto de reseñas de empleadores y salarios estimados para roles similares.
- Salario Estimado: obtén rangos de pago para un título de empleo alrededor de una ubicación.
Los equipos utilizan esto para potenciar bolsas de trabajo, automatización de reclutamiento, integraciones de seguimiento de solicitantes y herramientas internas de búsqueda.
Comenzando en Zyla API Hub
Abre la página de la API JSearch en Zyla API Hub y suscríbete. El hub utiliza una suscripción con cuota (no pago por llamada). Para una primera integración, puedes comenzar una prueba de 7 días o 50 solicitudes dependiendo de la disponibilidad. Recibirás una única clave API que autoriza llamadas a esta y cualquier otra API a la que te suscribas en el hub.
Comienza la prueba de 7 días en la API JSearch
Autenticación
Envía tu clave en el encabezado de Autorización para cada solicitud:
- Authorization: Bearer YOUR_API_KEY
Puntos finales
1) Búsqueda
Busca empleos publicados en sitios de empleo a través de la web en el mayor agregado de empleos del mundo (Google for Jobs). URL y método:
- Método: GET
- URL: https://zylalabs.com/api/2526/jsearch-api/2516/search
Parámetro de consulta requerido:
- query (string): por ejemplo, “desarrollador javascript”
Ejemplo de cURL (copia/pega):
curl -s -X GET "https://zylalabs.com/api/2526/jsearch-api/2516/search?query=javascript+developer" \
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo de respuesta JSON:
{
"status": "OK",
"request_id": "9d5b1504-e1c0-43dc-ba08-7cd4ef1de4a6",
"parameters": {
"query": "javascript developer",
"page": 1,
"num_pages": 1,
"country": "us",
"language": "en"
},
"data": [
{
"job_id": "NWFBUzhCZkdmOVBVbVdKYUFBQUFBQT09OkVzc0JDb3dCUVVwcFZEUjBTMnBvWlhWUk1qUkdSRmx5TUVKNWNUSTBSRmhLTVZBdGRXeFRMVWd0ZUdwUmRtVnlNVXRYYUVOM2JIRk9jWE16ZUVka2F6a3dORmRWV2xVNFYzbHhSRGRaV1VrdE0wbFdkMHBIZGxoaU5UTkNUazVxUmpOUE5XVmlYM0E0ZEZWQk1sWnlRbWwwV2tSMGMxcE1RVTFEYUdoblVteGpTRUpXVGtjNVNtazFUMmhZUVc1R1dYb1NGbEo0TlRkaGRXbExRbEJEYTJ0UVNWQTVjVVJLU1ZFYUlrRkVjM0k1WmxJdFlsSkpkbVJRY204MFV6UTVjSEJTTkhCcmJXd3lRbU41YkVF",
"job_title": "Desarrollador Full Stack JavaScript - Autorización de Seguridad Secreta",
"employer_name": "Metric5",
"employer_logo": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRTpqtlYyQWQ7NZ_F3cBFi24PFec2gdiTaCd_CJ&s=0",
"employer_website": "https://www.metric5.com",
"job_publisher": "LinkedIn",
"job_employment_type": "Tiempo completo",
"job_employment_types": [
"FULLTIME"
],
"job_apply_link": "https://www.linkedin.com/jobs/view/full-stack-javascript-developer-top-secret-clearance-at-metric5-4447358729",
"job_apply_is_direct": false,
"apply_options": [
{
"apply_link": "https://www.linkedin.com/jobs/view/full-stack-javascript-developer-top-secret-clearance-at-metric5-4447358729",
"is_direct": false,
"publisher": "LinkedIn"
}
],
"job_description": "Ubicación: Springfield, VA - en sitio
Metric5 está buscando un Desarrollador Full Stack JavaScript motivado para trabajar en un proyecto altamente visible para nuestro cliente NGA/DoD.
El Desarrollador Full Stack JavaScript ideal tiene experiencia práctica trabajando en un verdadero entorno Ágil realizando tareas de ingeniería de software a través de múltiples equipos, con experiencia que abarca el desarrollo front-end y back-end. Nuestros ingenieros de software desempeñan roles críticos para diseñar, construir, probar y mantener productos de software para garantizar una fuerte funcionalidad y optimización.
Como ingeniero de software en Metric5, serás responsable del diseño técnico, desarrollo, documentación e ingeniería de soluciones de software utilizando React, NestJS, Node.js, TypeScript y Vite dentro de un ecosistema moderno nativo de la nube. Tu resp…
Qué usar:
- data[].job_id: pásalo a Detalles del Empleo para expandir un listado.
- data[].job_title, employer_name: muéstralo en tu lista de UI.
- data[].job_apply_link y apply_options: construye botones de “Aplicar”.
- parameters: útil para registrar y lógica de paginación donde sea aplicable.
Ejemplo en Python para Búsqueda
Este fragmento busca “desarrollador javascript” y imprime campos clave que mostrarás en una página de resultados, luego captura un job_id para detalles.
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://zylalabs.com/api/2526/jsearch-api/2516/search"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
params = {
"query": "javascript developer"
}
resp = requests.get(BASE_URL, headers=headers, params=params, timeout=30)
resp.raise_for_status()
payload = resp.json()
print("Status:", payload.get("status"))
for i, job in enumerate(payload.get("data", []), start=1):
print(f"{i}. {job.get('job_title')} — {job.get('employer_name')}")
print(" Aplicar:", job.get("job_apply_link"))
print(" Publicador:", job.get("job_publisher"))
print()
# Captura un job_id para obtener detalles más tarde
first_job_id = payload.get("data", [{}])[0].get("job_id")
print("Primer job_id para detalles:", first_job_id)
2) Detalles del Empleo
Obtén todos los detalles del empleo, incluyendo opciones/enlaces de aplicación adicionales, contexto de reseñas de empleadores y salarios estimados para empleos similares.
- Método: GET
- URL: https://zylalabs.com/api/2526/jsearch-api/2517/job-details
Parámetro de consulta requerido:
- job_id (string)
Ejemplo de cURL:
Ejemplo de respuesta JSON:
Qué usar:
- data[].job_uid y data[].job_id: identificadores estables para deduplicación y almacenamiento.
- Descripción completa y opciones de aplicación adicionales para renderizar tu página de detalles.
3) Salario Estimado
Obtén salarios estimados para un empleo alrededor de una ubicación.
- Método: GET
- URL: https://zylalabs.com/api/2526/jsearch-api/2518/estimated-salary
Parámetros:
- job_title (string, requerido)
- location (string, requerido)
- radius (string, opcional)
Ejemplo de cURL:
Ejemplo de respuesta JSON:
Qué usar:
- median_salary: referencia rápida para bandas de compensación.
- salary_period y salary_currency: muestra las unidades correctas (anual USD en este ejemplo).
- salaries_updated_at: marca de tiempo que puedes mostrar o usar para invalidación de caché. La marca de tiempo es ISO 8601.
Flujo de extremo a extremo: búsqueda a detalles a salario
- Llama a Búsqueda con una consulta de texto para obtener una lista de empleos y valores de job_id.
- Selecciona un job_id y llama a Detalles del Empleo para enriquecer tu página de detalles con contenido completo y opciones de aplicación.
- Opcionalmente llama a Salario Estimado para el rol y la ubicación que el usuario está viendo para agregar contexto de compensación.
Almacena job_id y job_uid para evitar duplicados. La respuesta de Búsqueda incluye un bloque de “parameters” que puedes registrar para rastrear el contexto de la consulta. Considera almacenar en caché las respuestas de Búsqueda y Salario por un corto TTL para reducir llamadas redundantes y mantener tu UX rápida.
Notas de implementación práctica
- Autorización: siempre “Authorization: Bearer YOUR_API_KEY”.
- Unidades y moneda: Salario Estimado devuelve salary_period (por ejemplo, AÑO) y salary_currency (por ejemplo, USD). Muestra ambos con los montos.
- Marcas de tiempo: salaries_updated_at es ISO 8601; convierte a formato de visualización local en tu UI si es necesario.
- Modelo de cuota: Zyla utiliza suscripción + cuota, no pago por llamada. Para el primer uso, espera una prueba de 7 días o 50 solicitudes dependiendo de la disponibilidad. Consulta la página de la API para las opciones de acceso y precios actuales.
- Paginación y filtrado: la respuesta del ejemplo de Búsqueda incluye página y num_pages; sigue la página de la API para opciones de filtrado adicionales soportadas en Google for Jobs.
- Manejo de errores: verifica el estado y los códigos HTTP; registra request_id para correlacionar problemas con soporte.
Llamando a la API desde agentes de IA a través de MCP
Cada API en Zyla también puede ser llamada desde agentes de IA y copilotos de IDE que soportan el Protocolo de Contexto de Modelo (MCP). Apunta tu cliente a:
https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
Una vez conectado, herramientas como Claude Code, Cursor y Windsurf pueden llamar a la API JSearch usando tu misma clave. Para detalles de configuración del cliente, consulta la información del endpoint MCP.
Casos de uso en el mundo real
- Búsqueda en bolsa de trabajo: implementa un feed de “Desarrollador JavaScript” llamando a Búsqueda y renderizando job_title, employer_name y job_apply_link.
- Enriquecimiento de ATS: dado un enlace de empleo extraído, busca por palabras clave de rol, luego llama a Detalles del Empleo para normalizar campos y almacenar job_uid para deduplicación.
- Bandas de compensación: llama a Salario Estimado por job_title y ciudad elegida por el usuario para establecer expectativas junto al CTA de aplicación.
- Alertas y resúmenes: ejecuta consultas de Búsqueda programadas y envía resúmenes de correo electrónico personalizados con job_apply_link y employer_website.
Lista de verificación de producción
- Almacena de forma segura la clave API; nunca la comprometas en el control de versiones.
- Registra request_id y parámetros para observabilidad y auditorías.
- Respeta la cuota de suscripción; implementa retroceso exponencial en reintentos.
- Almacena en caché las respuestas de Salario Estimado por (job_title, location, radius) durante unas horas.
- Normaliza los nombres de los empleadores y persiste job_uid para prevenir duplicados entre ejecuciones.
FAQ
¿Cómo obtengo un job_id para llamar a Detalles del Empleo?
Usa primero el endpoint de Búsqueda. Cada elemento en data[] incluye un job_id que puedes pasar a Detalles del Empleo.
¿Puedo filtrar Búsqueda más allá de la cadena de consulta?
El endpoint de Búsqueda soporta un filtrado extenso similar a Google for Jobs. Consulta la página de la API en Zyla para el conjunto completo de parámetros soportados.
¿Qué moneda y unidades utilizan los salarios?
Salario Estimado devuelve salary_currency y salary_period por registro. En el ejemplo anterior, los valores son anuales en USD.
¿Hay un plan gratuito?
No. Zyla utiliza suscripción + cuota. Consulta la página de la API para las opciones de acceso actuales. Para el primer uso, puedes comenzar una prueba de 7 días o 50 solicitudes dependiendo de la disponibilidad.
¿Puedo llamar a estos puntos finales desde un agente de IDE?
Sí. Usa el endpoint MCP en https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY con tu IDE o agente que soporte MCP.
¿Listo para enviar tu integración? Suscríbete y obtén tu clave API en la página de la API JSearch, luego conecta los puntos finales de Búsqueda, Detalles del Empleo y Salario Estimado para potenciar tus feeds de empleo y páginas de detalles. Comienza la prueba de 7 días en la API JSearch