Download article and chapter metadata including abstracts (CSV, JSON) and full texts (original JATS XML, plain text) by DOI from the Springer Nature APIs, directly in the browser, without programming. A small local helper script (Python, no extra packages) is all you need to install.
Springer Nature offers APIs for metadata (Meta API), open access full texts (Open Access API) and full texts of open access and licensed content for text and data mining (TDM API). This tool makes these interfaces usable through a simple form: enter your API keys and a list of DOIs, retrieve, check the results and download what you need.
| Content | Source | Formats |
|---|---|---|
| Metadata and abstracts | Meta API (v2); without a Meta API key taken from the full-text XML | CSV, JSON |
| Full text | Open Access API, then TDM API for texts still missing | original JATS XML (one file per article or chapter) |
| Plain text | derived from the JATS XML | TXT, optionally with header (title, authors, source, abstract, keywords), figure and table captions and reference list |
- Input: DOIs,
doi.orglinks,link.springer.comlinks andnature.com/articles/…links, typed in or loaded from a.txtor.csvfile. Journal articles and book chapters are supported. - For each article, the result list shows whether the full text or only the abstract was delivered, and from which API.
- Rows can be ticked and removed; bulk exports (CSV, JSON, XML as ZIP, plain texts as ZIP, everything as ZIP) include only the selected rows. CSV uses a semicolon as delimiter by default (Excel); comma and tab are available.
- A preview (plain text, metadata, XML) opens directly below each result.
- Download
springer-fulltext-tool.htmlandspringer-tool-server.pyinto the same folder (or clone this repository). - Start the helper in that folder:
On Windows:
python3 springer-tool-server.pypy springer-tool-server.py. The tool opens in your browser at http://127.0.0.1:8765/. Stop the helper with Ctrl+C. - Enter your API keys. You only need the keys for the APIs you want to use; manage them at datasolutions.springernature.com.
- Enter the DOIs, click «Retrieve», then select the rows and download.
Why the helper? The Springer Nature APIs do not allow requests directly from a web page (no CORS headers), so the browser blocks their responses. The helper runs only on your own computer (127.0.0.1), serves the tool and forwards its requests to api.springernature.com. It only forwards requests to the Meta, Open Access and TDM APIs and hides API keys in its console log. If you open the HTML file directly, the tool shows a notice that the helper is needed.
API keys are only sent to Springer Nature. If you tick «Remember API keys», they are stored in your browser only.
Springer Nature limits requests per minute and per day for each API key, depending on your API plan (see rate limits). The tool:
- combines up to 10 DOIs in one request, which reduces the number of requests,
- waits at least one second between two requests to the TDM API (adjustable pause for the other APIs),
- waits and retries up to three times on HTTP 429.
The code in this repository is published under the MIT License.
Use of the Springer Nature APIs is subject to the Springer Nature API Terms and Conditions and the rate limits of your API plan.
Licence terms for University of Bern members: Text and data mining on licensed Springer Nature content is subject to your institution’s licence terms. You may download content via the Springer Nature TDM API with the institution’s API key for non-commercial TDM, within the API’s rate limits (max. one request per second). Systematic downloading outside the API is not permitted. Downloaded content may only be stored on systems accessible exclusively to authorized users, used only within a specific TDM project and deleted when the project ends. Results may be shared if they contain no verbatim text or data that allows the content to be reconstructed and are not used commercially. Content obtained via the TDM API must not be used for generative AI. Open access content (e.g. under CC BY) is governed solely by its open access licence. This is only a rough summary: please discuss your project with Digital Scholarship at the University Library Bern before you start.
Developed by Kathi Woitas at the University Library Bern, Digital Scholarship, with the support of Claude (Anthropic). As of October 2026.
Questions, suggestions and bug reports: as a GitHub issue or via Digital Scholarship at the University Library Bern.
