Metadata-Version: 2.4
Name: apivault-google-news-search
Version: 0.1.0
Summary: Python client for Google News Search on Apify. Run, resume and download results with diagnostics.
Author: ApiVault Labs
License-Expression: MIT
Project-URL: Homepage, https://apify.com/apivault_labs/google-news-search
Project-URL: Source, https://github.com/apivault-labs/apivault-labs/tree/main/packages/apivault-google-news-search
Project-URL: Documentation, https://github.com/apivault-labs/apivault-labs/tree/main/packages/apivault-google-news-search#readme
Keywords: apify,python-sdk,google,news,search
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Google News Search - Python client

Collect Google News headlines, publishers, publication dates and article links.

This client starts the hosted [Apify Actor](https://apify.com/apivault_labs/google-news-search), waits for completion and downloads Dataset records. It also reads SUMMARY and ERRORS when available. Source coverage and result fields depend on the Actor.

## Install

```bash
pip install apivault-google-news-search
```

## Run

Set `APIFY_TOKEN` in your environment. Replace the example values with your own valid inputs from the [Actor input form](https://apify.com/apivault_labs/google-news-search/input).

```python
from apivault_google_news_search import Client, WaitTimeout

client = Client()
actor_input = {
    "queries": [
        "OpenAI"
    ],
    "maxResults": 5
}
result = client.run(actor_input, max_total_charge_usd=0.05, max_rows=100)
print(result.run_id, len(result.rows), result.truncated)
print(result.summary)
```

An Apify account and token are required. The package has no subscription of its own; hosted runs are billed by Apify under the Actor pricing. The event charge cap may not include platform usage. Review the [current price](https://apify.com/apivault_labs/google-news-search/pricing) before changing it. `max_rows` limits the download, not the Actor collection or its charges; configure an Actor result limit too.

## Resume and diagnostics

`client.start(input)` returns a run ID; `client.wait(run_id)` and `client.result(run_id)` resume an existing run. A `WaitTimeout` exposes `run_id`. Starting a run is never automatically retried. Use an existing run ID after a connection or waiting failure to avoid duplicate paid runs. Failed and aborted runs raise `ActorError`. No-match and partial results require inspecting `summary` and `errors`; diagnostic rows must not be mistaken for useful results.

Rows can be serialized as JSON or used in your own CSV/Excel pipeline. Native Dataset exports are available in Apify. Optional integrations and credentials depend on the Actor.

[Hosted Actor](https://apify.com/apivault_labs/google-news-search) | [Source](https://github.com/apivault-labs/apivault-labs/tree/main/packages/apivault-google-news-search) | [PyPI](https://pypi.org/project/apivault-google-news-search/)


## Related integration

[Python client](https://github.com/apivault-labs/apivault-labs/tree/main/packages/apivault-google-news-search) · [PyPI](https://pypi.org/project/apivault-google-news-search/) · [n8n source and workflow](https://github.com/apivault-labs/apivault-labs/tree/main/community-nodes/n8n-nodes-apivault-google-news-search) · [npm](https://www.npmjs.com/package/n8n-nodes-apivault-google-news-search)


## Source coverage and limits

News feeds are bounded snapshots. Daily mode and optional article text use the hosted Actor settings and can increase resources. Neither mode guarantees a complete archive. Repeat runs can bill the same delivered article again. Keep your own articleId-based history for monitoring.
