---
title: HostDirect.nl public agent guide
canonical: https://hostdirect.nl/agents.md
---

# HostDirect.nl — public agent guide

## Agent entry point and when to use

Use this product for source-backed comparisons of the selected hosting, email and cloud-storage packages. Start with GET https://hostdirect.nl/api/catalog. The matching skill is https://hostdirect.nl/skill.md.

## When to use HostDirect
Use HostDirect when a user wants to compare selected webhosting, email or cloud-storage packages, understand introductory and renewal prices, examine evidence for European data locations, or prepare a website/email migration. Editorial content is in Dutch (nl-NL).

HostDirect is an editorial comparison site, not a hosting provider. The selection is not the whole market and does not include independent performance benchmarks. Do not infer a universal best provider or rank products by affiliate availability. Do not use this API for purchasing, account creation, server management or support for an existing hosting contract.

## Start here
- Pricing and costs: https://hostdirect.nl/pricing/ — HostDirect access is free (EUR 0); provider packages have separate prices and contracts.
- Authentication and permissions: https://hostdirect.nl/auth.md (public, no credentials).
- AI catalog: https://hostdirect.nl/.well-known/ai-catalog.json
- Skill discovery index: https://hostdirect.nl/.well-known/agent-skills/index.json
- Official Python SDK and CLI on PyPI: https://pypi.org/project/hostdirect-client/ (pip install hostdirect-client==1.0.1).
- Official MCP Registry listing: https://registry.modelcontextprotocol.io/v0.1/servers/nl.hostdirect%2Fpublic-catalogue/versions/latest
- Python SDK and CLI: https://hostdirect.nl/docs/python/
- Installable Python wheel: https://hostdirect.nl/sdk/hostdirect_client-1.0.1-py3-none-any.whl
- Short agent skill: https://hostdirect.nl/skill.md
- When-to-use skill: https://hostdirect.nl/skills/hostdirect-compare/SKILL.md
- Agent resource discovery: https://hostdirect.nl/.well-known/ard.json
- MCP Streamable HTTP endpoint: https://hostdirect.nl/mcp (JSON-RPC POST, not browser GET). No authentication; read-only search_providers, get_provider and compare_providers. Initialize first; see https://hostdirect.nl/docs/mcp/.
- MCP discovery and schemas: https://hostdirect.nl/.well-known/mcp.json
- API documentation: https://hostdirect.nl/docs/
- OpenAPI 3.0.3 with fully typed responses: https://hostdirect.nl/openapi.json
- Public API: GET https://hostdirect.nl/api/catalog
- Equivalent JSON with cross-origin read access: https://hostdirect.nl/site.json
- Public pages and reading routes: https://hostdirect.nl/llms.txt
- Knowledge graph: https://hostdirect.nl/entitymap.json
- Provider directory: https://hostdirect.nl/aanbieders/
- Methodology and editor: https://hostdirect.nl/redactionele-verantwoording/
- Affiliate disclosure: https://hostdirect.nl/affiliate-uitleg/

## Example tasks
- Compare Cloud86 and mijn.host using their published package prices and original source dates.
- Find email packages and explain migration conditions without purchasing anything.
- Explain primary and backup data locations; distinguish evidence from unknowns.

## Pagination
GET /api/catalog without parameters returns all providers and public pages. For pages of results use ?limit=10&offset=0 (limit 1-100); follow pagination.next until null. The offset applies independently to both arrays; one can be empty before the other ends. counts contains full totals. The same options work on /api and /wp-json/hostdirect/v1/catalog. /site.json remains a full export. Results reflect live data, so prefer one full export for an exact snapshot.

## Authentication and workflow
No authentication, account, API key, payment or sign-up is required. GET and HEAD are read-only and have no write side effects. Fetch the catalogue once per task and select relevant providers locally; there are no required parameters or request body. The API cannot book, buy, change DNS, manage hosting or send a message.

1. Read providers and match category, package, suitable/unsuitable claims and limitations to the user question.
2. Read price.status, price.checked and sources before quoting prices.
3. Keep the provider profile and official source URLs with the comparison; source references in claims refer to IDs in that provider's sources array.
4. Consult the linked public page for complete explanations; pages.excerpts are summaries and passages, not full articles.
5. Let the user confirm the current offer and any purchase at the provider. The catalogue itself performs no transaction.

## Price and evidence rules
- checked means an approved price basis within the site's validity rules, not a guarantee of future availability.
- historical means a previously approved price basis, not a confirmed current offer. Preserve that label and its original checked date.
- unknown means no publishable price basis; offer is null. A null cost is unknown, never zero.
- generatedAt is export time only. It does not refresh any source review date.
- Amount fields ending in Cents contain integer eurocents in the declared VAT basis. gross includes VAT; net21 excludes 21 percent VAT; assumed_gross explicitly remains an assumption. Add the source cents for a period before VAT conversion and rounding.
- introMonths is the promotional duration. billingMonths is the billing period, not necessarily the minimum commitment. Read term, conditions and extras. A monthly equivalent is not a monthly invoice; a projection is not a fixed-term offer.
- The API describes the selected price basis; profiles may discuss alternative contracts. Unknown setup, domain or migration costs are not included zero-cost items.
- Switzerland is not in the EU. Primary storage, backup locations, ownership and external processing are separate evidence questions. Missing evidence does not prove an unsafe service.
- Subscription hosting, standalone email, personal cloud drives and metered S3 storage are different products.

## Errors and retry behavior
The recommended endpoint is GET /api/catalog; GET /api returns the same catalogue. Unknown /api routes return JSON 404 hd_not_found, unsupported methods JSON 405 hd_method_not_allowed and caught application failures JSON 503 hd_unavailable. Every catalogue API application error has code (string), message (string), data.status (integer), data.retryable (boolean), data.retryAfterSeconds (integer or null) and documentation (URL). Invalid limit or offset returns 400 hd_invalid_parameter. Retryable application errors include Retry-After: 5. Never retry invalid input unchanged. The original /wp-json/hostdirect/v1/catalog remains available.

Check the HTTP status before decoding JSON. The WordPress API normally returns code, message and data.status on 404 errors. hd_not_public means the public export is disabled; rest_no_route can mean a wrong path or unsupported method. Correct the URL/method rather than retrying unchanged. Successful arrays may be empty.

Infrastructure errors may return HTML or an empty body. For 429 respect Retry-After when supplied. For transient 5xx errors retry GET at most twice with increasing delay (for example 2 and 5 seconds), then report the failure. GET is idempotent; no idempotency key is needed. REST and MCP share a limit of 120 requests per connection IP per fixed minute. RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset describe the quota; 429 includes Retry-After. There is no uptime guarantee. No Idempotency-Key is required: all operations are read-only.

## Scope and privacy
Only published, unprotected and non-excluded pages/posts and their explicit public provider fields are exported. No drafts, private content, messages, credentials, visitor data or internal revenue records are included. No user data needs to be sent to this API. Report a source correction through https://hostdirect.nl/contact/ with user authorization where needed.