newsapi-python
An unofficial Python client for the News API
Decision gist · record as of 2026-08-14
Yes, if you need a simple Python wrapper for News API and are comfortable with a package that is no longer actively maintained. The library is stable, has low install friction, carries no known vulnerabilities, and is permissively licensed. However, if you require ongoing support or bug fixes, consider checking whether a more recently maintained wrapper exists.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a valid News API key from https://newsapi.org/ to make requests; the package itself does not provide one.
- Installation is straightforward with low friction—a pure-Python wheel with only requests as a runtime dependency.
- However, the package is aging: last release was 2023-03-02 and maintenance status is aging.
License · maintenance · safety
MIT (permissive) — Licensed under MIT (permissive), so you may use, modify, and distribute the package freely in commercial or private projects with minimal restrictions, provided you retain the license notice.
last release 2023-03-02 (1261 days) · last repo commit 2025-12-22 · 504 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 275,226 downloads/mo, #8,181 on PyPI
Alternatives
Verify before relying
pip install newsapi-python
from newsapi import NewsApiClient
api = NewsApiClient(api_key='YOUR_API_KEY')
api.get_top_headlines(sources='bbc-news')- Whether the package's Python 2 support (2.6, 2.7) and older Python 3 versions (3.3–3.5) remain functional given modern dependency versions.
- Current compatibility with the News API V2 specification and whether all documented endpoints are fully supported.
- Performance and rate-limiting behavior under high-volume or concurrent request scenarios.
What it is and what it does
newsapi-python is an unofficial Python wrapper around the News API service, allowing you to query news articles and sources programmatically. It provides three main methods—get_top_headlines(), get_everything(), and get_sources()—that map to the News API's REST endpoints, abstracting away HTTP details and response parsing. The library depends only on requests, making it lightweight and easy to integrate into news aggregation, content curation, or research workflows.
The package is stable and permissively licensed, but has been aging since its last release in 2023-03-02. It supports both Python 2 and Python 3, and the repository remains unarchived. Use it when you need straightforward programmatic access to News API data without building raw HTTP calls yourself, but be aware that active maintenance has stalled.
Use it for
- Build a news aggregation dashboard that pulls top headlines from multiple sources and displays them in real time.
- Search for articles on a specific topic and retrieve results for analysis or archival.
- Populate a content feed or chatbot with current news articles from curated news sources.
- Automate daily news briefing reports by querying headlines and sending summaries via email.
- Research trending news by querying the News API's everything endpoint with custom filters.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a simple Python wrapper for News API and are comfortable with a package that is no longer actively maintained.
The library is stable, has low install friction, carries no known vulnerabilities, and is permissively licensed. However, if you require ongoing support or bug fixes, consider checking whether a more recently maintained wrapper exists.
Install
newsapi-python on PyPI
Before you install
Installation is straightforward with low friction—a pure-Python wheel with only requests as a runtime dependency. However, the package is aging: last release was 2023-03-02 and maintenance status is aging. Suitable for stable use cases but not actively maintained.
Requires a valid News API key from https://newsapi.org/ to make requests; the package itself does not provide one.
License in practice
Licensed under MIT (permissive), so you may use, modify, and distribute the package freely in commercial or private projects with minimal restrictions, provided you retain the license notice.
Quickstart
pip install newsapi-python
from newsapi import NewsApiClient
api = NewsApiClient(api_key='YOUR_API_KEY')
api.get_top_headlines(sources='bbc-news')
Verify before relying
- Whether the package's Python 2 support (2.6, 2.7) and older Python 3 versions (3.3–3.5) remain functional given modern dependency versions.
- Current compatibility with the News API V2 specification and whether all documented endpoints are fully supported.
- Performance and rate-limiting behavior under high-volume or concurrent request scenarios.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerequests |
| Maintenance | Aging 1,261 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 275,226 / month, #8,181 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Information TechnologyLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Software Development :: Libraries :: Python Modules |
Evidence: newsapi_python-0.2.7-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “news api python client”
- newsapi-pythonA Python client library that wraps the News API, providing methods to…
- eventregistryQuery news articles and events from Event Registry's API using…
- brave-search-python-clientA Python client library for the Brave Search API that supports web,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also eventregistry · gnews · asknews · coreapi · spotifyaio · brave-search-python-client · brave-search · pagerduty · newspaper4k · URLObject