# Kamernet Location Autocomplete API Documentation

Scrappa's `GET /api/kamernet/location-autocomplete` returns the Dutch city names that the Kamernet search accepts in `city`, matched by the start of a name.

## City level only

Kamernet answers city and village names. A street name returns an empty list. Each suggestion has `name`, `city_name` and `slug`. The `slug` is the city name in lower case with plain letters and hyphens, for example `den-haag`, and works in the search `city` parameter. The list holds at most 20 names.

## One lookup

Each call makes exactly one lookup. The slug is built from the name and is not checked against the search.

- **Documentation:** [https://scrappa.co/docs/kamernet-api/kamernet_location_autocomplete](https://scrappa.co/docs/kamernet-api/kamernet_location_autocomplete)
- **API group:** Kamernet API
- **Endpoint:** `GET https://scrappa.co/api/kamernet/location-autocomplete`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `q` | string | Yes | Start of a city name, at least 2 characters. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/kamernet/location-autocomplete?q=amst"
```

## Example response

```json
{
    "success": true,
    "platform": "kamernet",
    "query": "amst",
    "total": 2,
    "suggestions": [
        {
            "name": "Amsterdam",
            "city_name": "Amsterdam",
            "slug": "amsterdam"
        },
        {
            "name": "Amstelveen",
            "city_name": "Amstelveen",
            "slug": "amstelveen"
        }
    ],
    "meta": {
        "endpoint_family": "location_autocomplete",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A query parameter is missing, unknown or unusable (`invalid_filter`). Unknown parameters and unknown list values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Kamernet could not be reached, refused the request, or answered with data this API could not read (`upstream_unavailable`, `upstream_blocked`, `parser_drift`). Retryable and never billed. Clients are never rate limited. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
