Skip to content
Python Wrapper to access the Overpass API
Python HTML
Branch: master
Clone or download


Python Overpass Wrapper

A Python Wrapper to access the Overpass API.

Have a look at the documentation to find additional information.

Latest Version License


  • Query Overpass API
  • Parse JSON and XML response data
  • Additional helper functions



Supported Python versions:

  • Python 2.7
  • Python >= 3.2
  • PyPy and PyPy3


$ pip install overpy


Additional examples can be found in the documentation and in the examples directory.

import overpy

api = overpy.Overpass()

# fetch all ways and nodes
result = api.query("""
    way(50.746,7.154,50.748,7.157) ["highway"];
    out body;

for way in result.ways:
    print("Name: %s" % way.tags.get("name", "n/a"))
    print("  Highway: %s" % way.tags.get("highway", "n/a"))
    print("  Nodes:")
    for node in way.nodes:
        print("    Lat: %f, Lon: %f" % (, node.lon))


Helper methods are available to provide easy access to often used requests.

import overpy.helper

# 3600062594 is the OSM id of Chemnitz and is the bounding box for the request
street = overpy.helper.get_street(
    "Straße der Nationen",

# this finds an intersection between Straße der Nationen and Carolastraße in Chemnitz
intersection = overpy.helper.get_intersection(
    "Straße der Nationen",


Published under the MIT (see LICENSE for more information)

You can’t perform that action at this time.