OCR d’offre d’emploi
Cette capacité lit une offre d’emploi — capture, PDF ou texte scanné — et en extrait les champs clés : intitulé du poste, type de contrat, lieu, missions, compétences attendues et rémunération quand elle figure. Vous obtenez une fiche structurée, prête à comparer, classer ou verser dans un tableau de veille.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Une annonce transformée en données
Une offre d’emploi est un texte dense où l’essentiel se noie dans le style maison : intitulé, contrat, lieu, missions, profil recherché, salaire. La capacité en dégage une fiche nette, champ par champ, quelle que soit la formulation de l’annonce. Comparer dix offres cesse alors d’être une lecture linéaire : vous alignez intitulés, lieux et compétences sur une même grille. Utile pour une veille de marché, un benchmark de rémunérations ou le suivi de vos propres candidatures.
Une fonction en bêta, interprétative
Cette capacité est en bêta et s’appuie sur un modèle de langage : elle interprète le texte pour ranger l’information, ce qui la rend puissante mais faillible. Une annonce vague sur le contrat ou muette sur le salaire donnera des champs partiels, et une formulation ambiguë peut être mal classée. Traitez le résultat comme une synthèse à vérifier, non comme une vérité gravée. La capacité traite un document par requête, dans la limite de 25 Mo.
Tarif et accès
Le prix est public : $0.003 par requête, plus $0.0135 par annonce, en dollars US, sans abonnement. Le traitement est asynchrone : vous envoyez l’offre, une tâche démarre, la fiche structurée revient une fois l’analyse faite. L’outil s’utilise sur cette page et par l’API, pour alimenter en flux une veille d’annonces, avec une arrivée prévue sur les applications mobiles.
Cas d’usage
Une veille de marché de l’emploi
Sophie Nguyen suit les offres d’un secteur pour caler ses grilles de rémunération. L’extraction aligne intitulés, lieux et salaires annoncés sur un même tableau, sans relire chaque annonce en entier.
Un suivi de candidatures ordonné
En recherche active, Thomas Rousseau structure les offres auxquelles il postule. Contrat, lieu et compétences attendues sont classés, ce qui l’aide à ajuster chaque lettre de motivation à la bonne annonce.
Le benchmark d’un intitulé de poste
Studio Lumen SAS compare plusieurs annonces pour un même métier afin de calibrer sa propre offre. Les missions et compétences ressortent côte à côte, prêtes à confronter d’un coup d’œil.
Questions fréquentes
Quels champs sont extraits d’une offre ?
L’intitulé du poste, le type de contrat, le lieu, les missions, les compétences attendues et la rémunération lorsqu’elle est indiquée. Les champs absents de l’annonce restent simplement vides.
Que signifie le statut « bêta » de cet outil ?
Parce que la capacité interprète un texte libre pour le structurer et que les annonces sont très variables. Elle est utilisable dès à présent, mais une vérification s’impose sur les formulations ambiguës.
Le salaire est-il toujours extrait ?
Seulement s’il figure dans l’annonce. Beaucoup d’offres ne le mentionnent pas ; dans ce cas, le champ reste vide plutôt que d’être deviné, pour ne pas introduire de chiffre inexact.
Puis-je traiter beaucoup d’annonces ?
Oui. Chaque annonce compte pour un document ; l’API permet d’en enchaîner un grand nombre. Le coût reste de $0.003 par requête et $0.0135 par annonce, en dollars US.
Comment se règle le service, avec facture ?
Le paiement se fait par PayPal, sans compte ni abonnement, et une facture vous est délivrée sur demande, utile si cette veille entre dans vos frais professionnels.
Les annonces envoyées sont-elles conservées ?
Non. Le document est chiffré durant le transfert, analysé le temps de l’extraction, puis supprimé. Rien n’est archivé sur nos serveurs et aucune personne ne le consulte.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/ocr/job-post \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/job-post", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/job-post",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/job-post", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/job-post", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.job_post",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
max_pages | 10 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |