Disponibilité d’un produit
« En stock », « bientôt disponible », « rupture »… chaque site formule la disponibilité à sa manière. KIT lit la page produit et en extrait un état clair et normalisé, avec la mention d’origine conservée. Utile pour vérifier un approvisionnement ou préparer une surveillance de retour en stock.
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.
Un état normalisé
Les formulations varient d’un site à l’autre : « disponible », « en stock », « expédié sous 24 h », « épuisé », « précommande ». KIT ramène cette diversité à un état lisible — disponible, indisponible ou précommande — pour que vous n’ayez pas à interpréter chaque libellé. C’est cet état normalisé qui permet ensuite de comparer plusieurs pages ou de déclencher une alerte.
La mention d’origine conservée
L’état normalisé ne remplace pas l’information brute : la formulation exacte affichée sur la page est conservée à côté, et la quantité restante est reprise lorsqu’elle est indiquée (« plus que 3 en stock »). Vous gardez ainsi le contexte, utile quand un site nuance sa disponibilité selon la taille, la couleur ou le délai d’expédition. Vous conservez ainsi toute la nuance de la page, au-delà d’un simple oui ou non de disponibilité.
Ponctuel ou surveillé
Une lecture ponctuelle répond à la question « est-ce disponible maintenant ? », à $0.046 la requête plus $0.0145 par URL analysée. Pour être prévenu automatiquement dès qu’un article épuisé revient, une surveillance planifiée reprend cette lecture à intervalles réguliers ; l’extraction en constitue la brique de base. Un relevé isolé répond à l’instant présent ; la surveillance prend le relais pour ne pas manquer le retour d’un article épuisé.
Cas d’usage
Vérifier la dispo avant de commander
Thomas Rousseau contrôle qu’un article est réellement en stock avant de valider sa commande, plutôt que de se fier à une mention ambiguë.
Contrôler son propre stock affiché
Une boutique vérifie que ses fiches n’annoncent pas « disponible » pour un produit en réalité épuisé, source de commandes annulées.
Préparer une alerte de réassort
Nadia Benali relève l’état d’un produit très demandé pour préparer une surveillance qui la préviendra dès son retour.
Questions fréquentes
Quels états reconnaît-il ?
Disponible, indisponible et précommande, principalement. La formulation exacte de la page est aussi conservée pour les cas intermédiaires.
Récupère-t-il la quantité restante ?
Oui, lorsque la page l’affiche (par exemple « plus que 3 en stock »). Sinon, seul l’état de disponibilité est rendu.
Fonctionne-t-il sur toutes les boutiques ?
Sur la plupart, car l’analyse s’adapte à la mise en page. Certaines pages très dynamiques peuvent masquer l’état ; le résultat indique alors ce qui a pu être lu.
Combien coûte une vérification ?
$0.046 la requête, plus $0.0145 par URL analysée. Sans abonnement, paiement direct par PayPal.
Mes données sont-elles conservées ?
Non. La disponibilité est lue, renvoyée, puis le traitement s’efface. Les échanges se font en transit chiffré.
Faut-il un compte ?
Non, aucune inscription n’est demandée.
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/web/stock-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/stock-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/stock-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/stock-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/stock-extract", 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
{
"url": "https://ejemplo.com"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.stock_extract",
"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
timeout_sec | 30 |
max_crawl_pages | 25 |
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. |