Reliability

Coverage and freshness

Search tools return candidates from a published index release. A result set is bounded, and a missing result is not proof that a place or destination is absent everywhere. Inspect completeness, warnings, counts, truncation, scope, and release metadata before deciding whether to broaden a request. Geographic filters require a capable index release; an unavailable constraint must not be retried without that constraint.

Page tools read the current server-rendered GoVisit page snapshot. Use returned freshness metadata, including contentVersion and updatedAt where present. A page-local list contains only items published on that page; it is not a global inventory. Opening hours and operating status describe published information and are not live availability checks.

Search scores are ranking signals, not suitability probabilities. Read each canonical place profile for evidence before making a recommendation. Missing profile data is unknown; distance is geographic meters, not walking or driving time.

HTTP request limits and errors

All 21 HTTP tool endpoints accept JSON POST requests up to 4 KiB. In production, the shared limiter allows 30 valid requests per IP per minute across search and page tools. This is the published limit; this page does not describe a higher-volume access path or a service-level availability commitment.

StatusMeaningClient action
400Invalid JSON or tool argumentsCorrect the body using the input schema. Argument errors return the invalid-input result envelope.
404Unknown tool/version or absent public pageCheck the tool name, versioned endpoint and canonical pagePath.
405Method is not supportedUse POST; OPTIONS is available for CORS preflight.
413Request body exceeds the size limitSend only the documented tool arguments.
415Content-Type is not application/jsonSet Content-Type to application/json.
429Request limit reachedWait for Retry-After (currently 60 seconds) before retrying.
503Tool execution or page context is unavailablePreserve the returned error and available metadata; retry later with bounded backoff.

Network and server errors can happen outside a tool result. Search is read-only, but avoid tight retry loops. The API returns JSON error bodies; parsed argument and availability errors preserve the search result envelope. Inspect both the HTTP status and body rather than assuming every response is a successful search.

Page adapters resolve only the supplied canonical public pagePath, using normal page caches and at most three compatible same-origin redirects. They reject origins, queries, fragments, encoded routing separators and cache bypass flags. They read at most 4 MiB of rendered HTML. Cold page rendering may take longer than a cached read; these endpoints do not establish a latency SLA.

Page tool argument errors use HTTP 400 with completeness: "invalid-input"; an unpublished section also returns 400. A missing page returns 404 with completeness: "not-found". Unavailable, malformed, oversized or incompatible context returns 503 with completeness: "unavailable". These page errors contain schemaVersion: "1" and error, using a separate HTTP error schema. They are not successful browser page responses. Shared transport errors such as malformed JSON or unknown endpoints may contain only error.

Version fields

  • The stateless HTTP routes are versioned under /api/tools/v1/<tool_name>; this includes the existing search routes and 19 explicit page-context adapters. Breaking input, output, default, or behavior changes require a new endpoint version and a migration.
  • Search responses use schemaVersion: "2" for the result envelope. Preserve it with completeness, scope, release, warnings, and truncation.
  • The WebMCP manifest at /.well-known/webmcp.json publishes browser input/output schemas plus enabled HTTP contracts and skill discovery links. HTTP page inputs add pagePath; native browser inputs do not. Native RegisteredTool entries expose the output-schema URL because the native dictionary does not include an inline outputSchema property.
  • Agent Skill packages are snapshots. The discovery index publishes each archive URL and SHA-256 digest; refresh the complete skill directory when its digest changes.

Before production use

For standard data-use, attribution, and caching terms, see the GoVisit Data Use License. This reference explains the public request limit, result semantics, and versioning. To discuss an integration or production volume, open a GoVisit Content issue with your use case and expected request volume; do not post credentials or traveler data.

Last updated: October 10, 2026