Proporcionado por Crustdata
Busca ofertas de empleo mediante una condición de filtro (Crustdata)
Encuentra ofertas de empleo mediante exactamente una condición de campo nativo —el título del puesto, su categoría, una ubicación o la empresa contratante— y elige qué campos devuelve cada oferta. Cada oferta incluye los datos empresariales básicos de la empresa contratante y el texto completo de la publicación. Veinte ofertas por página, con paginación mediante un cursor.
Cómo ejecutarlo
Paso 1Configurar
Una vez: pega esto en el chat de tu agente. Skill instala el CLI e inicia sesión por sí solo. Si tu agente no puede usar un shell, conéctalo mediante MCP en su lugar.
set up https://glasser.ai/SKILL.md
Show me how to use the Crustdata endpoint /job/search on Glasser.glasser run -p crustdata -e '/job/search' -i '{"limit":5,"filters":{"type":"(.)","field":"job_details.title","value":"engineer"}}' --endpoint-version 2Usa la versión de endpoint 2. Comprueba el precio actual antes de ejecutar. Instala e inicia sesión primero en Comenzar.
Una vez por Run:
IDEMPOTENCY_KEY=$(uuidgen)Ejecútalo y copia este mismo bloque para volver a enviarlo:
curl -X POST https://api.glasser.ai/v1/runs \
-H "Authorization: Bearer gl_..." \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"crustdata","endpoint":"/job/search","input":{"limit":5,"filters":{"type":"(.)","field":"job_details.title","value":"engineer"}},"endpoint_version":2}'Reutiliza la misma Idempotency-Key para volver a enviarlo: el segundo envío es una lectura del primer Run. Una clave nueva crea un Run y un Charge nuevos. Usa la versión de endpoint 2; comprueba el precio actual antes de ejecutar.
Paso 2Prueba una tarea de ejemplo específica
Cuando necesites preseleccionar empleos, puedes comparar los puestos disponibles con tus habilidades para encontrar oportunidades que merezca la pena revisar más de cerca.
Copia este prompt en tu agente para revisar las coincidencias de empleo con tus habilidades.
Use crustdata:/job/search on Glasser.
Find roles matching my skills in the returned job data and explain each match.Estructura del endpoint
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"filters"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"fields": {
"type": "array",
"items": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"maxItems": 20
},
"filters": {
"type": "object",
"required": [
"field",
"type",
"value"
],
"properties": {
"type": {
"enum": [
"=",
"!=",
"<",
"=<",
">",
"=>",
"in",
"not_in",
"(.)",
"[.]"
],
"type": "string"
},
"field": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"value": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
{
"type": "boolean"
}
]
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
{
"type": "boolean"
}
]
},
"maxItems": 20,
"minItems": 1
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"limit": 5,
"filters": {
"type": "(.)",
"field": "job_details.title",
"value": "engineer"
}
}Este endpoint no publica ningún esquema de salida. Recibes el cuerpo de respuesta propio del proveedor de datos, sin cambios — no garantizamos una estructura que no podemos asegurar.
Cómo funcionan los precios
| Por resultado devuelto | Se cobra por cada resultado devuelto. No se cobra cuando no se devuelven datos. | $0.009 |
|---|---|---|
| Máximo por Run | El cargo total no superará este importe. | $0.40 |
| Error del proveedor de datos | El proveedor de datos no pudo responder. | $0.00 |
| Tiempo de espera agotado | El Run superó su límite de tiempo. | $0.00 |
| Error interno | Un error interno impidió completar la operación. | $0.00 |