Structured geocoded address data with precise coordinates. Built for analytics, routing, and geospatial applications.
Global address data is fragmented. Many regions lack structured, geocoded addresses, limiting the accuracy of geospatial analysis and logistics operations.
SafeGraph addresses these gaps with a structured geocoded address database designed for hard-to-source markets.
Every record is parsed into discrete address fields and paired with precise geographic coordinates, ready for ingestion into your data warehouse.
Power routing and spatial analysis with precise address coordinates.
Load address data directly into warehouses for large-scale geospatial analysis.
Identify missing addresses and perform bulk address validation across markets.
Handle international address formats with multi-script support.
SafeGraph’s geocoded address dataset covers 35+ countries, with particular depth in markets where reliable address data is traditionally sparse or fragmented.
Coverage includes:
Teams across logistics, mapping, and geospatial analytics use SafeGraph geocoded address data to improve operational accuracy and strengthen geocoding systems.

SafeGraph address data helps logistics teams:

Common uses include:
The dataset follows a consistent, flat schema designed for direct ingestion into analytical warehouses. Each field is typed and documented.
| Column Name | Description | Type | Example |
|---|---|---|---|
| primary_number | A JSON string with alphabet as key. Value: A primary numeric identifier for the building. | JSON | { "latin": "4700" } |
| sub_building | A JSON string with alphabet as key. Value: Combined secondary designators (Ste, Unit, Bldg, Block). | JSON | { "latin": "Unit 1105" } |
| building_name | A JSON string with alphabet as key. Value: The name of the building. | JSON | { "latin": "Eaton" } |
| street | A JSON string with alphabet as key. Value: All street components combined. | JSON | { "latin": "Main Street" } |
| intermediate_locality | Additional details associated with locality like subdivision, neighborhood, or village. | JSON | { "latin": "Hohenlimburg" } |
| locality | Subdivision or district within a city. | JSON | { "latin": "Repto Robles" } |
| city | The city of the point of interest. | JSON | { "latin": "Clearwater" } |
| sub_region | Second largest administrative division in a country. | JSON | { "latin": "Tom" } |
| region | State, province, or county of the location. | JSON | { "latin": "Pinellas" } |
| postal_code | The postal code of the location. | JSON | { "latin": "12235" } |
| full_address | The full unparsed address from the source. | JSON | { "latin": "1680 Campbell Ln Bowling Green KY 42104-1062" } |
| iso_country_code | 2-letter ISO country code. | String | US |
| latitude | Latitude coordinate of the address. | Float | 36.714767 |
| longitude | Longitude coordinate of the address. | Float | 121.662912 |
SafeGraph address data integrates easily with modern analytics and geospatial infrastructure.
A geocoded address dataset contains structured address records paired with geographic coordinates such as latitude and longitude.
Like all of our data, the cost of the Places POI dataset depends on the number of rows, columns, and the frequency of delivery you request. Contact our sales team to learn more about enterprise pricing options.
SafeGraph issues updates to the Places POI dataset once per month, which is more frequent than many other POI data providers that may update every three to six months. This is possible because we work with a wide range of data sources and efficiently combine updates from those sources.
Each month, a subset of our sources sends updated information, which we onboard and integrate quickly. This process allows us to reflect store openings and closures in the Places dataset in a timely manner. The time between a store opening or closing and its appearance in the dataset depends on when the change is detected by our sources and when it is processed by SafeGraph. In most cases, updates are reflected within the same month, which is significantly faster than many alternative providers.
Opened and closed dates are determined using metadata at the source level. If a new point of interest from an existing source repeatedly appears in our build pipeline, it is flagged as “opened_on” during the month in which it first appears. Similarly, if a POI from an existing source repeatedly disappears in our pipeline, it is flagged as “closed_on” during the month in which it first disappears. These flags are applied to the Places product following final QA checks and overall data hygiene processes.
Temporary closures are not captured in open and close tracking. During the onset of COVID-19, it became difficult to distinguish permanent closures from temporary ones, which resulted in a lower number of POIs marked as closed between March and June 2020. If a POI has not been sourced consistently enough to determine a closure date, the tracking_closed_since field will remain null. In general, the SafeGraph Places dataset tracks opened and closed dates from July 2019 onward.
SafeGraph Places uses the North American Industry Classification System (NAICS) developed by the US Census Bureau. This system assigns a numeric code of up to six digits to classify points of interest by industry.
Although NAICS was developed in the United States, it has proven effective for categorizing points of interest data in other countries as well. The classification is hierarchical, with the first two digits representing a broad category and additional digits providing increasingly specific classifications.