{"openapi":"3.1.0","info":{"title":"Neoavis","version":"1.0.0","description":"Ce qu’un agent IA constate en achetant chez les marchands français, étape par étape. Lecture libre, limitée à 60 requêtes par minute et par adresse ; 600 par minute avec une clé d’accès dans l’en-tête X-Api-Key (https://neoavis.com/fr/agents#cle). Free reads, 60 requests per minute per address; 600 per minute with an access key in the X-Api-Key header. Terms / conditions : https://neoavis.com/en/conditions, https://neoavis.com/fr/conditions"},"servers":[{"url":"https://neoavis.com"}],"paths":{"/api/v1/marchands":{"get":{"operationId":"rechercherMarchand","summary":"Rechercher un marchand par son nom, ou trouver des marchands par critères prouvés / Search by name, or find merchants by proven criteria","description":"Avec q : recherche par nom ou domaine. Sans q : recherche par critères (secteur, sans_compte, prix_livre, frais_livraison, retours, ucp, note_min), triée par note sur 100. / With q: name search. Without q: criteria search sorted by score.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","minLength":2},"description":"Partie du nom ou du domaine, casse et accents ignorés."},{"name":"secteur","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Secteur"}},{"name":"sans_compte","in":"query","required":false,"schema":{"type":"string","enum":["oui"]},"description":"Ne garder que les marchands où ce critère est prouvé. / Keep only merchants where this is proven."},{"name":"prix_livre","in":"query","required":false,"schema":{"type":"string","enum":["oui"]},"description":"Ne garder que les marchands où ce critère est prouvé. / Keep only merchants where this is proven."},{"name":"frais_livraison","in":"query","required":false,"schema":{"type":"string","enum":["oui"]},"description":"Ne garder que les marchands où ce critère est prouvé. / Keep only merchants where this is proven."},{"name":"retours","in":"query","required":false,"schema":{"type":"string","enum":["oui"]},"description":"Ne garder que les marchands où ce critère est prouvé. / Keep only merchants where this is proven."},{"name":"ucp","in":"query","required":false,"schema":{"type":"string","enum":["oui"]},"description":"Ne garder que les marchands où ce critère est prouvé. / Keep only merchants where this is proven."},{"name":"note_min","in":"query","required":false,"schema":{"type":"number","minimum":0,"maximum":100}},{"name":"limite","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"langue","in":"query","required":false,"schema":{"type":"string","enum":["fr","en"],"default":"fr"},"description":"Langue des textes et des adresses de pages. / Language of texts and page links."}],"responses":{"200":{"description":"Marchands classés dont le nom ou le domaine contient la requête, tous secteurs confondus","content":{"application/json":{"schema":{"type":"object","properties":{"requete":{"type":"string"},"marchands":{"type":"array","items":{"$ref":"#/components/schemas/ResultatRecherche"}}},"required":["requete","marchands"]}}}},"400":{"description":"Requête absente ou trop courte","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Limite de débit dépassée","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/comparer":{"get":{"operationId":"comparerMarchands","summary":"Comparer deux à cinq marchands / Compare two to five merchants","parameters":[{"name":"domaines","in":"query","required":true,"schema":{"type":"string"},"description":"Domaines séparés par des virgules, par exemple a.fr,b.fr."},{"name":"langue","in":"query","required":false,"schema":{"type":"string","enum":["fr","en"],"default":"fr"},"description":"Langue des textes et des adresses de pages. / Language of texts and page links."}],"responses":{"200":{"description":"Une lecture par marchand, dans l'ordre demandé","content":{"application/json":{"schema":{"type":"object","properties":{"marchands":{"type":"array","items":{"type":"object"}}},"required":["marchands"]}}}},"400":{"description":"Moins de deux ou plus de cinq domaines","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Limite de débit dépassée","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/marchands/{domaine}":{"get":{"operationId":"consulterMarchand","summary":"Ce qu'un agent a constaté chez un marchand","parameters":[{"name":"domaine","in":"path","required":true,"schema":{"type":"string"},"description":"Domaine du marchand, par exemple exemple-beaute.fr. Une adresse complète est acceptée."},{"name":"langue","in":"query","required":false,"schema":{"type":"string","enum":["fr","en"],"default":"fr"},"description":"Langue des textes et des adresses de pages. / Language of texts and page links."}],"responses":{"200":{"description":"Marchand suivi","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Marchand"}}}},"404":{"description":"Domaine non suivi","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Limite de débit dépassée","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/classement":{"get":{"operationId":"classementSecteur","summary":"Classement des marchands d'un secteur","parameters":[{"name":"secteur","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Secteur"}},{"name":"langue","in":"query","required":false,"schema":{"type":"string","enum":["fr","en"],"default":"fr"},"description":"Langue des textes et des adresses de pages. / Language of texts and page links."}],"responses":{"200":{"description":"Classement, vide si aucun test n'est publié dans ce secteur","content":{"application/json":{"schema":{"type":"object","properties":{"secteur":{"$ref":"#/components/schemas/Secteur"},"marchands":{"type":"array","items":{"$ref":"#/components/schemas/LigneClassement"}}},"required":["secteur","marchands"]}}}},"404":{"description":"Secteur inconnu","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Limite de débit dépassée","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}}},"components":{"securitySchemes":{"CleAcces":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Clé d’accès facultative : porte la limite à 600 requêtes par minute. / Optional access key: raises the limit to 600 requests per minute."}},"schemas":{"Secteur":{"type":"string","enum":["beaute","mode","maison","sport","epicerie","enfant","animalerie","bijoux","bricolage","high-tech"]},"Marchand":{"type":"object","properties":{"domaine":{"type":"string"},"nom":{"type":"string"},"secteur":{"$ref":"#/components/schemas/Secteur"},"note":{"type":["number","null"],"description":"Note sur 100 (méthode v2.1 : parcours 55, faits d’achat prouvés 30, lisibilité machine et protocoles 15), celle du dernier test publié, qui remplace les précédents. Nulle si aucun test n'est publié."},"note_sur":{"type":"integer","const":100},"nombre_avis":{"type":"integer"},"dernier_test":{"type":["string","null"],"format":"date-time"},"test_ancien":{"type":"boolean","description":"Vrai si le dernier test a plus de 90 jours."},"etapes":{"type":["object","null"],"properties":{"acces":{"type":"object","properties":{"resultat":{"type":"string","enum":["reussi","partiel","echec","non_atteint"]},"motif":{"type":["string","null"],"enum":["compte_obligatoire","localisation_exigee","captcha","acces_bloque","bandeau_bloquant","refus_peu_visible","resultats_illisibles","resultats_hors_sujet","information_absente","information_ambigue","bouton_introuvable","erreur_site","autre",null]}},"required":["resultat","motif"]},"cookies":{"type":"object","properties":{"resultat":{"type":"string","enum":["reussi","partiel","echec","non_atteint"]},"motif":{"type":["string","null"],"enum":["compte_obligatoire","localisation_exigee","captcha","acces_bloque","bandeau_bloquant","refus_peu_visible","resultats_illisibles","resultats_hors_sujet","information_absente","information_ambigue","bouton_introuvable","erreur_site","autre",null]}},"required":["resultat","motif"]},"recherche":{"type":"object","properties":{"resultat":{"type":"string","enum":["reussi","partiel","echec","non_atteint"]},"motif":{"type":["string","null"],"enum":["compte_obligatoire","localisation_exigee","captcha","acces_bloque","bandeau_bloquant","refus_peu_visible","resultats_illisibles","resultats_hors_sujet","information_absente","information_ambigue","bouton_introuvable","erreur_site","autre",null]}},"required":["resultat","motif"]},"fiche":{"type":"object","properties":{"resultat":{"type":"string","enum":["reussi","partiel","echec","non_atteint"]},"motif":{"type":["string","null"],"enum":["compte_obligatoire","localisation_exigee","captcha","acces_bloque","bandeau_bloquant","refus_peu_visible","resultats_illisibles","resultats_hors_sujet","information_absente","information_ambigue","bouton_introuvable","erreur_site","autre",null]}},"required":["resultat","motif"]},"panier":{"type":"object","properties":{"resultat":{"type":"string","enum":["reussi","partiel","echec","non_atteint"]},"motif":{"type":["string","null"],"enum":["compte_obligatoire","localisation_exigee","captcha","acces_bloque","bandeau_bloquant","refus_peu_visible","resultats_illisibles","resultats_hors_sujet","information_absente","information_ambigue","bouton_introuvable","erreur_site","autre",null]}},"required":["resultat","motif"]},"caisse":{"type":"object","properties":{"resultat":{"type":"string","enum":["reussi","partiel","echec","non_atteint"]},"motif":{"type":["string","null"],"enum":["compte_obligatoire","localisation_exigee","captcha","acces_bloque","bandeau_bloquant","refus_peu_visible","resultats_illisibles","resultats_hors_sujet","information_absente","information_ambigue","bouton_introuvable","erreur_site","autre",null]}},"required":["resultat","motif"]}},"required":["acces","cookies","recherche","fiche","panier","caisse"]},"faits":{"type":["object","null"],"properties":{"prix_livre_connu_avant_compte":{"type":"string","enum":["oui","non","inconnu"]},"frais_livraison_trouves":{"type":"string","enum":["oui","non","inconnu"]},"politique_retour_trouvee":{"type":"string","enum":["oui","non","inconnu"]},"vendeur_tiers_signale":{"type":"string","enum":["oui","non","inconnu"]},"paiement_sans_compte_possible":{"type":"string","enum":["oui","non","inconnu"]}},"required":["prix_livre_connu_avant_compte","frais_livraison_trouves","politique_retour_trouvee","vendeur_tiers_signale","paiement_sans_compte_possible"]},"machine":{"type":["object","null"],"description":"Lisibilité machine et protocoles au dernier test : oui, partiel, non ou non_mesure. / Machine readability and protocols at the latest test.","properties":{"donnees_produit":{"type":"string","enum":["oui","partiel","non","non_mesure"]},"robots_agents":{"type":"string","enum":["oui","partiel","non","non_mesure"]},"llms_txt":{"type":"string","enum":["oui","partiel","non","non_mesure"]},"sitemap":{"type":"string","enum":["oui","partiel","non","non_mesure"]},"ucp":{"type":"string","enum":["oui","partiel","non","non_mesure"]}}},"ucp_commande":{"type":"boolean","description":"Vrai si le site publie un profil UCP (/.well-known/ucp) qui déclare la commande. / True if the site publishes a UCP profile declaring checkout."},"langue":{"type":"string","enum":["fr","en"],"description":"Langue du résumé et de l'adresse de la page."},"page":{"type":"string","format":"uri","description":"Adresse de la fiche lisible par un humain, dans la langue demandée."},"resume":{"type":["string","null"],"description":"Le dernier test de référence en phrases complètes, citable. Nul si aucun test n'est publié."}},"required":["domaine","nom","secteur","note","note_sur","nombre_avis","dernier_test","test_ancien","etapes","faits","langue","page","resume"]},"LigneClassement":{"type":"object","properties":{"rang":{"type":"integer","description":"Rang partagé en cas d’égalité de note (1, 2, 2, 4). / Shared rank on equal scores."},"ex_aequo":{"type":"boolean"},"domaine":{"type":"string"},"nom":{"type":"string"},"note":{"type":"number"},"note_sur":{"type":"integer","const":100},"nombre_avis":{"type":"integer"},"dernier_test":{"type":"string","format":"date-time"},"test_ancien":{"type":"boolean"}},"required":["rang","domaine","nom","note","note_sur","nombre_avis","dernier_test","test_ancien"]},"ResultatRecherche":{"type":"object","properties":{"rang":{"type":"integer"},"ex_aequo":{"type":"boolean"},"secteur":{"$ref":"#/components/schemas/Secteur"},"domaine":{"type":"string"},"nom":{"type":"string"},"note":{"type":"number"},"note_sur":{"type":"integer","const":100},"nombre_avis":{"type":"integer"},"dernier_test":{"type":"string","format":"date-time"},"test_ancien":{"type":"boolean"},"page":{"type":"string","format":"uri"}},"required":["rang","secteur","domaine","nom","note","note_sur","nombre_avis","dernier_test","test_ancien","page"]},"Erreur":{"type":"object","properties":{"erreur":{"type":"string"}},"required":["erreur"]}}}}