← Back to home
Comparison · Analytics

webchem vs webmockr

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

Shared themes:ropensci

webchem vs webmockr: at a glance

Featurewebchemwebmockr
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themescheminformatics, web-apis, data-access, ropenscihttp-mocking, testing, httr2, ropensci
Last editorial update4h ago1h ago
WebsiteVisit →Visit →

What is webchem?

Adding chemical databases with one hand while public ones close programmatic access with the other.

webchem is the R interface to public chemical data — retrieving identifiers, properties and structures across roughly a dozen web services. Its release history reads as a running account of which of those services still allow automated access. Version 1.3.0 removed two functions outright because their sources withdrew: ChemIDplus was retired by the NLM, and PAN stopped supporting programmatic access. Version 1.3.1 continues the pattern, updating URLs that stopped working and noting that ChemSpider InChIKey validation now requires an API key like the rest of that provider's endpoints.

Read the full webchem trajectory →

What is webmockr?

The stubbing library added httr2 support, then spent a year cutting itself free of everything else

webmockr intercepts HTTP requests in R tests and returns stubbed responses, and since 1.0.0 it covers all three clients that matter — httr, httr2 and crul. The releases through 2025 have been about shedding dependencies: internal R6 classes unexported in 2.1.0, crul demoted from Imports to Suggests in the same release, and the mutual dependency with vcr severed in 2.2.0. The package now installs and runs without pulling in the rest of the rOpenSci HTTP stack.

Read the full webmockr trajectory →

webchem vs webmockr: editorial side-by-side

W
webchem
ANALYTICS
0.0

Adding chemical databases with one hand while public ones close programmatic access with the other.

◆ Current state

webchem is the R interface to public chemical data — retrieving identifiers, properties and structures across roughly a dozen web services. Its release history reads as a running account of which of those services still allow automated access. Version 1.3.0 removed two functions outright because their sources withdrew: ChemIDplus was retired by the NLM, and PAN stopped supporting programmatic access. Version 1.3.1 continues the pattern, updating URLs that stopped working and noting that ChemSpider InChIKey validation now requires an API key like the rest of that provider's endpoints.

◆ Where it's heading

Two opposing forces run through these entries. The package keeps widening its coverage — ChEMBL in 1.2.0, LIPID MAPS and SwissLipids identifiers via Wikidata, structure images, Mol export — while the open, unauthenticated end of the chemical web keeps contracting. The other consistent thread is interface harmonisation: successive releases have converged the get_* functions on the same query and from arguments, tibble returns, and CAS reformatting, so the package feels like one interface rather than a dozen wrappers.

◆ Prediction

Expect further defunct functions and URL repairs as more providers move behind keys or shut down, alongside occasional additions of sources that remain open. The entries show no sign of a general credential-management layer, which is what a package facing this trend would eventually need.

W
webmockr
ANALYTICS
0.0

The stubbing library added httr2 support, then spent a year cutting itself free of everything else

◆ Current state

webmockr intercepts HTTP requests in R tests and returns stubbed responses, and since 1.0.0 it covers all three clients that matter — httr, httr2 and crul. The releases through 2025 have been about shedding dependencies: internal R6 classes unexported in 2.1.0, crul demoted from Imports to Suggests in the same release, and the mutual dependency with vcr severed in 2.2.0. The package now installs and runs without pulling in the rest of the rOpenSci HTTP stack.

◆ Where it's heading

Two arcs run in sequence. The first is coverage — multiple queued responses in 0.7.0, basic auth mocking, async through crul, then httr2 — building out what can be stubbed. The second, starting with 2.0.0, is correctness and independence: stubs are now deleted if an error occurs mid-construction rather than lingering half-built, partial matching arrives for bodies and queries, and the dependency graph is pruned release by release. The 2.2.0 split from vcr landed within a minute of crul's release taking mocking control into its own clients.

◆ Prediction

RequestPattern is documented as still exported in 2.1.0 but slated for removal, so the next major release is where that lands. Expect continued dependency pruning rather than new client support — the three clients that exist are already covered.

Alternatives to webchem and webmockr

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 webchem or webmockr.

See all webchem alternatives → · See all webmockr alternatives →

Recent activity from webchem and webmockr

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

  1. 1y agowebmockrvcr dependency severed
  2. 1y agowebchemRepairs broken URLs; ChemSpider check now needs a key
  3. 1y agowebmockrInternal classes unexported; crul becomes an optional dependency
  4. 1y agowebmockrFailed stub construction cleans up; partial matching extends to bodies and queries
  5. 2y agowebmockrhttr2 joins httr and crul as a supported client
  6. 3y agowebchemChemIDplus and PAN queries removed as sources shut down
  7. 3y agowebmockrQueued responses, body matching and integer status codes fixed
  8. 3y agowebchemAdds ChEMBL access for bioactive compound data
  9. 3y agowebmockrRegex URI matching fixed
  10. 4y agowebchemcir_query() returns a tibble, a breaking change
  11. 4y agowebchemAdds Mol structure export; aw_query renamed to bcpc_query
  12. 5y agowebchemFetches LIPID MAPS and SwissLipids identifiers from Wikidata

Frequently asked questions

What is the difference between webchem and webmockr?

Both compete on the same themes — ropensci — within Analytics. webchem and webmockr 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 webchem better than webmockr?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. webchem and webmockr 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 webchem?

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

What are the best alternatives to webmockr?

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