Skip to main content

An API wrapper for Springer Nature

Project description

Simple API wrapper for the Springer Nature APIs

https://badge.fury.io/py/sprynger.svg https://img.shields.io/pypi/pyversions/sprynger.svg https://readthedocs.org/projects/sprynger/badge/?version=latest https://img.shields.io/pypi/dm/sprynger.svg https://img.shields.io/pypi/l/sprynger.svg https://github.com/nils-herrmann/sprynger/actions/workflows/test.yml/badge.svg https://codecov.io/gh/nils-herrmann/sprynger/graph/badge.svg?token=GF3FMVUWV3 https://api.codeclimate.com/v1/badges/1d053321a70d800bfc59/maintainability

🏔️ Overview Springer Nature

Springer Nature currently offers three APIs:

  • Springer Metadata API: Metadata of articles, journal articles and book chapters. (Note: Being discontinued by Springer Nature)

  • Springer Meta API: Advanced version offering versioned metadata.

  • Springer OpenAccess API: Metadata and, where available, full-text.

⬇️ Install

Download and install the package from PyPI:

pip install sprynger

🪧 Example Use

>>> from sprynger import Meta, OpenAccess, init
>>> # Initialize with a single API key (for backward compatibility)
>>> init(api_key='your free api key from https://dev.springernature.com')
>>>
>>> # Or initialize with separate keys for Meta and OpenAccess APIs
>>> init(api_key_meta='your_meta_key', api_key_oa='your_openaccess_key')
>>>
>>> # Get metadata of all chapters in the book with ISBN '978-3-031-63497-0'
>>> book_metadata = Meta(isbn='978-3-031-63497-0', nr_results=3)
>>> for chapter in book_metadata:
>>>     print(chapter.identifier)
>>>     print(chapter.abstract)
'doi:10.1007/978-3-031-63498-7_20'
    'Modern solvers for quantified Boolean formulas (QBFs) process formulas in prenex form, ...'
'doi:10.1007/978-3-031-63498-7_9'
    'Given a finite consistent set of ground literals, we present an algorithm that generates ...'
'doi:10.1007/978-3-031-63498-7_3'
    'The TPTP World is a well established infrastructure that supports research, development, ...'
>>> # Print the facets of the retrieved chapter's metadata
>>> book_metadata.facets
[MetadataFacets(facet='subject', value='Artificial Intelligence', count='27'),...]
>>>
>>> # Retrieve full-text of three 'journal articles' with the keyword 'quantum computing' published before 2023
>>> results = OpenAccess('"quantum computing"', dateto='2022-12-30', type='Journal Article', nr_results=3)
>>> results.documents_found
3515
>>> for document in results:
>>>    print(document.title)
>>>    for section in document.parsed_text:
>>>        print(section.text)
'A neural network assisted'
    'Introduction Quantum sensing 1  and metrology 2  are important branches of modern quantum technologi...'
    ...
'Experimental demonstration of classical analogous time-dependent superposition of states'
    'Introduction The increased demand for quantum information science (QIS) and quantum computing 1 ,  2...'
    ...
'A quantum-like cognitive approach to modeling human biased selection behavior'
    'Introduction With the advent of the Internet of Things and social networks, the reformation of the d...'
    ...

📝 Citation

If sprynger helped you retrieve your data, please cite the corresponding paper.

@article{HERRMANN2025102186,
  title = {sprynger: Scriptable bibliometrics using a Python interface to Springer Nature},
  journal = {SoftwareX},
  volume = {31},
  pages = {102186},
  year = {2025},
  issn = {2352-7110},
  doi = {https://doi.org/10.1016/j.softx.2025.102186},
  url = {https://www.sciencedirect.com/science/article/pii/S2352711025001530},
  author = {Nils A. Herrmann and Michael E. Rose}
}

📖 Documentation

For a comprehensive guide, see the documentation in read the docs.

⚠️ Disclaimer

This project is an independent API wrapper for the Springer Nature API. It is not affiliated with, endorsed, or maintained by Springer Nature. For official support, please refer to the Springers’s documentation and support channels.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sprynger-0.4.2.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sprynger-0.4.2-py3-none-any.whl (41.6 kB view details)

Uploaded Python 3

File details

Details for the file sprynger-0.4.2.tar.gz.

File metadata

  • Download URL: sprynger-0.4.2.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sprynger-0.4.2.tar.gz
Algorithm Hash digest
SHA256 e5fb33ab4b637b1da75a4953e57b2552f739c24e2d7d029e59562ee2a0353be7
MD5 78e2480b8d07e1131a887a34fc4238a3
BLAKE2b-256 49e313f9d04340847e15ea5000c923f2fb6efda451a4a43bf745372d9d05f469

See more details on using hashes here.

Provenance

The following attestation bundles were made for sprynger-0.4.2.tar.gz:

Publisher: python-publish.yml on nils-herrmann/sprynger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sprynger-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: sprynger-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 41.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sprynger-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 43a54129ac3f18896379d2ac83e9096d637cbce211e42635e776b860357f7f9c
MD5 70c89294e84f4849d424976371eaf5c6
BLAKE2b-256 ab7e9b56b0953fbfc5ffa3c7fab97a5aaa9266b2aeeb6dd26468992c370132cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sprynger-0.4.2-py3-none-any.whl:

Publisher: python-publish.yml on nils-herrmann/sprynger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page