For the last couple of months I've been working on a new open source Python project called DimCli. It's a command-line library aimed at making it simpler to work with the Dimensions Analytics API.
The project is available on GitHub. In a nutshell, DimCli helps people become productive with the powerful scholarly analytics API from Dimensions. See the video below for a quick overview of the available functionality.
I recently joined the Dimensions team, so I needed a way to get to grips with their feature-rich API (official documentation). Building DimCli has been a fun way for me to dig into the logic of the Dimensions Search Language (DSL).
Plus, this project gave me a chance to learn more about two awesome Python technologies: JupyterLab and its magic commands, as well as the Python Prompt Toolkit library.
Interactive Query Console: DimCli provides an interactive query console for the Dimensions Analytics API. Dimensions is a world-class research data platform including information about millions of documents such as publications, patents, grants, clinical trials, and policy documents.
Learning Tool: It helps you learn the Dimensions Search Language (DSL) thanks to built-in autocomplete and documentation search mechanisms.
Seamless Authentication: It handles authentication transparently either via a global user-specific credentials file or by passing credentials manually (e.g., when used within shared environments).
Flexible Export Options: It allows you to export results to CSV, JSON, and pandas dataframes, making it easier to integrate with other data analysis tools.
Jupyter Compatible: It includes various magic commands that make it super simple to interrogate Dimensions within Jupyter notebooks (various examples here).
>>> import dimcli
>>> dimcli.login(username="mary.poppins", password="chimneysweeper")
>>> dsl = dimcli.Dsl()
>>> res = dsl.query("""search grants for "malaria" return researchers""")
>>> print(res.json)
{'researchers': [{'id': 'ur.01332073522.49',
'count': 75,
'last_name': 'White',
'first_name': 'Nicholas J'},
{'id': 'ur.01343654360.43',
'count': 59,
'last_name': 'Marsh',
'first_name': 'Kevin'},
.............
],
'_stats': {'total_count': 8735}}
DimCli lives on GitHub, so for any feedback or bug reports, feel free to open an issue there. Contributions are also welcome!

Cite this blog post:
Comments via Github:
2025
paper The Dimensions API: a domain specific language for scientometrics research
Frontiers in Research Metrics and Analytics, Oct 2025. https://doi.org/10.3389/frma.2025.1514938
2024
paper Dimensions: Calculating Disruption Indices at Scale
Quantitative Science Studies, Sep 2024. https://doi.org/10.48550/arXiv.2309.06120
2022
International Conference on Science, Technology and Innovation Indicators (STI 2022), Granada, Sep 2022.
2012
2011