How to monitor companies, earnings and M&A
Track mergers, acquisitions, earnings, IPOs and funding for any company with the event.type filter
Written by Tasha Tatum
July 2, 2026
How to monitor companies, earnings and M&A
To monitor companies for earnings, mergers, acquisitions and other corporate events, query /v1/news/everything with the event.type filter — for example event.type=merger-acquisition,earnings — and pin the company with organization.name or a numeric entity.id. APITube tags each article with a single primary business event, so you filter on what actually happened rather than guessing keywords.
curl "https://api.apitube.io/v1/news/everything?organization.name=Microsoft&event.type=merger-acquisition,earnings" \
-H "X-API-Key: YOUR_API_KEY"
You can pass the key as the api_key query parameter or as an X-API-Key header, and every filter below works on both GET (query string) and POST (request body).
How do you filter for M&A, earnings and IPO news?
Use event.type, which accepts a comma-separated list of up to five event codes. For company and market monitoring, the business codes are the ones you want: merger-acquisition, earnings, ipo, funding-round, layoffs, bankruptcy, product-launch, partnership, executive-change, lawsuit, stock-movement, spin-off, contract-award and regulatory-action.
# Deal-flow: mergers, acquisitions, IPOs and funding rounds
curl "https://api.apitube.io/v1/news/everything?event.type=merger-acquisition,ipo,funding-round" \
-H "X-API-Key: YOUR_API_KEY"
An unsupported event.type value does not silently pass — the request returns HTTP 400 and lists the codes it rejected, pointing you to /v1/news/event-types. Send a GET to that endpoint for the full set of codes and their categories before hard-coding a value.
How do you catch every business event at once?
Instead of listing individual codes, pass event.category=business to match all business events in one filter. The category groups every business code — earnings, M&A, IPO, funding, layoffs, bankruptcy, lawsuits, executive changes, regulatory action and more — so you never miss a corporate development you did not think to name. The other two categories are society and environment; an unknown category returns a 400 error.
# Any business event about this company, newest first
curl "https://api.apitube.io/v1/news/everything?organization.name=Nvidia&event.category=business" \
-H "X-API-Key: YOUR_API_KEY"
Results come back sorted by published_at (newest first) by default, which is what you want for an event watch. See how to filter news by event type and category for the full list of codes and the ignore.event.type exclude filter.
How do you focus on one company?
event.type on its own returns events across every company. To watch a single company, add organization.name (resolved to a known organization entity) or a numeric entity.id. You can pass up to three company names, comma-separated:
# Earnings coverage for either company
curl "https://api.apitube.io/v1/news/everything?organization.name=Apple,Alphabet&event.type=earnings" \
-H "X-API-Key: YOUR_API_KEY"
If organization.name returns a not found error, the exact spelling did not resolve to an entity. Look the company up first and filter by its stable entity.id, which does not depend on capitalization or exact wording — how to find news mentioning a person or company covers resolving a name to an id.
How do you tell whether an event is good or bad for the company?
Layer sentiment on top of the event filter. Article-level tone comes from sentiment.overall.polarity (positive, negative or neutral); to score how the coverage treats the company specifically, use entity.sentiment.polarity, which scores each mention of the company separately from the surrounding article:
# Negative coverage of layoffs or lawsuits at this company
curl "https://api.apitube.io/v1/news/everything?organization.name=Meta&event.type=layoffs,lawsuit&entity.sentiment.polarity=negative" \
-H "X-API-Key: YOUR_API_KEY"
Both polarities pair with a numeric scale from -1 (most negative) to 1 (most positive): sentiment.overall.score.min / .max for the article and entity.sentiment.score.min / .max for the company. See how to track stock-market sentiment for the full sentiment workflow.
How do you bound the window and page through results?
Bound the reporting period with published_at.start and published_at.end. They accept absolute dates (2026-06-01) and Solr-style relative values such as NOW-1MONTH, NOW-7DAY or NOW-1WEEK:
# This quarter's M&A and IPO events, 250 per page
curl "https://api.apitube.io/v1/news/everything?event.type=merger-acquisition,ipo&published_at.start=NOW-3MONTH&per_page=250" \
-H "X-API-Key: YOUR_API_KEY"
per_page defaults to 100 and maxes out at 250 — a larger value returns an out-of-range error — and you walk further with page. On the Free plan, paging stops after the first 5 pages, so use a paid plan when you need a deep back-fill of a company’s event history.
How do you get corporate events in real time?
For a live feed, keep the same filters but open the SSE stream at /v1/news/stream instead of polling everything. The stream pushes new matching events as they are published and supports Last-Event-Id, so a restart resumes without gaps:
curl -N "https://api.apitube.io/v1/news/stream?organization.name=Tesla&event.category=business" \
-H "X-API-Key: YOUR_API_KEY"
See how to stream news in real time with SSE for handling the event stream. The canonical parameter list lives in the News API parameters reference.
Common Questions
- Is there a dedicated M&A or earnings endpoint?
- How many event types can I request at once?
- What is the difference between event.type and event.category?
- Why does organization.name say the company was not found?
Is there a dedicated M&A or earnings endpoint?
No. Company and event monitoring uses the same /v1/news/everything endpoint as any other search, plus the event.type, event.category, organization.name, entity.sentiment.* and published_at filters. There is no separate deals or earnings route — you describe the events and companies you want and combine the filters in one request.
How many event types can I request at once?
Up to five, comma-separated, in a single event.type parameter. Each article carries one primary event code, so event.type=merger-acquisition,ipo,earnings returns articles whose primary event is any one of those (OR logic). To discover every valid code, call GET /v1/news/event-types.
What is the difference between event.type and event.category?
event.type matches specific codes such as earnings or merger-acquisition. event.category matches a whole group — business, society or environment — and business expands to all business codes at once. Use event.type when you care about specific developments and event.category=business when you want any corporate event.
Why does organization.name say the company was not found?
organization.name resolves the name to a known organization entity before filtering, and an unrecognized spelling returns an HTTP 400 error. Resolve the company to a stable numeric entity.id first, then filter by entity.id instead — ids do not depend on exact spelling or capitalization, so they avoid the not-found case.