Is it possible to reliably get all changesets made by given user using API?

API v0.6 - OpenStreetMap Wiki allows to list edits made by a given user

the problem is that it is paginated (obviously!) but how can I paginate using

time=T1
    Find changesets closed after T1. Compare with from=T1 which filters by creation time instead.
time=T1,T2
    Find changesets that were closed after T1 and created before T2. In other words, any changesets that were open at some time during the given time range T1 to T2.
from=T1 [& to=T2]
    Find changesets created at or after T1, and (optionally) before T2. to requires from, but not vice-versa. If to is provided alone, it has no effect.

if user created more than 100 edits at the same time?

I guess that in such case I must parse changeset dump?

Simply run a ChangesetMD instance.

1 Like

To be a bit more precise: You can find everything you need here on GitHub or in various forks. https://github.com/ToeBee/ChangesetMD

I run https://github.com/SomeoneElseOSM/ChangesetMD on Debian 12 with no issues, that is forked from (and “master” is at the same level at) https://github.com/mvexel/ChangesetMD, which was modified to work with newer Python versions.

There’s no “API”, but you could write one. The psql to select data is simple:

changesets=> SELECT count(*) FROM osm_changeset WHERE created_at > '2025-10-22 00:00:00' and user_name = 'SomeoneElse';
 count 
-------
     9
(1 row)

It’s also easy just to call psql directly to do whatever you want.

ChangesetMD doesn’t contain changeset contents (which your previous question asked for) but could be expanded to do that.

Wouldn’t the Overpass API be the easier option then?

in the worst case it requires waiting 7 days for new data, right?

? I keep my instance up to date with hourly changeset diffs.

1 Like

oh, that is then a viable answer then

I seen

that takes the weekly changeset metadata dump file from http://planet.openstreetmap.org/ and shoves the data into a simple postgres database

in readme and was not aware that can be also feed differently

Specifically it reads e.g. https://planet.openstreetmap.org/replication/changesets/006/741/ - equivalent process to a rendering database, but with a different feed.