Recherche d'inscriptions
Cherchez en langage naturel parmi les inscriptions Matchai publiées avec /ask (NLWeb). Paramètres, réponse, portée selon l'hôte, limites et exemples.
/ask cherche parmi les inscriptions publiées à partir d'une simple phrase, comme « condo 3 chambres à Laval moins de 600 000 $ ». Il suit le protocole NLWeb, alors les clients NLWeb peuvent l'appeler sans code sur mesure. Il est public et en lecture seule, et il ne demande ni compte ni clé d'API.
https://matchai.co/askIl renvoie les inscriptions dans l'ordre qu'une personne voudrait : la meilleure correspondance d'abord, selon la pertinence pour la requête et la date de la dernière mise à jour de l'inscription. Aucun courtier ne peut payer pour changer l'ordre ou pour y figurer.
Chercher en une seule requête
curl "https://matchai.co/ask?query=3+bedroom+condo+in+Laval+under+600k"Une réponse abrégée. Cette recherche a trouvé une inscription, et la valeur de score est un exemple :
{
"_meta": { "response_type": "answer", "version": "0.55", "mode": "list" },
"query_id": "6f1d2c1e-3b0a-4a54-9f2e-0c7b8a5d9e41",
"site": "matchai.co",
"mode": "list",
"query": "3 bedroom condo in Laval under 600k",
"results": [
{
"url": "https://alice.matchai.co/bright-condo-montmorency",
"name": "Bright 3-bedroom condo near Montmorency metro",
"site": "alice.matchai.co",
"score": 0.872,
"description": "$585,000, condo for sale · 3 bedrooms · 1.5 bathrooms · 1,120 sq ft · Montmorency, Laval, Québec · Listed by Alice Tremblay (Agence Exemple)",
"schema_object": {
"@context": "https://schema.org",
"@type": "RealEstateListing",
"url": "https://alice.matchai.co/bright-condo-montmorency",
"name": "Bright 3-bedroom condo near Montmorency metro",
"image": "https://media.example.com/listings/bright-condo-montmorency/cover.jpg",
"dateModified": "2026-10-12T14:03:22.000Z",
"offers": {
"@type": "Offer",
"price": 585000,
"priceCurrency": "CAD",
"availability": "https://schema.org/InStock",
"businessFunction": "http://purl.org/goodrelations/v1#Sell",
"url": "https://alice.matchai.co/bright-condo-montmorency",
"offeredBy": {
"@type": "RealEstateAgent",
"name": "Alice Tremblay",
"worksFor": { "@type": "Organization", "name": "Agence Exemple" }
}
},
"about": {
"@type": "Apartment",
"numberOfBedrooms": 3,
"numberOfBathroomsTotal": 1.5,
"floorSize": { "@type": "QuantitativeValue", "value": 1120, "unitCode": "FTK" },
"address": { "@type": "PostalAddress", "addressLocality": "Laval", "addressRegion": "Québec" }
}
}
}
]
}Les noms, les adresses et l'hôte des photos de ces exemples sont fictifs.
Requête
Envoyez la recherche en GET avec des paramètres dans la chaîne de requête, ou en POST avec un corps JSON.
GET
Champ
Type
POST
Envoyez Content-Type: application/json. Le corps peut atteindre 16 Ko.
{ "query": "4½ à louer sur le Plateau" }La valeur de query peut aussi être un objet, comme dans NLWeb :
{ "query": { "text": "condo near the metro in Montréal" }, "prefer": { "mode": "list" } }Champ
Type
Les paramètres de la chaîne de requête complètent ce que le corps ne précise pas.
Ce que la recherche comprend
La recherche lit votre phrase avec un petit analyseur prévisible. Elle n'appelle aucun modèle de langage, alors la même phrase donne toujours les mêmes filtres. Elle comprend l'anglais, le français et l'espagnol.
| Vous écrivez | Filtre appliqué |
|---|---|
under 600k, max 750,000, moins de 750 000 $, hasta 400k | Un prix maximal |
over 300k, at least 1.2M, plus de 500k, desde 200k | Un prix minimal |
between 400k and 600k, entre 400k et 600k | Une fourchette de prix |
3 bedroom, 3 br, 3 chambres, 3 habitaciones | Au moins ce nombre de chambres |
4½, 5½ | Le nombre de pièces à la québécoise. Un 4½ compte deux chambres, donc N½ signifie au moins N − 2 chambres. |
2 baths, 1.5 bathrooms, 2 sdb | Au moins ce nombre de salles de bain |
for sale, à vendre, en venta | Les propriétés à vendre |
for rent, à louer, en alquiler | Les locations |
condo, duplex, maison, chalet, terrain, townhouse, commercial | Un type de propriété : maison, condo, appartement, maison de ville, plex, terrain, chalet ou commercial |
Les montants peuvent s'écrire 600k, 1.2M, 600 000, $750,000 ou 2 million. Un petit nombre seul, sans unité ni signe de dollar, comme over 2, n'est pas lu comme un prix. Si la phrase demande à la fois la vente et la location, ou ni l'une ni l'autre, la recherche ne filtre pas sur ce critère.
Tout le reste devient un mot-clé. La recherche garde jusqu'à 6 mots-clés, retire les mots de moins de 3 lettres et les mots vides courants, et ignore les accents, alors montreal trouve Montréal. Les mots-clés sont comparés au titre, aux noms de lieux, au type de propriété et à la description. Une correspondance dans un nom de lieu compte le plus, puis le titre, puis le type de propriété, puis la description.
Les recherches renvoient les inscriptions disponibles en ce moment. Les inscriptions vendues et louées ne sont pas renvoyées.
Réponse
Champ
Type
Chaque élément de results :
Champ
Type
Une réponse réussie porte l'en-tête Link: </llms.txt>; rel="describedby", </openapi.json>; rel="service-desc". Pour les photos, les points forts et la description complète d'une inscription, utilisez les outils du serveur MCP ou lisez la copie Markdown de l'inscription.
Quelles inscriptions sont cherchées
/ask répond pour l'hôte que vous appelez : interroger le site d'un courtier cherche parmi les inscriptions de ce courtier, et interroger matchai.co cherche parmi celles de tout le monde.
| Vous appelez | La recherche porte sur |
|---|---|
https://matchai.co/ask | Toutes les inscriptions publiées sur Matchai. Ajoutez site pour limiter la recherche à un seul courtier. |
https://{name}.matchai.co/ask, un site Matchai | Seulement les inscriptions publiées sur le site de ce courtier. |
https://{domain}/ask, le domaine propre d'un courtier | La même chose, pour le site que ce domaine sert. |
https://{name}.matchai.pro/ask, une Page Matchai | La requête est redirigée vers https://matchai.co/ask, alors elle porte sur tous les courtiers. |
Remarques :
- Sur un site Matchai ou sur le domaine propre d'un courtier,
siteest ignoré : c'est l'hôte qui détermine la portée. - Sur
matchai.co,siteprend l'hôte du site d'un courtier. Une valeur qui ne correspond à aucun site publié est ignorée, et la recherche couvre tout le monde. Elle ne renvoie pas de liste vide. - Une Page Matchai n'a pas de recherche qui lui est propre. La redirection est un
307, qui conserve la méthode et le corps. Pour chercher parmi les inscriptions d'un seul professionnel, interrogez son site Matchai, ou appelezmatchai.coavec son site commesite. Depuis du code exécuté dans un navigateur, appelez directementmatchai.co/ask, car un navigateur ne peut pas suivre une redirection lors d'une requête de pré-vérification multi-origines. - Un hôte sans site publié répond
404.
Limites, mise en cache et CORS
- Limite de débit : 60 requêtes par minute pour chaque adresse appelante,
GETetPOSTconfondus. Au-delà, la réponse est429avecRetry-After: 60. - Résultats : au plus 10 par requête. Il n'y a pas de pagination, alors précisez la phrase pour atteindre d'autres inscriptions.
- Mise en cache : un
GETsansquery_idpeut être mis en cache jusqu'à une minute (Cache-Control: public, max-age=60). Tout le reste est envoyé avecno-store. Une nouvelle inscription apparaît dans les résultats en une minute environ. - CORS : ouvert à toutes les origines pour
GET,POSTetOPTIONS, alors du code exécuté dans un navigateur peut l'appeler.OPTIONSrépond204, et les réponses aux requêtes de pré-vérification peuvent être mises en cache pendant 24 heures.
Erreurs
Les erreurs sont en JSON, avec un code error stable et un message que vous pouvez montrer à une personne.
{ "error": "rate_limited", "message": "Too many requests. Try again in a minute." }| Statut | error | Signification et marche à suivre |
|---|---|---|
400 | missing_query | Il n'y a aucune phrase de recherche. Envoyez ?query= ou un corps JSON avec query. |
400 | invalid_json | Le corps du POST n'est pas du JSON valide. |
413 | too_large | Le corps du POST dépasse 16 Ko. Envoyez une phrase plus courte. |
404 | not_found | L'hôte que vous avez appelé n'a aucune inscription publiée à chercher. |
429 | rate_limited | Trop de requêtes. Attendez le nombre de secondes indiqué par Retry-After. |
503 | unavailable | La recherche est temporairement indisponible. Réessayez après le nombre de secondes indiqué par Retry-After. |
Un tableau results vide est une réponse réussie : aucune inscription publiée ne correspond. Essayez un secteur plus large, un budget plus élevé ou moins d'exigences.
Autres exemples
Cherchez parmi les inscriptions d'un courtier en appelant son site. Remplacez alice par un vrai nom de site :
curl "https://alice.matchai.co/ask?query=condo+under+500k"Limitez une recherche sur matchai.co à un seul courtier :
curl "https://matchai.co/ask?query=house+for+sale&site=alice.matchai.co"Cherchez depuis votre code avec un POST :
curl -X POST https://matchai.co/ask \
-H "Content-Type: application/json" \
-d '{ "query": "4½ à louer sur le Plateau", "query_id": "rent-plateau-1" }'Outils authentifiésBientôt disponible
Connectez Claude ou ChatGPT à votre compte Matchai en un clic. Outils personnels prévus pour inscriptions, contacts, messages et calendrier, avec approbations.
Pages lisibles par l'IA
Comment chaque site Matchai public se décrit aux assistants IA et aux robots, de llms.txt aux copies Markdown et au JSON-LD. À reproduire sur votre site.