APITube Help Center

How to Monitor News About a Company or Brand

Track a company or brand with organization.name, brand.name, entity.id and entity-level sentiment

Tasha Tatum

Written by Tasha Tatum

June 27, 2026

Open this example in the API Playground ↗

How to monitor news about a company or brand

To monitor a company, add organization.name to your search — for example organization.name=Tesla. For a consumer brand, use brand.name instead, such as brand.name=Nike. APITube resolves the name against the entities it tracks and returns only articles that actually mention that company or brand, and results come back newest-first by default — so a single repeated request is already a working monitor.

curl "https://api.apitube.io/v1/news/everything?organization.name=Tesla&api_key=YOUR_API_KEY"

You can send the key as a header (X-API-Key: YOUR_API_KEY) instead of the api_key query parameter. Because the default sort is publication date, descending, the first article in the response is the most recent mention — no sort parameter needed.

How do I set up ongoing monitoring for a company?

Monitoring is the same entity filter you would use for a one-off search, run on a schedule. Pick the parameter that matches what you are tracking:

  • organization.name matches companies and organizations (for example organization.name=Netflix).
  • brand.name matches consumer brands (for example brand.name=Adidas).

Each parameter accepts up to three values separated by commas with OR logic, so you can watch a few brands at once: brand.name=Nike,Adidas. Names must be 1 to 120 characters and must match a tracked entity — an unknown organization.name returns HTTP 400 with error ER0220, and an unknown brand.name returns ER0222. Confirm the spelling first by reading it from a result or from entity autocomplete (GET /v1/suggest/entities?prefix=). For the full mechanics of entity matching, see how to find news mentioning a person or company.

How do I make company monitoring precise?

Company names are often ambiguous — many firms share a name, and a word like “Apple” matches both the company and the fruit. To pin monitoring to exactly one company, filter by its numeric entity.id instead of its name:

curl "https://api.apitube.io/v1/news/everything?entity.id=314&api_key=YOUR_API_KEY"

entity.id accepts up to three IDs (comma-separated, OR logic) and is type-agnostic, so the same parameter works for a company, a brand or a product. A non-numeric value returns error ER0127. Unlike a name, an entity.id is not checked against the directory, so it never blocks the request — a stable ID is the most reliable anchor for a long-running monitor. Read the ID from the entities array of any matching article and reuse it.

How do I catch only negative coverage about a company?

For reputation monitoring you usually care about negative mentions. Add entity.sentiment.polarity=negative to keep only articles whose tone toward that company is negative:

curl "https://api.apitube.io/v1/news/everything?organization.name=Tesla&entity.sentiment.polarity=negative&api_key=YOUR_API_KEY"

entity.sentiment.polarity accepts positive, negative or neutral; any other value returns ER0290. You can tighten it with the numeric range entity.sentiment.score.min and entity.sentiment.score.max, each between -1 and 1 (out-of-range values return ER0291 or ER0292). This is sentiment aimed at the company itself, which is not the same as the article’s overall tone — see how to get sentiment toward a specific company or person for the full breakdown.

How do I narrow monitoring to recent or excluded mentions?

Add a date window so each poll only returns fresh coverage. published_at.start and published_at.end are inclusive and accept relative values, so published_at.start=NOW-7DAYS means “the last seven days”:

curl "https://api.apitube.io/v1/news/everything?organization.name=Netflix&published_at.start=NOW-7DAYS&api_key=YOUR_API_KEY"

To filter out a competitor or a noisy source while watching your own company, use ignore.organization.name — for example ignore.organization.name=Disney. An unknown name there returns ER0221. Entity filters combine with AND across parameters, so organization.name=Netflix&language.code=en returns only English-language Netflix coverage.

How do I get company mentions in real time instead of polling?

Instead of re-running a search every few minutes, open a Server-Sent Events stream that pushes each new matching article as it is published. The stream accepts the same entity filters:

curl -N -H "X-API-Key: YOUR_API_KEY" \
  "https://api.apitube.io/v1/news/stream?organization.name=Tesla"

GET /v1/news/stream checks for new matches about every 30 seconds, sends up to 50 articles per cycle, and keeps the connection open for up to 6 hours before asking you to reconnect. Streaming draws on a separate streaming quota rather than your normal request credits. See how to stream news in real time with SSE for resume handling and message format. For the complete list of accepted parameters, see the official parameters reference.

Common Questions

Should I use organization.name or brand.name?

They look up different entity types. organization.name matches the legal company or organization, while brand.name matches a consumer-facing brand. A brand passed to organization.name may return “not found” (ER0220) if APITube tracks it as a brand rather than a company. If you are unsure of the type, filter by entity.id instead, which matches the exact entity regardless of whether it is a company, brand or product.

How many companies can I monitor in one request?

Up to three per parameter. organization.name, brand.name, entity.id and their ignore. variants each accept a comma-separated list, and only the first three values are applied. Multiple values inside one parameter use OR logic, so an article matches if it mentions any of them. To watch more than three companies, run several requests or several streams.

Why does my company filter return no articles?

Either the name resolved but there is no recent coverage, or your other filters are too tight. A name filter fails loudly — an unknown organization.name returns ER0220 rather than an empty list — so if you get a clean empty response, the entity was found but matched nothing. Widen the date window (drop published_at.start), remove entity.sentiment.polarity, or switch to the entity’s numeric entity.id to rule out a name mismatch.


Related Articles