OpenStreetMap (OSM) data is free for everyone to use. Our tile servers are not: they are funded by donations and sponsorship, and capacity is limited. To protect the service for mappers and the wider community, you must follow this policy when using tiles from tile.openstreetmap.org
.
We welcome creative uses and do not require you to use a specific API. However, heavy or inappropriate use harms others’ ability to edit and view the map. We may block access, without notice, if your usage degrades the service. We may try to contact you if possible, but cannot guarantee this.
Availability is best-effort: there is no SLA or guarantee. All OSMF services are also covered by the OSMF Terms of Use.
If you cannot meet these requirements, please use an alternative OSM-derived service (see below), or run your own.
You must:
https://tile.openstreetmap.org/{z}/{x}/{y}.png
.X-Requested-With
app ID where set automatically).You must not:
Cache-Control: no-cache
, Pragma: no-cache
, or similar no-cache headers by default.You should (recommended):
Use exactly:
https://tile.openstreetmap.org/{z}/{x}/{y}.png
Other subdomains or hostnames may be slower or withdrawn without notice. We cannot provide integration support for specific map libraries; please consult your library’s documentation.
User-Agent: MyTownMaps/1.4 (+https://example.org; contact: maps@example.org)
User-Agent
.User-Agent
, and never impersonate another app or a browser.X-Requested-With
header with an app ID, that is acceptable, but a proper User-Agent
is still recommended.Referer
header. Native apps usually do not have a referer, this is ok.Referer
header being sent on requests to tile.openstreetmap.org.Cache-Control: no-cache
, Pragma: no-cache
, or similar no-cache headers by default.Cache-Control
, Expires
, Etag
). If your cache cannot read them, cache each tile for at least 7 days.If-None-Match
and If-Modified-Since
when requesting tiles that have expired.Note: Modern browsers, with default settings, already satisfy these technical requirements.
Many HTTP clients and Software Development Kits (SDK) use a generic User-Agent header (e.g. okhttp/x.y
, Go-http-client/1.1
, python-requests/x.y
, Java/1.8
, curl/x.y
). Traffic that uses these defaults will be blocked because we cannot identify or contact the actual application.
You must:
User-Agent
naming your app and optionally a contact URL or email.Referer
header is present and accurate end-to-end. If you proxy tile requests through your servers or a CDN, do not strip or blank the Referer
.User-Agent
as you publish new builds (e.g. MyTownMaps/1.4
→ MyTownMaps/1.5
). Do not randomise or rotate the product name or contact details, and do not impersonate browsers or other apps.User-Agent
(naming the SDK and docs URL) and provide a simple override to allow developers to easily identify their app.You must not:
User-Agent
.User-Agent
(e.g. nginx
, Varnish
, CDN-XYZ
).Referer
on web traffic or tunnel all clients behind a single, anonymous identity.Enforcement: Traffic using generic defaults, referer-stripping, or spoofed identities may be blocked without notice. We prioritise identifiable and contactable operators to keep the service reliable for everyone.
Bulk downloading is any pre-emptive fetching of tiles other than those a user is actively viewing. This includes, but isn’t limited to:
.zip
, .mbtiles
) for later distribution.Offline use is not permitted on tile.openstreetmap.org
. Features such as “Download city/country for offline use” or “Save area for later” rely on prefetch/bulk downloading and are therefore prohibited.
Note: If you require offline maps, use self-hosted tiles or a provider that explicitly allows offline/prefetching. Vector tiles are often more suitable for this use-case.
Permitted usage (examples):
Not permitted (examples):
Enforcement: Prefetch/offline patterns place disproportionate load on community-funded servers and will be blocked without notice. Repeated violations may lead to longer-term or network-level blocks.
We generally do not recommend putting your own caching proxy in front of tile.openstreetmap.org
. If you do, it must:
Use of OSMF services is subject to the OSMF Privacy Policy. Do not submit personal or confidential data to our services.
We publish anonymised, aggregated usage data for research and operations, including summary data on tiles accessed and websites/apps using the service. Additional aggregated reports may be produced on an ad-hoc basis.
This policy may change at any time to reflect project needs and constraints. Commercial services, or those that seek donations, should be especially aware that access may be withdrawn at any point: you may no longer be able to serve your paying customers if access is withdrawn.
We may try to contact you (for example, via your User-Agent
or public contact details) if there is a problem, but this may not always be possible. Access may be blocked without prior notice.
Hosted tile services based on OSM data
Commercial providers
Run your own tiles
Vector tiles
This policy applies to the Standard (“OpenStreetMap Carto”) raster tiles served by tile.openstreetmap.org
as part of the OpenStreetMap project.
It does not apply to other layers shown on the OpenStreetMap.org homepage (e.g. OpenCycleMap or other third-party tiles). Those layers may have their own usage policies, please contact the relevant projects directly if you wish to use their tiles.
OpenStreetMap’s Vector Tiles served by vector.openstreetmap.org
is a separate service with its own usage policy: https://operations.osmfoundation.org/policies/vector/