Mapbox OpenStreetMap

OpenStreetMap is the free and editable map of the world, created and maintained by a huge international community. Mapbox Streets, our customizable map layer of streets, buildings, and places from all around the world, is powered by open data from OpenStreetMap. Anybody can create an account and start editing on OpenStreetMap.org within minutes.

Our data team updates OpenStreetMap based on quality analysis and customer feedback. Our principle is to work in the open, these mapping guides are primarily consolidated and maintained by our data team for various mapping projects and on-boarding new team members.

You are welcome to join one of our open mapping projects over on the issue queue and use these best practice mapping guides. These guides are licensed under Public Domain (CC0), if you would like to contribute or have an feedback on these, please feel free to raise an issue in this repository.

Useful Overpass queries

Mapping guides

Useful Overpass queries

Newer than a given date


[out:xml][timeout:600];
(
  way["highway"](newer:"2015-05-30T07:00:00Z")({{bbox}});
);
out body;
>;
out skel qt;

Changes in a given time period


[out:xml][timeout:600];
(
  way["highway"](changed:"2015-05-14T07:00:00Z","2015-05-30T07:01:00Z")({{bbox}});
);
out body;
>;
out skel qt;

Provide two dates and generate a difference between the two


[diff: "2015-06-30T15:00:00Z","2015-09-21T15:00:00Z"][out:xml][timeout:25];
(
  way["highway"]({{bbox}});
);
out body;
>;
out skel qt;

Extract edits of a user


[out:json][timeout:25];
(
  node(user:"ramyaragupathy")({{bbox}});
  way(user:"ramyaragupathy")({{bbox}});
  relation(user:"ramyaragupathy")({{bbox}});
);
out body;
>;
out skel qt;

Extract a particular tag


[out:json][timeout:25];
(
  node["amenity"="hospital"]({{bbox}});
  way["amenity"="hospital"]({{bbox}});
  relation["amenity"="hospital"]({{bbox}});
);
out body;
>;
out skel qt;

Extract all amenities


[out:json][timeout:25];
(
  node["amenity"]({{bbox}});
  way["amenity"]({{bbox}});
  relation["amenity"]({{bbox}});
);
out body;
>;
out skel qt;

Find a particular tag without someother key value


[out:json][timeout:25];
(
  node["highway"="footway"]["footway"!~"."]({{bbox}});
  way["highway"="footway"]["footway"!~"."]({{bbox}});
  relation["highway"="footway"]["footway"!~"."]({{bbox}});
);
out body;
>;
out skel qt;

Query within query


[out:json][timeout:250];
(
  (
    way({{bbox}})[highway='primary'];
    relation({{bbox}})[highway='primary'];
  )->.a;
  node.a[name='Sand Hill Road'];
);
out body;
>;
out skel qt;

Search for a tag in an area


[out:json][timeout:250];
(
  area[name="Palo Alto"];
  way(area)["building"];
  relation(area)["building"];
);
out body;
>;
out skel qt;