Base: https://www.banquise.ca. The limits below are contract bounds, not your key’s individual quota.
| Method and route | Purpose and main bounds |
|---|---|
GET /api/v1/search | q (1–300), limit (1–20), offset (0–90), country and language. |
POST /api/v1/context | Agent passages; max_tokens 256–8000, max_sources 1–30, country, province, language, source and freshness filters. |
GET /api/v1/fresh | New or changed pages; 1h|6h|24h|7d|30d, up to 50 results. |
GET /api/v1/passages | Ordered continuation for a page_ref; 1–40 passages. |
GET /api/v1/entities | Records 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/images | Metadata 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"
}
