springernature-api


Namespringernature-api JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummarySpringer Nature API Wrapper
upload_time2025-02-07 07:48:14
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords api springer nature wrapper requests
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SpringerNature API Wrapper

[![PyPI Version](https://img.shields.io/pypi/v/springernature_api)](https://pypi.org/project/springernature-api/)
[![Python Version](https://img.shields.io/pypi/pyversions/springernature_api)](https://pypi.org/project/springernature-api/)
[![License](https://img.shields.io/pypi/l/springernature_api)](LICENSE)

A Python package to interact with the **SpringerNature API** for fetching metadata, open access articles, and text & data mining (TDM) content.

---

## 🚀 Installation

```bash
pip install springernature_api
```

## 🔑 Setup

Before using the package, obtain an API key from SpringerNature Developer Portal.

Set the API key in your environment:

```bash
export SPRINGER_API_KEY="your_api_key_here"
```

Or pass it directly in Python:

```bash
api_key = "your_api_key_here"
```

## 📌 Basic Usage

Fetch Metadata and Export to Excel

```bash
import springernature_api.metadata as metadata
from springernature_api.utils import results_to_dataframe

# Initialize API Client
metadata_client = metadata.MetadataAPI(api_key="your_api_key")

# Fetch results (pagination enabled, stops at `s=200`)
response = metadata_client.search(q='keyword:"cancer"', p=20, s=1, fetch_all=True, is_premium=True)

# Convert API response to DataFrame & export to Excel
df = results_to_dataframe(response, export_to_excel=True, filename="articles.xlsx")

print(df.head())  # Display first few rows
```

## 📚 API Modules

### 1️⃣ Meta API

```bash
import springernature_api.meta as meta
from springernature_api.utils import results_to_dataframe

meta_client = meta.MetaAPI(api_key="your_api_key")
response = meta_client.search(q='keyword:"cancer"', p=20, s=1, fetch_all=True, is_premium=True)
df = results_to_dataframe(response, export_to_excel=True)
print(df.head())
```

### 2️⃣ Metadata API

```bash
import springernature_api.metadata as metadata
from springernature_api.utils import results_to_dataframe

metadata_client = metadata.MetadataAPI(api_key="your_api_key")
response = metadata_client.search(q='keyword:"cancer"', p=20, s=1, fetch_all=True, is_premium=True)
df = results_to_dataframe(response, export_to_excel=True)
print(df.head())
```

### 3️⃣ Open Access API

```bash
import springernature_api.openaccess as openaccess
from springernature_api.utils import results_to_dataframe

openaccess_client = openaccess.OpenAccessAPI(api_key="your_api_key")
response = openaccess_client.search(q='keyword:"cancer"', p=20, s=1, fetch_all=True, is_premium=True)
df = results_to_dataframe(response, export_to_excel=True)
print(df.head())
```

### 4️⃣ TDM (Text & Data Mining) API

```bash
import springernature_api.tdm as tdm
from springernature_api.utils import results_to_dataframe

tdm_client = tdm.TDMAPI(api_key="your_api_key")
response = tdm_client.search(q='keyword:"cancer"', p=20, s=1, fetch_all=True, is_premium=True)
df = results_to_dataframe(response, export_to_excel=True)
print(df.head())
```

### 🔄 Pagination Handling (fetch_all=True)

If fetch_all=True, the API will automatically paginate through results.

```bash
response = metadata_client.search(q='keyword:"cancer"', p=20, s=1, fetch_all=True, is_premium=True)
```

## 📤 Exporting to Excel
By default, results_to_dataframe() saves the results as an Excel file:

```bash
df = results_to_dataframe(response, export_to_excel=True, filename="output.xlsx")
```

## 🛠 Troubleshooting
### 1️⃣ Invalid API Key

Ensure you pass the correct API key.
Try setting the API key as an environment variable.
### 2️⃣ Rate Limit Exceeded (Error 429)

SpringerNature API limits requests per minute.
If you hit the limit, wait or request a higher quota.
### 3️⃣ Connection Timeout

If requests timeout, check your internet connection.
Try increasing the timeout value in the request.


## 📄 License
This project is licensed under the MIT License.


## 👨‍💻 Contributing
We welcome contributions! Open an issue or submit a pull request. 🚀

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "springernature-api",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "API, Springer Nature, wrapper, requests",
    "author": null,
    "author_email": "Springer Nature <supportapi@springernature.com>",
    "download_url": "https://files.pythonhosted.org/packages/00/c7/f5a94aeaa158059068ac26e482ee93351a7727f58370e40b47e98d65fd83/springernature_api-0.0.3.tar.gz",
    "platform": null,
    "description": "# SpringerNature API Wrapper\n\n[![PyPI Version](https://img.shields.io/pypi/v/springernature_api)](https://pypi.org/project/springernature-api/)\n[![Python Version](https://img.shields.io/pypi/pyversions/springernature_api)](https://pypi.org/project/springernature-api/)\n[![License](https://img.shields.io/pypi/l/springernature_api)](LICENSE)\n\nA Python package to interact with the **SpringerNature API** for fetching metadata, open access articles, and text & data mining (TDM) content.\n\n---\n\n## \ud83d\ude80 Installation\n\n```bash\npip install springernature_api\n```\n\n## \ud83d\udd11 Setup\n\nBefore using the package, obtain an API key from SpringerNature Developer Portal.\n\nSet the API key in your environment:\n\n```bash\nexport SPRINGER_API_KEY=\"your_api_key_here\"\n```\n\nOr pass it directly in Python:\n\n```bash\napi_key = \"your_api_key_here\"\n```\n\n## \ud83d\udccc Basic Usage\n\nFetch Metadata and Export to Excel\n\n```bash\nimport springernature_api.metadata as metadata\nfrom springernature_api.utils import results_to_dataframe\n\n# Initialize API Client\nmetadata_client = metadata.MetadataAPI(api_key=\"your_api_key\")\n\n# Fetch results (pagination enabled, stops at `s=200`)\nresponse = metadata_client.search(q='keyword:\"cancer\"', p=20, s=1, fetch_all=True, is_premium=True)\n\n# Convert API response to DataFrame & export to Excel\ndf = results_to_dataframe(response, export_to_excel=True, filename=\"articles.xlsx\")\n\nprint(df.head())  # Display first few rows\n```\n\n## \ud83d\udcda API Modules\n\n### 1\ufe0f\u20e3 Meta API\n\n```bash\nimport springernature_api.meta as meta\nfrom springernature_api.utils import results_to_dataframe\n\nmeta_client = meta.MetaAPI(api_key=\"your_api_key\")\nresponse = meta_client.search(q='keyword:\"cancer\"', p=20, s=1, fetch_all=True, is_premium=True)\ndf = results_to_dataframe(response, export_to_excel=True)\nprint(df.head())\n```\n\n### 2\ufe0f\u20e3 Metadata API\n\n```bash\nimport springernature_api.metadata as metadata\nfrom springernature_api.utils import results_to_dataframe\n\nmetadata_client = metadata.MetadataAPI(api_key=\"your_api_key\")\nresponse = metadata_client.search(q='keyword:\"cancer\"', p=20, s=1, fetch_all=True, is_premium=True)\ndf = results_to_dataframe(response, export_to_excel=True)\nprint(df.head())\n```\n\n### 3\ufe0f\u20e3 Open Access API\n\n```bash\nimport springernature_api.openaccess as openaccess\nfrom springernature_api.utils import results_to_dataframe\n\nopenaccess_client = openaccess.OpenAccessAPI(api_key=\"your_api_key\")\nresponse = openaccess_client.search(q='keyword:\"cancer\"', p=20, s=1, fetch_all=True, is_premium=True)\ndf = results_to_dataframe(response, export_to_excel=True)\nprint(df.head())\n```\n\n### 4\ufe0f\u20e3 TDM (Text & Data Mining) API\n\n```bash\nimport springernature_api.tdm as tdm\nfrom springernature_api.utils import results_to_dataframe\n\ntdm_client = tdm.TDMAPI(api_key=\"your_api_key\")\nresponse = tdm_client.search(q='keyword:\"cancer\"', p=20, s=1, fetch_all=True, is_premium=True)\ndf = results_to_dataframe(response, export_to_excel=True)\nprint(df.head())\n```\n\n### \ud83d\udd04 Pagination Handling (fetch_all=True)\n\nIf fetch_all=True, the API will automatically paginate through results.\n\n```bash\nresponse = metadata_client.search(q='keyword:\"cancer\"', p=20, s=1, fetch_all=True, is_premium=True)\n```\n\n## \ud83d\udce4 Exporting to Excel\nBy default, results_to_dataframe() saves the results as an Excel file:\n\n```bash\ndf = results_to_dataframe(response, export_to_excel=True, filename=\"output.xlsx\")\n```\n\n## \ud83d\udee0 Troubleshooting\n### 1\ufe0f\u20e3 Invalid API Key\n\nEnsure you pass the correct API key.\nTry setting the API key as an environment variable.\n### 2\ufe0f\u20e3 Rate Limit Exceeded (Error 429)\n\nSpringerNature API limits requests per minute.\nIf you hit the limit, wait or request a higher quota.\n### 3\ufe0f\u20e3 Connection Timeout\n\nIf requests timeout, check your internet connection.\nTry increasing the timeout value in the request.\n\n\n## \ud83d\udcc4 License\nThis project is licensed under the MIT License.\n\n\n## \ud83d\udc68\u200d\ud83d\udcbb Contributing\nWe welcome contributions! Open an issue or submit a pull request. \ud83d\ude80\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Springer Nature API Wrapper",
    "version": "0.0.3",
    "project_urls": null,
    "split_keywords": [
        "api",
        " springer nature",
        " wrapper",
        " requests"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "297c266e0343c38c5318bca2a232e08e9270473933a637677bab56bb5dfdcb38",
                "md5": "331469dfe0a9720bdffa1c2f823f2b8d",
                "sha256": "d78635cd5f77158a4acbcdae26d33f04d91b5c5adebe7e4d5e874604888bd767"
            },
            "downloads": -1,
            "filename": "springernature_api-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "331469dfe0a9720bdffa1c2f823f2b8d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 9685,
            "upload_time": "2025-02-07T07:48:12",
            "upload_time_iso_8601": "2025-02-07T07:48:12.650940Z",
            "url": "https://files.pythonhosted.org/packages/29/7c/266e0343c38c5318bca2a232e08e9270473933a637677bab56bb5dfdcb38/springernature_api-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "00c7f5a94aeaa158059068ac26e482ee93351a7727f58370e40b47e98d65fd83",
                "md5": "52178851efdcef7f9cabcd6551fb4904",
                "sha256": "97dbf7b7bdeb132f82dab74178ebf66a3ea37b26bf7c9b27a1c17ea7f350d28b"
            },
            "downloads": -1,
            "filename": "springernature_api-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "52178851efdcef7f9cabcd6551fb4904",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7419,
            "upload_time": "2025-02-07T07:48:14",
            "upload_time_iso_8601": "2025-02-07T07:48:14.272560Z",
            "url": "https://files.pythonhosted.org/packages/00/c7/f5a94aeaa158059068ac26e482ee93351a7727f58370e40b47e98d65fd83/springernature_api-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-07 07:48:14",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "springernature-api"
}
        
Elapsed time: 0.52423s