Developer Resources
Integrate with the Amianto.info asbestos services directory. Search cities, find professionals, and retrieve structured business data through our public API.
Public API
The Amianto.info API provides read-only access to the global directory of asbestos professionals. All public endpoints return JSON, require no authentication, and are rate-limited per IP address.
GET/api/cities/search
Search cities by name with optional country and language filters. Returns city coordinates, region, and country.
curl "https://amianto.info/api/cities/search?q=london&lang=en"
GET/api/countries/search
Search countries available in the directory. Returns country name and ISO 3166-1 alpha-2 code.
curl "https://amianto.info/api/countries/search?q=spain"
GET/api/services/professionals
List verified asbestos professionals for a given service. Returns company name, contact info, location, and ratings.
curl "https://amianto.info/api/services/professionals?serviceId=<uuid>"
Machine-Readable Resources
OpenAPI Specification
OpenAPI 3.1 spec with typed schemas, operation IDs, and response definitions.
/openapi.jsonMCP Server Manifest
Model Context Protocol manifest for Claude, ChatGPT, and other AI agents.
/.well-known/mcp/manifest.jsonllms.txt
Markdown site description for LLM crawlers following the llmstxt.org convention.
/llms.txtAgent Skills
When-to-use guidance, API examples, and rate limit documentation for AI agents.
/.well-known/agent-skills/Sitemap
XML sitemap index with all public URLs organized in partitions.
/sitemap.xmlRobots.txt
Crawl policy explicitly welcoming AI and search crawlers.
/robots.txtContent Negotiation
The homepage supports Markdown content negotiation. Send an Accept: text/markdown header to receive a Markdown response instead of HTML.
# HTML (default) curl -H "Accept: text/html" https://amianto.info/en # Markdown curl -H "Accept: text/markdown" https://amianto.info/en
Non-existent paths return HTTP 404 with a Markdown body when requested with Accept: text/markdown.
Error Responses
All API endpoints return structured JSON errors with an error field and optional details for validation errors.
// 400 Bad Request
{ "error": "Missing serviceId" }
// 429 Too Many Requests (with Retry-After header)
{ "error": "Too many requests. Please try again later." }
// 500 Internal Server Error
{ "error": "Failed to fetch cities" }Rate Limits
| Endpoint | Limit |
|---|---|
| /api/cities/search | 30 req/min per IP |
| /api/acm-suggestions | 10 req/min per IP |
| All other endpoints | Standard limits |
Questions? Contact us at amianto.info/contact