Skip to content

jmespath

2,424 3 63 MIT
1.1.0 (22 Jan 2026) Feb 09 2022 507.7 million (month)

JMESPath (pronounced “james path”) allows you to declaratively specify how to extract elements from a JSON document.

In web scraping, jmespath is a powerful tool for parsing and reshaping large JSON datasets. Jmespath is fast and easily extendible following it's own powerful query language.

For more see the Json parsing introduction section.

Example Use


```python import jmespath

data = { "data": { "info": { "products": [ {"price": {"usd": 1}, "_type": "product", "id": "123"}, {"price": {"usd": 2}, "_type": "product", "id": "345"} ] } } }

easily reshape nested dataset to flat structure:

jmespath.search("data.info.products[*].{id:id, price:price.usd}", data) [{'id': '123', 'price': 1}, {'id': '345', 'price': 2}] ```

Alternatives / Similar


728 1.8.0 (2026-02-28 00:53:19 ago) Feb 09 2022 compare
209 0.2.25 (2022-07-06 18:55:03 ago) Feb 09 2022 compare
2,383 0.2.17 (2025-02-24 20:44:42 ago) May 19 2011 compare

Other Languages

403 2.0.0 (2025-03-03 23:10:00 ago) Dec 03 2013 compare
182 20.0.4 (2025-12-10 19:58:29 ago) Jun 10 2018 compare
276 v1.3.7 (2026-03-30 06:38:20 ago) Oct 15 2019 compare
mxj
633 per (2023-07-24 15:10:09 ago) Feb 09 2017 compare
1,773 4.0.0 (2021-03-24 12:37:03 ago) Apr 18 2015 compare
Was this page helpful?