---
title: "List Store Map Points"
method: GET
path: "/v1/stores/map-points"
tags: ["Stores", "Stores"]
---

# List Store Map Points

`GET /v1/stores/map-points`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/v1/stores/map-points`
- Auth: none declared

Every store that has coordinates, as the smallest shape a map marker needs.

Separate from `list_stores` because plotting the whole footprint means ~15.9k
rows, and `StoreRead` carries address, homepage, logo columns and a per-store
ratings enrichment query — none of which a dot on a map uses. This returns four
scalars per store and runs as a single query.

`has_products` rides along so the client can colour the two populations
differently. That contrast is the point of the map: 127 of 15,866 stores hold
inventory, and seeing where the empty ones cluster is what says which cities
are worth scraping next.

Stores with no coordinates are omitted rather than dropped at 0,0 — null island
is a real place in the Gulf of Guinea, and the sitemap filter already excludes
stores pinned there for the same reason.

## Response `200`

Successful Response

- object[]

---

[API](https://skmtc.dev/rubenayla/apis/partle-api.md) · [All operations](https://skmtc.dev/rubenayla/apis/partle-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rubenayla/apis/partle-api/revisions/2e12d4d3c6dd?raw)
