Pattern 01
API directe dans votre back-end
Le pattern le plus puissant. Votre application appelle l'API depuis votre serveur, vous rendez les résultats dans votre propre interface. Vous gardez le contrôle de l'UX, du cache (si vous en faites un), de la rétention. Jobydoo s'occupe de la couverture, de la déduplication et de la fraîcheur.
Pour qui
- Plateformes HR-tech qui ajoutent une fonction de recherche d'offres
- ATS internes ou outils RH d'entreprise
- Job boards de niche qui veulent une couverture plus large que leurs propres annonceurs
- Cabinets de recrutement avec un développeur ou un prestataire
Endpoint
POST https://api.jobydoo.io/v1/jobs
Authentification
Header Authorization: Bearer jdy_…. Générez la clé depuis le tableau de bord, conservez-la en lieu sûr (variable d'environnement, secret manager) — elle n'est affichée qu'une seule fois.
Exemple de requête
curl -X POST https://api.jobydoo.io/v1/jobs \
-H "Authorization: Bearer jdy_live_…" \
-H "Content-Type: application/json" \
-d '{
"q": "directeur industriel",
"country": "FR",
"city": "Lyon",
"seniority": "director",
"use_xray": true,
"max_results": 50
}'Paramètres
q(string, requis) — titre du poste recherché, 2 à 200 caractèrescountry(ISO-2, défautFR) — pays d'exécution de la recherchecity(string, optionnel) — ville pour scoperregion(string, optionnel) — régionremote(any | remote | hybrid | on_site, défautany)seniority(junior | mid | senior | lead | director | vp | c-level, défautsenior)posted_within_days(1–60, défaut 30)max_results(1–500, défaut 15) — plafonné parresultsCapdu plancredits(alias demax_results, plus explicite sur les plans à crédits)use_xray(boolean, défaut false) — active les sources gated. Plan Professionals ou Enterprise requis.must_have,exclude— listes de mots-clés (max 10 chacune)
Réponse
{
"run_id": "5a86bdd2-…",
"query": { ... },
"results": [
{
"id": "…",
"source": "greenhouse",
"title": "Directrice industrielle",
"company": { "name": "…", "domain": "…" },
"location": { "city": "Lyon", "country_iso2": "FR", "remote": "hybrid" },
"salary": { "min": 95000, "max": 120000, "currency": "EUR", "period": "yearly" },
"posted_at": "2026-05-08T12:34:56Z",
"apply_url": "https://…",
"fit_score": 0.91
},
…
],
"source_status": [ { "source": "…", "status": "ok", "count": 12 } ],
"quota": { "remaining": 14985, "plan": "pro", "model": "monthly-calls" },
"latency_ms": 18247
}Limites de débit
- Quota mensuel par plan — voir /pricing
- Pas de rate limit dur sur les requêtes en parallèle, mais un appel typique prend 15–25 s
- Une seule clé peut être partagée par plusieurs services internes ; le quota est commun
Cache côté client
Jobydoo n'a pas de cache interne — chaque appel interroge les sources en direct. Si votre produit fait beaucoup de recherches identiques, mettre en cache côté client (1 à 6 h pour des requêtes nationales, plus court pour des requêtes ville/secteur précis) réduit votre consommation de quota sans sacrifier de fraîcheur perceptible.
Erreurs
401 invalid_credentials— clé manquante, mal formée, ou révoquée402 xray_not_in_plan—use_xray: truesur un plan qui ne l'inclut pas402 subscription_inactive— paiement échoué ou abonnement annulé429 quota_exceeded— appels mensuels épuisés (réinitialisation le 1er à 00:00 UTC)429 credits_exhausted— crédits épuisés sur la fenêtre glissante (plan Dev)503 engine_unreachable— moteur de recherche indisponible (rare, transitoire)
Questions de la communauté
0 question
Connectez-vous pour poser une question ou répondre.
Personne n'a encore posé de question sur ce pattern. Soyez le premier.