career-ops

Ashby

Ashby est l'ATS moderne privilégié par les startups en Série A–C dans l'univers de l'IA et des dev-tools. career-ops interroge directement l'API publique du job board.

Ce qu'il fait

Le provider ashby, situé dans providers/ashby.mjs, effectue des requêtes HTTP vers api.ashbyhq.com/posting-api/job-board/{slug} et analyse le JSON renvoyé. Le slug est l'identifiant du job board Ashby de l'entreprise (par exemple 'elevenlabs' pour ElevenLabs). career-ops choisit ce provider d'après le careers_url de l'entrée (https://jobs.ashbyhq.com/<slug>), ou d'après un champ api: explicite.

Quand l'utiliser

Utilisez le scan Ashby lorsque vous ciblez des labos d'IA, des entreprises d'infrastructure et des startups modernes. ElevenLabs, Deepgram, Sierra, Decagon et n8n font partie des boards Ashby préconfigurés dans templates/portals.example.yml.

Exemple

portals.yml
- name: ElevenLabs
  careers_url: https://jobs.ashbyhq.com/elevenlabs
  enabled: true

Le scan suivant récupère alors les postes ouverts d'ElevenLabs.

Ce que fait le scanner

Le scanner lit les slugs Ashby activés dans votre portals.yml, appelle l'API publique de job board d'Ashby pour chacun d'eux, puis fusionne les nouvelles offres dans votre pipeline — sans navigateur, sans login et sans dépenser le moindre token LLM pour la récupération elle-même. Une seule exécution de node scan.mjs couvre à la fois vos boards Ashby, Greenhouse et Lever, puis filtre les résultats selon les mots-clés de titre que vous avez configurés.

Terminal
node scan.mjs
Output
Companies scanned:     12
Total jobs found:      41
Filtered by title:     35 removed
Duplicates:            3 skipped
New offers added:      3

New offers:
  + ElevenLabs | Applied AI Engineer | London, UK
  + Deepgram | Inference Engineer | Remote
  + Sierra | Agent Engineer | San Francisco, CA

Comment career-ops communique avec Ashby

career-ops appelle l'API publique de publication d'Ashby à l'adresse api.ashbyhq.com/posting-api/job-board/{slug}?includeCompensation=true et lit la liste jobs directement dans la réponse JSON. Pour chaque annonce, il récupère le titre, le jobUrl public comme lien de candidature, la localisation (la principale ainsi que les éventuelles localisations secondaires, avec « Remote » ajouté pour les postes en télétravail), la description en texte brut, la date de publication et une fourchette de salaire annualisée lorsque le board en publie une. Comme il s'agit d'un appel API structuré et non de scraping de pages, le scan n'a besoin d'aucun navigateur et ne consomme aucun token de modèle. L'API publique d'Ashby est lente à répondre, avec un plancher d'environ dix secondes par board, et limite les requêtes répétées : career-ops attend donc jusqu'à 30 secondes par board et relance avec un délai croissant. Les tokens ne sont dépensés que plus tard, lors de l'étape evaluate, lorsque vous décidez qu'une offre mérite un examen plus attentif. Relancer le scan est sans risque : chaque URL est dédupliquée par rapport à votre historique de scan, vos candidatures évaluées et le pipeline en cours, si bien qu'une offre déjà vue n'est jamais ajoutée deux fois.

Pièges à connaître

L'API de job board d'Ashby renvoie directement le texte complet de la fiche de poste, sans requête supplémentaire. Chaque board met environ dix secondes à répondre : un scan avec beaucoup de boards Ashby prend donc un peu plus de temps qu'avec le même nombre de boards Greenhouse ou Lever.

Certaines entreprises désactivent l'API de publication d'Ashby tout en gardant leur board en ligne : l'API répond 404 alors que les offres sont toujours publiées. Dans ce cas, ajoutez ashby: { embed: true } à l'entrée de l'entreprise, et career-ops lit le board depuis la page qu'Ashby fournit pour l'intégrer aux sites carrières. Si le careers_url de l'entrée pointe vers le site de l'entreprise elle-même plutôt que vers une adresse jobs.ashbyhq.com, indiquez aussi le board avec ashby: { board: <slug> }. Depuis cette source, une offre arrive sans description ni date de publication, et sa fourchette de rémunération reste un texte d'affichage au lieu d'être convertie en salaire structuré. Cette option doit être activée explicitement, car un 404 signale le plus souvent un board fermé ou un slug mal saisi, ce qui doit rester une erreur.

portals.yml
- name: Example Co
  careers_url: https://jobs.ashbyhq.com/exampleco
  ashby: { embed: true }
  enabled: true

Voir aussi

Sur cette page