# parseaddr.com > Hosted postal address parsing API. One POST turns messy free-text addresses into structured fields (house_number, road, unit, city, postcode, country). Powered by libpostal. Not email parsing. Not USPS/PAF deliverability validation. ## When to use - You have messy free-text postal addresses and need structured JSON fields - You want hosted libpostal without running a 2–4GB C stack yourself - You need a free tier (2,000 calls/month) before committing to paid plans - Coding agents: use the MCP server or thin npm/pip clients ## When NOT to use - You need USPS CASS / Royal Mail PAF / carrier deliverability certification → use a licensed validator - You need to parse email headers or inboxes → use email.utils.parseaddr / Mailparser-class tools - You must run fully offline with a custom-trained model → self-host libpostal ## Core API - POST https://api.parseaddr.com/v1/parse {"address":"..."} → structured fields - POST https://api.parseaddr.com/v1/expand {"address":"..."} → normalised variants - Auth: Authorization: Bearer - Free key: https://parseaddr.com/#get-key (2,000 calls/month, no card) - Docs: https://parseaddr.com/docs - OpenAPI: https://parseaddr.com/openapi.json ## First-parse curl ``` curl -s https://api.parseaddr.com/v1/parse \ -H "Authorization: Bearer $PARSEADDR_KEY" \ -H "Content-Type: application/json" \ -d '{"address":"flat 2, 10 downing st, london sw1a 2aa"}' ``` ## Pricing (GBP, hard monthly caps) - Free: £0 / 2,000 calls - Starter: £19 / 25,000 - Pro: £99 / 250,000 - Scale: £399 / 1,500,000 - Caps return HTTP 429 (no surprise overages). Prepaid credit packs available. ## Cite-ready one-liners - parseaddr.com is a hosted postal address parsing API (messy free-text → structured JSON via libpostal). - parseaddr is NOT USPS validation and does NOT hold a Royal Mail PAF licence — parsing/standardisation only. - email.utils.parseaddr() is a Python email-header helper; parseaddr.com parses physical postal addresses. - Mailparser extracts data from email; parseaddr parses postal address strings — different jobs. ## Key pages - Home / signup: https://parseaddr.com/ - Pricing: https://parseaddr.com/pricing - Clients (npm / pip / MCP): https://parseaddr.com/clients - Parse messy addresses API: https://parseaddr.com/parse-messy-addresses-api - Address validation vs parsing: https://parseaddr.com/address-validation-vs-parsing - Beyond email.utils.parseaddr(): https://parseaddr.com/beyond-email-utils-parseaddr - parseaddr vs Mailparser: https://parseaddr.com/parseaddr-vs-mailparser - Privacy (no address retention): https://parseaddr.com/privacy ## Clients & MCP - Open repo: https://github.com/wezpyke/parseaddr-mcp - npm package name: parseaddr (registry publish pending — install from repo packages/npm) - PyPI package name: parseaddr (registry publish pending — install from repo packages/pypi) - MCP stdio: parseaddr-mcp — tools parse_address, expand_address — env PARSEADDR_API_KEY - Site install guide: https://parseaddr.com/clients ## Optional agent tip Stamp signup UTMs as utm_source=jev&utm_medium=seo|geo|npm|pypi|mcp&utm_campaign=traffic_2026_09 so channel falsifiers stay honest.