---
title: "Splits a free-form Turkish address into neighbourhood, street, building, floor, flat, district, province and postcode."
method: GET
path: "/v1/tr/address/parse"
tags: ["Address"]
---

# Splits a free-form Turkish address into neighbourhood, street, building, floor, flat, district, province and postcode.

`GET /v1/tr/address/parse`

## Request

- Base URL: `https://api.temsor.com`
- URL: `https://api.temsor.com/v1/tr/address/parse`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Handles the abbreviation chaos (Mah./Mh., Cd./Cad., Sk./Sok., No:12/5, K:3 D:7), cross-checks the province against the postcode, repairs misspelled district names against a dictionary, and returns a confidence score. Anything it could not place is listed in `unparsed` — nothing is dropped silently. Built for shipping, checkout and CRM systems that receive Turkish addresses typed by humans.

**Credits per call:** 1 · **Operation id:** `tr_address_parse`

In the GET form every field is a query parameter; object and array fields are JSON-encoded.

## Query parameters

- `address` string, required: Free-text address.
- `defaultProvince` string: Province to assume when the address has none.

## Response `200`

Success

- object
  - `ok` unknown, required
  - `data` object, required
    - `raw` string, required
    - `normalized` string, nullable, required
    - `province` string, nullable, required
    - `provinceCode` number, nullable, required
    - `district` string, nullable, required
    - `districtSource` 'dictionary' | 'heuristic', nullable, required
    - `neighborhood` string, nullable, required
    - `street` object, nullable, required
      - `name` string, nullable, required
      - `type` string, required
    - `streets` object[], required
      - `name` string, nullable, required
      - `type` string, required
    - `building` object, nullable, required
      - `name` string, nullable, required
      - `type` string, required
    - `block` string, nullable, required
    - `buildingNumber` string, nullable, required
    - `floor` string, nullable, required
    - `apartment` string, nullable, required
    - `postalCode` string, nullable, required
    - `confidence` number, required
    - `unparsed` string[], required
    - `warnings` string[], required
  - `meta` object
    - `credits` integer
    - `cached` boolean
    - `requestId` string
    - `durationMs` integer

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `429`: Rate limit exceeded — wait `Retry-After` seconds. The RateLimit headers are sent here too.

---

[API](https://skmtc.dev/temsor/apis/temsor-api.md) · [All operations](https://skmtc.dev/temsor/apis/temsor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/temsor/apis/temsor-api/revisions/19702107e15a?raw)
