Export a format
Every export request on Fake Addresses returns 10,000 rows in one response, with no pagination and no polling required. Replace count=10000 with any value up to 10,000, and add &seed=your-fixture-name to get the same rows back on every run, which is what makes this usable as a CI fixture.
| Format | Example request |
|---|---|
| CSV | curl "https://fakeaddresses.com/api/v1/addresses?count=10000&format=csv" -o addresses.csv |
| JSON | curl "https://fakeaddresses.com/api/v1/addresses?count=10000&format=json" -o addresses.json |
| NDJSON | curl "https://fakeaddresses.com/api/v1/addresses?count=10000&format=ndjson" -o addresses.ndjson |
| SQL (7 dialects) | curl "https://fakeaddresses.com/api/v1/addresses?count=10000&format=sql&sqlDialect=postgres" -o addresses.sql |
| XLSX | curl "https://fakeaddresses.com/api/v1/addresses?count=10000&format=xlsx" -o addresses.xlsx |
API documentation
The full request/response contract for the Fake Addresses API is published as a single OpenAPI 3.1 specification, covering every endpoint, every export format and the 60-requests-per-minute anonymous rate limit this page's own examples use. The same specification file generates the Postman collection, so a request built in one client behaves identically in the other, and it is what lets a developer generate a typed client in a language Fake Addresses does not ship a package for directly.
Beyond the raw HTTP endpoint, Fake Addresses publishes an npm package and a PyPI package for Node.js and Python callers, a command-line interface for a terminal or a CI step, and an MCP server so a coding agent can request test data as a tool call instead of scraping a web page. Every one of these surfaces returns the same dataset version, and pinning a seed parameter returns byte-identical rows across all of them — the guarantee a committed CI fixture depends on.
None of these surfaces requires an account, an API key, or an email address. The API is CORS-enabled specifically so a browser-based tool can call it directly, and every response carries the dataset version it was generated from, so a pinned fixture never silently changes underneath a test suite. Those two guarantees — no account and a pinned dataset version — are what make Fake Addresses usable as a permanent, unattended CI dependency rather than a manual step a developer repeats by hand.
Frequently asked questions
Do I need an account to bulk export test addresses?
No. Every bulk export request on Fake Addresses runs against the same keyless, CORS-enabled public API, rate-limited to 60 requests per minute for anonymous callers, with no sign-up step, no email address and no API key required at any point.
How many rows can one export request return?
Fake Addresses returns up to 10,000 rows in a single response, for every format this page lists — CSV, JSON, NDJSON, SQL or XLSX. There is no queued job to wait on and no pagination to manage across multiple requests.
Can I get the same 10,000 rows back on a later run?
Yes — add a seed parameter and the same dataset version always returns byte-identical rows, which is what makes bulk export on Fake Addresses usable as a committed CI fixture rather than a one-off download.
Prohibited uses of Fake Addresses test dataProhibited use
Do not use these addresses to deceive anyone. Do not use them on government forms, tax filings, financial or KYC applications, school-enrolment records, voter registration, insurance claims, shipping labels, or anywhere a truthful address is legally required. In the US, using a fictitious address to defraud through the mail is a federal crime under 18 U.S.C. § 1342.