# Fake test data API

> Made-up Indian people, companies and addresses for testing apps.

Realistic test records that pass format checks: names from nine language regions, addresses at real pincodes with the right district and state, phone numbers, PANs and GSTINs with a correct check character. Every record is marked fake and none describes a real person or business. Give a seed to get the same records every time.

Base URL `https://api.dharun.dev`. No API key. Answers are JSON, `{ "data": ..., "meta": { ... } }`, and errors are `{ "error": { "code", "message" } }` with a matching HTTP status. Rate limit: 600 requests a minute per client.

## Generate fake records

`GET /v1/fake/{kind}`

people have a name, gender, birth date, email (on example domains), phone, PAN and address; companies a name, PAN, GSTIN, email, phone and address.

Parameters:

- `kind` (path, required): What to generate. One of: people, companies, addresses.
- `count` (query): How many, 1 to 100. Default 10.
- `state` (query): State code or name, for example TN or Tamil Nadu.
- `seed` (query): The same seed gives the same records. Without one, each request differs.

Example: https://api.dharun.dev/v1/fake/people?count=3&state=TN&seed=42

Response, with lists and long text shortened:

```json
{
  "data": [
    {
      "fake": true,
      "name": "Swetha Velusamy",
      "firstName": "Swetha",
      "lastName": "Velusamy",
      "gender": "female",
      "birthDate": "1989-02-16",
      "email": "swetha.velusamy68@example.net",
      "phone": "+91 78585 85475",
      "pan": "IBHPV7917Y",
      "address": {
        "line1": "No. 234, Nehru Street",
        "line2": "Ambedkar Colony",
        "city": "Bayamariyanendal",
        "district": "Pudukkottai",
        "stateCode": "TN",
        "state": "Tamil Nadu",
        "pincode": "614619"
      }
    },
    {
      "fake": true,
      "name": "Saravanan Perumal",
      "firstName": "Saravanan",
      "lastName": "Perumal",
      "gender": "male",
      "birthDate": "2000-05-23",
      "email": "saravanan.perumal77@example.net",
      "phone": "+91 65125 54058",
      "pan": "PPBPP7146Z",
      "address": {
        "line1": "No. 141, Main Road",
        "line2": "Lakshmi Nagar",
        "city": "Odugampatti",
        "district": "Pudukkottai",
        "stateCode": "TN",
        "state": "Tamil Nadu",
        "pincode": "622502"
      }
    },
    {
      "fake": true,
      "name": "Dinesh Krishnan",
      "firstName": "Dinesh",
      "lastName": "Krishnan",
      "gender": "male",
      "birthDate": "1949-12-01",
      "email": "dinesh.krishnan51@example.org",
      "phone": "+91 64882 31759",
      "pan": "UPRPK3338U",
      "address": {
        "line1": "No. 192, Temple Street",
        "line2": "Bharathi Nagar",
        "city": "Veluganandal",
        "district": "Tiruvannamalai",
        "stateCode": "TN",
        "state": "Tamil Nadu",
        "pincode": "606802"
      }
    }
  ],
  "meta": {
    "total": 3,
    "source": {
      "name": "All India Pincode Directory",
      "url": "https://www.data.gov.in/resource/all-india-pincode-directory-till-last-month",
      "licence": "Government Open Data License - India (GODL)",
      "version": "23760720 bytes",
      "retrieved": "2026-10-13",
      "attribution": "Contains data from the All India Pincode Directory, Department of Posts, published on data.gov.in under the Government Open Data License - India."
    },
    "note": "Made-up test data: no record describes a real person or business. Pincodes, districts and states are real and belong together; everything else is invented. Phon…"
  }
}
```

## Data source

- [All India Pincode Directory](https://www.data.gov.in/resource/all-india-pincode-directory-till-last-month), 23760720 bytes, retrieved 2026-10-13. Licence: Government Open Data License - India (GODL). Contains data from the All India Pincode Directory, Department of Posts, published on data.gov.in under the Government Open Data License - India.
