Keeping up with a company's news usually means polling: run the same search every morning, diff the results, and hope nothing slipped through. aVenture already links every news article it ingests to the companies it covers. News alerts turn that into a push: subscribe a webhook to a company, and each time a new public article is linked to it, aVenture posts the article to you.
News alerts are free on every signed-in account, including the free Essential plan.
Set one up in Settings
Your account settings are the quickest way to start. On the News alerts page, choose Add alert and pick a company; each new article about it then arrives as an in-app notification. On the Webhooks page, choose Add webhook, pick one of your alerts, and enter your webhook URL. aVenture generates a signing secret for you to copy into your receiver, verifies the endpoint, and lists the webhook with its delivery status and expiry. Each webhook has Send test event, Renew, and Remove controls.
Subscribe from code, the CLI, or an AI assistant
A news alert subscribes one HTTPS endpoint to one company. From the terminal, create a signing secret, put the subscription in a file, and subscribe:
echo "whsec_$(openssl rand -base64 32)"
aventure news subscriptions subscribe --from-file subscribe.json
{
"name": "entity.news.published",
"arguments": { "entityId": "<company id>" },
"delivery": {
"mode": "webhook",
"url": "https://example.com/aventure/news",
"secret": "whsec_..."
}
}
The same subscription is available as PUT /v1/news/subscriptions in the API and as MCP Events (events/subscribe) through the aVenture MCP server, so an AI assistant can set up an alert for you. A subscription lasts 7 days; subscribing again refreshes it.
What arrives at your endpoint
Every request is a signed JSON POST that follows the Standard Webhooks specification, so you can verify it with an off-the-shelf library for Node.js or Python before you trust it. The body carries the article itself, the same object the news API returns, plus an event id and a cursor:
{
"eventId": "evt_...",
"name": "entity.news.published",
"timestamp": "...",
"data": { "title": "...", "newsUrlOriginal": "..." },
"cursor": "..."
}
A few guarantees make it safe to build on:
- Verified endpoints only. A new endpoint must answer a one-time challenge before any news is sent to it, so nobody can point alerts at a URL they do not control.
- Retries with backoff. Answer with any
2xxand the event is done. A410or413refuses that one event for good. Any other answer, or no answer, is retried with exponential backoff, from one minute up to six hours. After 12 failures in a row, delivery pauses until you refresh the subscription. - No duplicates to worry about. An event keeps the same id across retries, so you can drop any id you have already handled.
- Nothing silently lost. An event too large to send is replaced by a
gapmessage carrying its cursor, so you know to catch up.
See and test your alerts
GET /v1/news/subscriptions (CLI: aventure news subscriptions list) shows each subscription with its delivery health: active, retrying with the next attempt and the last error, paused, or expired. To check your endpoint end to end before real news arrives, send a test event:
aventure news subscriptions test-events send --subscription-id "$SUBSCRIPTION_ID"
aVenture posts one signed sample article to your endpoint and tells you exactly what it answered, such as {"status": 200, "acknowledged": true}. A test event never changes your subscription's position.
We dogfooded it
Before writing this post, we pointed a small receiver at Anthropic's news on our staging environment, using the public CLI and API, the Settings page, and a throwaway test account. The receiver answered the verification challenge, and every request it received carried a valid signature. The first real article ("Google's James Manyika: The AI Industry Can't Police Itself Alone") arrived 18 minutes after we subscribed. Test events reported our receiver's real answers: a 500 while we had it failing on purpose, and a 200 once we turned it back on.
Build a receiver

The News Alerts guide has a complete Node.js receiver in about 25 lines, the verification and retry rules, the gap and terminated messages, the MCP Events error codes, and limits: up to 100 subscriptions per account, events up to 256 KB, and an answer within 10 seconds. Subscribe to your portfolio, your competitors, or a watchlist from your research workspace, and let the news come to you.

