App builders creating store-locator, directory, and comparison apps use catalog.xmap.ai to populate every listing from real business data instead of manual entry or scraping.
catalog.xmap.ai is a self-serve database of 140M+ real business locations across 40+ countries. Every record is an actual, physically-located business (not an estimate) with up to 36 structured fields: name, full address, latitude/longitude, category (three levels deep), brand and chain affiliation, hours of operation, phone and website, star rating and review count, open/closed status, and more.
You filter the catalog by category, brand, or geography in a live web interface, watch the matching record count update as you narrow the search, and export the results as a clean CSV file, ready to open in a spreadsheet, load into GIS software, or join against your own data.
The dataset refreshes every 30 days, so an export reflects recent openings, closures, and changes rather than a static snapshot from years ago.
Building a directory listing-by-listing is untenable once a client has more than a handful of stores.
A directory that isn't refreshed regularly quietly fills with wrong addresses and dead listings.
A single dataset covering every category means the same integration serves every new client vertical.
Populate a client's entire store list from the catalog instead of a manual spreadsheet import.
Build a category-wide directory (gyms, clinics, restaurants) from a single standardized dataset.
Sync listings monthly to keep addresses, hours, and open-status accurate without manual upkeep.
Stand up the same locator feature for a new client's category in a single filtered export.
Add "near me" search and distance sorting powered by precise latitude and longitude.
Let users filter results by brand or independent status using the chain_flag field.
Share of directory listings still accurate without a refresh pipeline.
Every export carries 36 columns; these are the ones locator apps use most.
| Field | Type | Why it matters here |
|---|---|---|
| name / address / phone / website | string | The core listing fields every store-locator entry needs |
| latitude / longitude | float | Powers "near me" search and distance sorting |
| hours_of_operation | string | Shows "open now" status directly in the listing |
| category_level_1–3 | string | Drives category filters in a multi-vertical directory |
| chain_flag / brand_name | boolean / string | Powers a chain vs. independent filter option |
| open_status | string | Keeps a synced directory free of permanently closed listings |
| rating / review_count | numeric | Populates star ratings and sort-by-popularity options |
| poi_id | string (hash) | A stable key for syncing listings across refresh cycles |
An app-builder agency's client sells retail-locator apps to any brand with physical stores. For a new clothing-brand client, the team filters the catalog to the brand's category and geography, exports store listings with hours and coordinates, and has a working locator live the same week, the same pipeline they'll reuse for the next client's vertical.
We'll run a live query against your target category and geography.