by DinoTools

DinoTools / python-overpy

Python Wrapper to access the Overpass API

136 Stars 46 Forks Last release: Not found MIT License 269 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Python Overpass Wrapper

A Python Wrapper to access the Overpass API.

Have a look at the

_ to find additional information.

.. image:: :target: :alt: Latest Version

.. image:: :target: :alt: License

.. image:: :target:

.. image:: :target:


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



Supported Python versions:

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


.. code-block:: console

$ pip install overpy


Additional examples can be found in the

_ and in the examples directory.

.. code-block:: python

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 ~~~~~~

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

.. code-block:: python

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", "3600062594" )

this finds an intersection between Straße der Nationen and Carolastraße in Chemnitz

intersection = overpy.helper.get_intersection( "Straße der Nationen", "Carolastraße", "3600062594" )


Published under the MIT (see LICENSE for more information)

.. _


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.