Prostitution Laws

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

Data API

Plain HTTPS GET, JSON or CSV, Access-Control-Allow-Origin: *. Described in OpenAPI 3.1 at /openapi.json.

EndpointWhat
/data/index.jsonEvery country in one small entry: legal model, the status of each question, pending reforms, region, links.
/data/countries/{iso2}.jsonOne full profile by its two-letter ISO code (lower case): every question with summary, provisions and sources, legislation, pending reforms, timeline, statistics.
/data/countries.jsonAll full profiles in one file.
/data/countries.csvOne row per country: the model and the status of each question.
/countries/{slug}.mdOne 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.

ToolWhat it does
get_country_lawHow 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_countriesA 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_countriesLists 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_changesBills, 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_countriesEvery 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.