Developers
Everything on this site is also available to software and AI agents: as static data files, as a remote MCP server, as an A2A agent and as WebMCP tools in the browser. All of it is free, read-only and needs no key or sign-up.
For AI agents: an index of the site in Markdown is at /llms.txt.
Terms
- Licence: CC BY 4.0. Source: Prostitution Laws (prostitutionlaws.org), CC BY 4.0. Credit it with a link when you reuse it.
- Not legal advice. This describes the law; it is not legal advice. Laws change and local rules vary: check the linked official sources, and consult a lawyer before relying on it. Every answer carries the date it was last checked; pass it on.
- Limits: no key and no quota. The files are cached at the edge; please cache them on your side too (they change when the site is updated, at most a few times a day) and don't crawl faster than you need.
- Corrections and questions: [email protected].
Data API
Plain HTTPS GET, JSON or CSV, Access-Control-Allow-Origin: *. Described in OpenAPI 3.1 at /openapi.json.
| Endpoint | What |
|---|---|
/data/index.json | Every country in one small entry: legal model, the status of each question, pending reforms, region, links. |
/data/countries/{iso2}.json | One full profile by its two-letter ISO code (lower case): every question with summary, provisions and sources, legislation, pending reforms, timeline, statistics. |
/data/countries.json | All full profiles in one file. |
/data/countries.csv | One row per country: the model and the status of each question. |
/countries/{slug}.md | One profile as Markdown, with numbered sources. |
curl -s https://prostitutionlaws.org/data/countries/se.json | jq '.country.topics.buying'
MCP server
A remote Model Context Protocol server: https://prostitutionlaws.org/mcp (Streamable HTTP, stateless, no authentication). Add it to any MCP client as a remote or custom connector, for example:
{
"mcpServers": {
"prostitutionlaws": {
"type": "http",
"url": "https://prostitutionlaws.org/mcp"
}
}
}It describes itself at /.well-known/mcp.json and is listed in the official MCP Registry. A raw call:
curl -s https://prostitutionlaws.org/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_country_law","arguments":{"country":"DE","topics":["buying"]}}}'Tools
The same five read-only tools are offered over MCP, A2A and WebMCP.
| Tool | What it does |
|---|---|
get_country_law | How one country regulates prostitution and sex work: its legal model and, for each question, whether it is legal, the penalty, the statutory provisions, regional differences, pending bills and the official sources, with the date each answer was last checked. For questions like "Is prostitution legal in Germany?" or "Can sex workers advertise in Spain?". Describes the law; not legal advice. |
compare_countries | A side-by-side table of how 2 to 10 countries regulate prostitution: the legal model and the status of each chosen question (default: selling, buying, brothels, procuring, advertising), with a link to each full profile. |
find_countries | Lists the countries that match a legal model and/or a status on one question, optionally within a region. For questions like "Where is prostitution legal?" (model), "Where is buying sex a crime?" (topic buying, status illegal) or "Where are brothels legal in Europe?" (topic brothels, status legal and regulated, region europe). |
list_pending_changes | Bills, consultations and reviews in progress that would change how prostitution is regulated, soonest known next step first. Optionally for one country or one region. |
list_countries | Every country the reference covers, with its legal model, region, coverage depth (full profile or overview), the date it was last reviewed and its link. Optionally one region. |
A2A agent
An Agent2Agent agent at https://prostitutionlaws.org/a2a (JSON-RPC, A2A 1.0 and 0.3, stateless), described by its Agent Card at /.well-known/agent-card.json. Ask in plain text, or call a tool exactly with a data part {"skill": "get_country_law", "arguments": {"country": "DE"}}.
curl -s https://prostitutionlaws.org/a2a -H 'Content-Type: application/json' -d '{
"jsonrpc": "2.0", "id": 1, "method": "message/send",
"params": {"message": {"role": "user", "messageId": "1",
"parts": [{"kind": "text", "text": "Where is buying sex a crime in Europe?"}]}}}'WebMCP
In browsers that support WebMCP, every page of this site registers the five tools for an AI agent running in the browser. They read the data files above from this site.