← Back to home
Comparison · Analytics

osmapiR vs osmextract

A side-by-side editorial comparison of osmapiR and osmextract — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:openstreetmapr-languagegeospatial

osmapiR vs osmextract: at a glance

FeatureosmapiRosmextract
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesopenstreetmap, api-client, r-language, geospatialopenstreetmap, geospatial, r-language, gdal
Last editorial update1h ago1h ago
WebsiteVisit →Visit →

What is osmapiR?

osmapiR is the rare API client that tracks its server's wiki revision numbers in the changelog.

osmapiR wraps the full OpenStreetMap API from R — reading and writing map data, changesets, notes, GPX traces and user records — with OAuth2 where the endpoint requires it, pagination handled internally, and atomic calls vectorised. Recent releases have filled in the moderation and social surface: note subscription, user blocks, changeset discussion search. The newest release lets `bbox` arguments arrive as a character string, matrix, vector, an sf `bbox`, or a terra `SpatExtent`.

Read the full osmapiR trajectory →

What is osmextract?

osmextract stopped throwing your OpenStreetMap downloads away at the end of every session.

osmextract downloads OpenStreetMap extracts from Geofabrik, BBBike and openstreetmap.fr and translates them into sf objects via GDAL. The 0.6.0 release moved its download cache from `tempdir()` to a persistent `tools::R_user_dir()` location and raised the R floor to 4.1.0 to get it. It also made spatial `place` inputs self-clipping: pass an sf or bbox object and the boundary is now set to match, so only the relevant slice of a country-sized extract is processed.

Read the full osmextract trajectory →

osmapiR vs osmextract: editorial side-by-side

O
osmapiR
ANALYTICS
0.0

osmapiR is the rare API client that tracks its server's wiki revision numbers in the changelog.

◆ Current state

osmapiR wraps the full OpenStreetMap API from R — reading and writing map data, changesets, notes, GPX traces and user records — with OAuth2 where the endpoint requires it, pagination handled internally, and atomic calls vectorised. Recent releases have filled in the moderation and social surface: note subscription, user blocks, changeset discussion search. The newest release lets `bbox` arguments arrive as a character string, matrix, vector, an sf `bbox`, or a terra `SpatExtent`.

◆ Where it's heading

Four consecutive releases open with the same line — documentation and code updated for server-side changes, cited by OSM wiki revision range. That is a maintainer treating an evolving remote API as a versioned contract and auditing against it each cycle, which is unusual discipline and the main reason to trust this client over a hand-rolled wrapper. The second thread is fitting into R's spatial conventions rather than exposing OSM's, visible in the bbox coercion work and the httr2 upgrades landing with upstream help.

◆ Prediction

The pattern is stable enough to call: another release synchronised to the next OSM wiki revision range, adding whatever endpoints appeared and adjusting whatever changed shape.

O
osmextract
ANALYTICS
0.0

osmextract stopped throwing your OpenStreetMap downloads away at the end of every session.

◆ Current state

osmextract downloads OpenStreetMap extracts from Geofabrik, BBBike and openstreetmap.fr and translates them into sf objects via GDAL. The 0.6.0 release moved its download cache from `tempdir()` to a persistent `tools::R_user_dir()` location and raised the R floor to 4.1.0 to get it. It also made spatial `place` inputs self-clipping: pass an sf or bbox object and the boundary is now set to match, so only the relevant slice of a country-sized extract is processed.

◆ Where it's heading

Two threads run through every release. One is chasing GDAL — SQL syntax adjusted for 3.10, ogr2ogr options fixed for 3.9, and an `osmconf.ini` that 0.6.0 finally keeps automatically in sync with whatever sf or GDAL provides rather than shipping a snapshot. The other is the road-network extraction added experimentally in 0.3.1, which has been quietly accumulating real routing semantics since: `access = no` links retained when the mode-specific tag permits them, a `oneway` column by default for driving, and `motor_vehicle` always included.

◆ Prediction

Given that `oe_get_network()` has gained transport-mode detail in three separate releases while remaining flagged as experimental, the next substantive work is most likely there — either more modes or a formal exit from experimental status.

Alternatives to osmapiR and osmextract

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either osmapiR or osmextract.

See all osmapiR alternatives → · See all osmextract alternatives →

Recent activity from osmapiR and osmextract

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 4mo agoosmextractDownloads move to a persistent cache outside tempdir
  2. 5mo agoosmapiRbbox arguments accept sf and terra objects
  3. 0y agoosmapiRNote search defaults to creation order; JSON for GPX metadata
  4. 1y agoosmapiRNote subscriptions and user block endpoints added
  5. 1y agoosmextractoe_match gains a version argument for historical extracts
  6. 1y agoosmextractRouting semantics sharpen for driving and restricted-access links
  7. 1y agoosmapiRChangeset queries gain from and to parameters
  8. 1y agoosmapiRJOSS citation added; single-tag conversion fixed
  9. 2y agoosmapiRComplete OSM API coverage arrives in one release
  10. 2y agoosmextract51 new openstreetmap.fr regions and a GDAL 3.9 fix
  11. 3y agoosmextractNon-Geofabrik downloads were saved under the wrong filename
  12. 3y agoosmextractHelp files regenerated for valid HTML5

Frequently asked questions

What is the difference between osmapiR and osmextract?

Both compete on the same themes — openstreetmap, r-language, geospatial — within Analytics. osmapiR and osmextract are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is osmapiR better than osmextract?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. osmapiR and osmextract are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to osmapiR?

Top osmapiR alternatives in Analytics are ranked by recent ship velocity. Browse the "osmapiR alternatives" section above for the current picks, or visit /alternatives/osmapir for the full list with editorial commentary on each.

What are the best alternatives to osmextract?

Top osmextract alternatives in Analytics are ranked by recent ship velocity. Browse the "osmextract alternatives" section above for the current picks, or visit /alternatives/osmextract for the full list with editorial commentary on each.