Banquise documentation

Developers & webmasters.

Integrate Web search and MCP, help BanquiseBot understand your site, and explore the private Webmaster Tools foundation — without cross-site tracking.

Start here

Canadian search for people and agents

Banquise queries its own index of the public Web. It returns pages, citable passages and structured records; it does not resell another engine’s results or generate your model’s final answer.

  • Web searchHost-diverse results, excerpts and provenance.
  • AI contextDated passages within an explicit token budget.
  • EntitiesStructured Canadian establishments, organizations and places.
  • WebmastersIndexing guidance today; owner console foundation prepared.

Quick start

A beta key is required for machine-search routes. Keep it server-side in an environment variable; never commit its value.

curl --fail-with-body \
  -H "Authorization: Bearer $BANQUISE_API_KEY" \
  "https://www.banquise.ca/api/v1/search?q=library+Moncton&language=en&limit=10"

For an agent, prefer context: the response is bounded, sourced and ready to cite.

curl --fail-with-body -X POST \
  -H "Authorization: Bearer $BANQUISE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"technology grants in New Brunswick",
       "max_tokens":2000,"province":"NB","source_type":"government"}' \
  https://www.banquise.ca/api/v1/context

Authentication and privacy

Send Authorization: Bearer … on protected machine routes. Banquise stores only the key’s SHA-256 hash and aggregate minute/day counters. It does not log the plaintext key, IP address, search text or a device fingerprint.

Closed beta. There is no public sign-up or developer password yet. The Banquise team provisions keys out of band.

A successful response includes X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Limit-Day and X-RateLimit-Remaining-Day.

Search API

Base: https://www.banquise.ca. The limits below are contract bounds, not your key’s individual quota.

Bearer-protected search routes
Method and routePurpose and main bounds
GET /api/v1/searchq (1–300), limit (1–20), offset (0–90), country and language.
POST /api/v1/contextAgent passages; max_tokens 256–8000, max_sources 1–30, country, province, language, source and freshness filters.
GET /api/v1/freshNew or changed pages; 1h|6h|24h|7d|30d, up to 50 results.
GET /api/v1/passagesOrdered continuation for a page_ref; 1–40 passages.
GET /api/v1/entitiesRecords filtered by text, province, locality and kind; up to 20.
GET /api/v1/entities/{id}Durable record, provenance, licence, observations and verification time.
GET /api/v1/site/{host}Host evidence: robots, scope, links, freshness and llms.txt.
GET /api/v1/imagesMetadata only when enabled; no bytes, previews or implied usage rights.

Search operators

Web search, GET /api/v1/search and banquise_search accept the same operators: "exact phrase", -word or --word, intitle:"annual report", site:canada.ca, inurl:budget and filetype:pdf. Prefix an operator with - to exclude it, for example -site:example.ca or -filetype:xls. Multiple positive domains or file types are alternatives; other terms must all match.

intitle:"index" site:canada.ca filetype:pdf -archive -inurl:login

Values are compiled into typed clauses and are never passed to an OpenSearch query string. banquise_context understands the same textual operators.

Trust contract

Every passage carries content_trust: "untrusted_web_content". Scores are signals, not claims. Cite source, inspect warnings, and never let indexed text instruct your 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 for agents

The HTTP MCP server is https://mcp.banquise.ca/mcp and requires the same Bearer key. Adapt header syntax to your client.

{
  "mcpServers": {"banquise": {
    "type": "http", "url": "https://mcp.banquise.ca/mcp",
    "headers": {"Authorization": "Bearer ${BANQUISE_API_KEY}"}
  }}
}
Exposed MCP tools
ToolPurpose
banquise_contextRelevant, cited and bounded passages.
banquise_searchHost-diverse Web results.
banquise_freshRecently seen or changed pages.
banquise_pagePassages from an indexed page.
banquise_entitiesStructured establishments, organizations and places.
banquise_siteTechnical evidence about a host.
banquise_submit_urlSuggest or recrawl a public URL.
banquise_request_statusStatus of an earlier request.
banquise_imagesMetadata only; absent while disabled.

BanquiseBot, submission and removal

BanquiseBot reads only public resources using unauthenticated GET or HEAD. It honours robots.txt, meta robots, meta banquisebot, X-Robots-Tag, per-origin politeness and safe redirects.

User-agent: BanquiseBot
Allow: /
Disallow: /account/
Sitemap: https://www.example.ca/sitemap.xml
  • noindex or none excludes the page and entities.
  • nofollow stops link admission.
  • nosnippet or max-snippet:0 removes the excerpt.
  • A canonical is a grouping hint, never permission.

The Manage a URL form accepts discovery, recrawl, correction and exact removal. POST /api/v1/requests and GET /api/v1/requests/{id} are bounded; submission guarantees neither indexing nor position.

Structured data and snippets

Publish schema.org JSON-LD that matches visible content. Banquise currently reads LocalBusiness subtypes, Organization, Place, School and related public types. Microdata and RDFa are not yet supported.

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"LocalBusiness",
 "name":"Example Workshop","url":"https://www.example.ca/",
 "address":{"@type":"PostalAddress","addressLocality":"Moncton",
 "addressRegion":"NB","addressCountry":"CA"}}
</script>

The HTML title, description, Schema.org dates and Open Graph can improve the excerpt. Declared data remains an observation of its source; Banquise does not guarantee it.

Foundation ready, console closed. No owner account or console endpoint is exposed in the current beta.

Banquise Webmaster Tools

The foundation supports domain properties, ownership verification and search-console diagnostics. Activation awaits phishing-resistant OIDC account authentication and security review; a weak local password will not be added.

Planned ownership proof

  1. Create a property after authentication.
  2. Receive a one-time random challenge of at least 256 bits.
  3. Prove domain control with DNS TXT; a host property may use a meta tag or /.well-known/ file.
  4. Banquise checks through its anti-SSRF network path, hashes candidates and never stores the clear token.
  5. Proof expires, rotates and can be revoked; audit stores no IP, URL, secret or free text.

Planned diagnostics

  • Known, indexed, excluded, queued and retrying URLs;
  • sitemaps, status codes, canonical, noindex, snippets and freshness;
  • structured data, entities, parsing errors and provenance;
  • aggregate links without visitor logs;
  • fast submission for verified URLs with visible status.

The fast lane reuses the durable PostgreSQL frontier claimed by workers with FOR UPDATE SKIP LOCKED. It is idempotent, deduplicated, bounded to verified-owner priority and subject to a daily property quota. It never bypasses robots, noindex, removal, politeness, DNS/redirect revalidation, backoff or dead-lettering.

Attribution without cross-site surveillance

A classic third-party pixel would disclose IP address, referrer and often a browser identifier. Banquise will not activate one. The first proposed integration is one static marker, identical for everyone, measured in the publisher’s own environment:

https://merchant.example/product?bq_source=banquise&bq_medium=organic

No click/user ID, third-party cookie, fingerprint, search query or IP is added. Any report back would be a server-to-server daily batch of aggregate counts authenticated to one property, with no individual event or visited URL.

Not active. Banquise injects no attribution parameter, script, pixel or conversion collection today. The contract still requires privacy, security and Canadian legal review.

Limits, errors and retries

JSON error responses
CodeRecommended action
400Correct the host, URL or type.
401Provide a valid Bearer key.
404The resource or optional feature is absent.
422Respect parameter types and bounds.
429Honour Retry-After, then exponential backoff with jitter.
503Temporary failure; retry a bounded number of times.

Set network timeouts, cap retries and accept empty responses. A missing result means only that Banquise’s bounded index returned none.