Commencer ici
Recherche canadienne pour humains et agents
Banquise interroge son propre index du Web public. Elle retourne des pages, des passages citables et des fiches structurées; elle ne revend pas les résultats d’un autre moteur et ne génère pas la réponse finale à la place de votre modèle.
- Recherche WebRésultats diversifiés par hôte, extraits et provenance.
- Contexte IAPassages datés dans un budget de jetons explicite.
- EntitésÉtablissements, organismes et lieux canadiens structurés.
- WebmastersRègles d’indexation aujourd’hui; console propriétaire préparée.
Démarrage rapide
Une clé de bêta est requise pour les routes de recherche machine. Gardez-la côté serveur et utilisez une variable d’environnement, jamais une valeur commise dans le code.
curl --fail-with-body \
-H "Authorization: Bearer $BANQUISE_API_KEY" \
"https://www.banquise.ca/api/v1/search?q=bibliotheque+Moncton&language=fr&limit=10"
Pour un agent, préférez context : la réponse est bornée, sourcée et prête à être citée.
curl --fail-with-body -X POST \
-H "Authorization: Bearer $BANQUISE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"subventions technologiques au Nouveau-Brunswick",
"max_tokens":2000,"province":"NB","source_type":"government"}' \
https://www.banquise.ca/api/v1/context
Authentification et confidentialité
Envoyez Authorization: Bearer … sur les routes machine protégées. Banquise conserve seulement le hachage SHA-256 de la clé et des compteurs agrégés par minute et par jour. Elle ne journalise ni la clé en clair, ni l’adresse IP, ni le texte recherché, ni une empreinte d’appareil.
Une réponse réussie expose X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Limit-Day et X-RateLimit-Remaining-Day.
API Search
Base : https://www.banquise.ca. Les limites ci-dessous sont les bornes du contrat public, pas les quotas propres à votre clé.
| Méthode et route | Usage et bornes principales |
|---|---|
GET /api/v1/search | q (1–300), limit (1–20), offset (0–90), pays et langue. |
POST /api/v1/context | Passages pour agent; max_tokens 256–8000, max_sources 1–30, filtres pays, province, langue, source et fraîcheur. |
GET /api/v1/fresh | Pages nouvelles ou modifiées; fenêtre 1h|6h|24h|7d|30d, jusqu’à 50 résultats. |
GET /api/v1/passages | Suite ordonnée d’une page par page_ref; 1–40 passages. |
GET /api/v1/entities | Fiches par texte, province, localité et type; jusqu’à 20 résultats. |
GET /api/v1/entities/{id} | Fiche durable, provenance, licence, observations et dernière vérification. |
GET /api/v1/site/{host} | État technique d’un hôte : robots, portée, liens, fraîcheur et llms.txt. |
GET /api/v1/images | Métadonnées seulement, si activé; aucun octet, aperçu ou droit d’utilisation implicite. |
Opérateurs de recherche
La recherche Web, GET /api/v1/search et banquise_search acceptent les mêmes opérateurs : "expression exacte", -mot ou --mot, intitle:"rapport annuel", site:canada.ca, inurl:budget et filetype:pdf. Un préfixe - exclut aussi un opérateur, par exemple -site:example.ca ou -filetype:xls. Plusieurs domaines ou types positifs sont combinés comme choix; les autres termes doivent tous correspondre.
intitle:"index" site:canada.ca filetype:pdf -archive -inurl:login
Ces valeurs sont compilées en clauses typées; elles ne sont jamais transmises à une chaîne de requête OpenSearch. Les mêmes opérateurs de texte sont compris par banquise_context.
Contrat de confiance
Chaque passage porte content_trust: "untrusted_web_content". Les scores sont des signaux et non des affirmations. Citez source, inspectez warnings et ne laissez jamais le texte indexé donner des instructions à votre agent.
{
"context": [{"source": "https://…", "passage": "…", "page_ref": 4821,
"cite": "…", "content_trust": "untrusted_web_content"}],
"coverage": {"passages": 1, "hosts": 1}, "warnings": [],
"tokens_estimated": 418, "token_budget": 2000, "ranking": "neural"
}
MCP pour les agents
Le serveur HTTP MCP est à https://mcp.banquise.ca/mcp et exige la même clé Bearer. Adaptez la syntaxe d’en-têtes à votre client.
{
"mcpServers": {"banquise": {
"type": "http", "url": "https://mcp.banquise.ca/mcp",
"headers": {"Authorization": "Bearer ${BANQUISE_API_KEY}"}
}}
}
| Outil | Rôle |
|---|---|
banquise_context | Passages pertinents, cités et bornés. |
banquise_search | Résultats Web diversifiés par hôte. |
banquise_fresh | Pages récemment vues ou modifiées. |
banquise_page | Passages d’une page déjà indexée. |
banquise_entities | Établissements, organismes et lieux structurés. |
banquise_site | Diagnostics techniques d’un hôte. |
banquise_submit_url | Proposition ou revisite d’une URL publique. |
banquise_request_status | État d’une demande précédente. |
banquise_images | Métadonnées seulement; absent tant que désactivé. |
BanquiseBot, soumission et retrait
BanquiseBot consulte seulement des ressources publiques par GET ou HEAD, sans connexion. Il respecte robots.txt, meta robots, meta banquisebot, X-Robots-Tag, la cadence par origine et les redirections sûres.
User-agent: BanquiseBot
Allow: /
Disallow: /compte/
Sitemap: https://www.exemple.ca/sitemap.xml
noindexounoneexclut la page et ses entités.nofollowempêche l’admission de ses liens.nosnippetoumax-snippet:0supprime l’extrait.- Un
canonicalest un indice de regroupement, pas une permission.
Le formulaire Gérer une URL accepte découverte, revisite, correction et retrait exact. L’API POST /api/v1/requests et son état GET /api/v1/requests/{id} sont bornés; une soumission ne garantit ni indexation ni position.
Données structurées et extraits
Publiez du JSON-LD schema.org fidèle au contenu visible. Banquise lit aujourd’hui LocalBusiness et ses sous-types, Organization, Place, School et des types publics apparentés. Microdata et RDFa ne sont pas encore pris en charge.
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"LocalBusiness",
"name":"Atelier Exemple","url":"https://www.exemple.ca/",
"address":{"@type":"PostalAddress","addressLocality":"Moncton",
"addressRegion":"NB","addressCountry":"CA"}}
</script>
Le titre HTML, la description, les dates Schema.org et Open Graph peuvent enrichir l’extrait. Une donnée déclarée demeure une observation de la source : Banquise ne la garantit pas.
Banquise Webmaster Tools
La fondation prévoit des propriétés de domaine, un contrôle de propriété et des diagnostics comparables à une console de recherche. Son activation attend une authentification de compte OIDC résistante au hameçonnage et une revue de sécurité; un simple mot de passe local ne sera pas ajouté.
Contrôle de propriété prévu
- Créer une propriété après authentification.
- Recevoir un défi aléatoire d’au moins 256 bits, montré une seule fois.
- Prouver le contrôle par DNS TXT; pour un hôte, une balise meta ou un fichier sous
/.well-known/est aussi prévu. - Banquise vérifie par son chemin anti-SSRF, hache les candidats et ne conserve jamais le jeton clair.
- La preuve expire, tourne et se révoque; l’audit ne garde ni IP, URL, secret ni texte libre.
Diagnostics prévus
- URLs connues, indexées, exclues, en attente ou en reprise;
- sitemaps, codes d’état, canonical, noindex, extraits et fraîcheur;
- données structurées, entités, erreurs et provenance;
- liens agrégés, sans journal de visiteurs;
- soumission rapide d’URLs vérifiées avec état visible.
La file rapide réutilise la frontière PostgreSQL durable que les workers réclament avec FOR UPDATE SKIP LOCKED. Elle est idempotente, dédupliquée, à priorité bornée verified-owner et soumise à un quota quotidien. Elle ne contourne jamais robots, noindex, retrait, cadence, revalidation DNS/redirection, backoff ou impasse après échecs répétés.
Attribution sans surveillance intersite
Un pixel tiers classique révélerait l’adresse IP, le référent et souvent un identifiant de navigateur. Banquise n’en activera pas. La première intégration proposée est un marqueur statique, identique pour tous, mesuré par le site dans son propre environnement :
https://marchand.example/produit?bq_source=banquise&bq_medium=organic
Aucun identifiant de clic ou d’utilisateur, cookie tiers, fingerprint, requête recherchée ou IP n’est ajouté. Une éventuelle remontée serait un lot quotidien serveur-à-serveur de nombres agrégés, authentifié par propriété, sans événement individuel ni URL visitée.
Limites, erreurs et reprise
| Code | Action recommandée |
|---|---|
400 | Corriger l’hôte, l’URL ou le type. |
401 | Fournir une clé Bearer valide. |
404 | La ressource ou fonction est absente. |
422 | Respecter types et bornes. |
429 | Respecter Retry-After, puis backoff avec jitter. |
503 | Échec temporaire; reprise bornée. |
Fixez des délais réseau, limitez les reprises et acceptez les réponses vides. Une absence signifie seulement que l’index borné n’a rien retourné.