How to Monitor Political Events and Elections
Track elections, protests, policy changes and named politicians by combining event.type, entity and sentiment filters — no dedicated politics endpoint required
Written by Tasha Tatum
July 3, 2026
Updated July 6, 2026
How to monitor political events and elections
To monitor political events, query /v1/news/everything and combine an event.type filter — such as election, protest, policy-change, scandal or diplomacy — with entity filters like person.name for a politician and organization.name for a party or government body, then scope the feed with source.country.code, a published_at window and a sentiment filter. There is no dedicated politics endpoint: you assemble a political-news feed from the shared filter chain and point the exact same filters at the /v1/news/stream SSE feed when you need coverage pushed live.
curl "https://api.apitube.io/v1/news/everything?event.type=election&language.code=en&sort.by=published_at&sort.order=desc" \
-H "X-API-Key: YOUR_API_KEY"
You can send the key as an X-API-Key header or as the api_key query parameter, and call the endpoint with GET (query parameters) or POST (JSON body). Every parameter you add combines with AND, so each filter narrows the political feed further.
How do you filter for elections, protests and policy changes?
The cleanest way to catch political happenings is the event.type filter, which matches the event the pipeline detected in each article rather than a keyword in the text. The political values live in the society group: election, protest, policy-change, scandal, diplomacy, conflict, human-rights, crime, terrorism and migration. You can pass up to five types, comma-separated, and they combine with OR:
curl "https://api.apitube.io/v1/news/everything?event.type=election,protest,policy-change&published_at.start=NOW-7DAYS" \
-H "X-API-Key: YOUR_API_KEY"
An unsupported value stops the request with ER0502 and points you to GET /v1/news/event-types, which returns every valid event.type together with its category. You can also cast a wider net with event.category=society, but note that group also includes non-political events like accident, death and health-crisis, so listing the specific political event.type values keeps the feed tighter. See how to filter news by event type and category for the full rules.
How do you track a specific politician, party or government body?
Keyword search matches text; entity filters match the tagged thing itself, which is far cleaner for tracking a named person or organization. Use person.name for a politician (entity type person) and organization.name for a party, ministry or government body (entity type organization). Each accepts up to three comma-separated names, 1 to 120 characters, with OR logic:
curl "https://api.apitube.io/v1/news/everything?person.name=Emmanuel%20Macron&event.type=diplomacy" \
-H "X-API-Key: YOUR_API_KEY"
The name must match an entity APITube already tracks, or the request stops — an unknown person.name returns ER0216 and an unknown organization.name returns ER0220. Resolve the exact spelling and type first with GET /v1/suggest/entities?prefix=; each result carries an id, name and type, and that numeric id also works directly as entity.id. For an ongoing person feed, see how to track news about a specific person.
How do you narrow politics to one country and time window?
Add source.country.code (a two-letter code such as us or gb, up to three comma-separated) to keep only publishers from a country, and a published_at window to scope the feed in time. published_at.start and published_at.end accept absolute dates like 2026-06-01 or relative values such as NOW-7DAYS and NOW-1WEEK:
curl "https://api.apitube.io/v1/news/everything?event.type=election&source.country.code=us&published_at.start=NOW-14DAYS&per_page=250" \
-H "X-API-Key: YOUR_API_KEY"
per_page defaults to 100 and maxes out at 250 (a larger value returns ER0171); walk deeper with page. On the Free plan, paging stops after the first 5 pages (ER0173), so use a paid plan for wide sweeps around an election. An unknown country code returns ER0212. To filter by the place a story is about rather than where its publisher sits, use the location.name entity filter instead (entity type location, unknown name returns ER0218).
How do you measure the tone of political coverage?
Political monitoring is often about sentiment, not just volume. Add sentiment.overall.polarity=negative to keep articles the pipeline scored as negative overall (it accepts positive, negative or neutral). To measure the tone expressed toward a specific politician rather than the whole article, use entity.sentiment.polarity (positive, negative or neutral; an invalid value returns ER0290) alongside the person.name selector:
curl "https://api.apitube.io/v1/news/everything?person.name=Emmanuel%20Macron&entity.sentiment.polarity=negative" \
-H "X-API-Key: YOUR_API_KEY"
Because political reporting varies by outlet, you can restrict the feed to higher-ranked publishers with is_verified_source=1, which keeps sources with an Open PageRank (OPR) of 5 or more and drops duplicates. You can also split coverage by the publisher’s political leaning with source.bias, which takes left, center or right. See how to filter news by sentiment for the score-based options.
How do you catch breaking political news in real time?
Polling everything returns what already exists; a live politics desk needs push. First narrow to important stories with is_breaking=1 (it accepts 0 or 1), then keep the same filters and open the Server-Sent Events stream at /v1/news/stream, which runs the identical filter chain and pushes each new matching article as it is indexed:
curl -N "https://api.apitube.io/v1/news/stream?event.type=election,protest&language.code=en" \
-H "X-API-Key: YOUR_API_KEY"
The stream only sends articles that appear after you connect, and it draws from a separate streaming quota: each delivered article counts against your SSE points rather than your normal request credits, and a failed delivery is refunded. If you would rather have APITube POST new coverage to your own endpoint, create a webhook — that is set up in the dashboard, not over the API.
How do you see which political topics are trending?
To see what is rising in political coverage rather than a flat list of articles, call /v1/news/trends with field=entity.id (or field=topic.id). It groups matching articles and returns each value with a count, and adding trending=true computes a trending score by comparing recent volume against the trailing window:
curl "https://api.apitube.io/v1/news/trends?field=entity.id&event.type=election&trending=true&api_key=YOUR_API_KEY"
The trends endpoint runs the same filter chain, so every filter above applies. It returns up to 100 results per request and looks back at most 30 days. The full parameter list lives in the official News API parameters reference.
Common Questions
- Is there a dedicated politics or elections endpoint?
- Which event.type values cover political news?
- Should I use a keyword or person.name to track a politician?
- How do I limit political news to one country?
Is there a dedicated politics or elections endpoint?
No. Political monitoring uses the same /v1/news/everything endpoint and the same event.type, person.name, organization.name, sentiment.*, source.country.code and published_at filters as any other subject. You define what counts as political news with those filters — there is no separate politics route.
Which event.type values cover political news?
The political values sit in the society group and include election, protest, policy-change, scandal, diplomacy, conflict, human-rights, crime, terrorism and migration. Pass up to five at once, comma-separated, in event.type. To confirm the current list, call GET /v1/news/event-types, which returns every valid value with its category; an unknown value returns ER0502.
Should I use a keyword or person.name to track a politician?
Use person.name. A title keyword matches the word in the headline, which can miss articles that name the politician only in the body or catch unrelated people with the same name. person.name matches the tagged person entity itself (type person), so it returns coverage about that individual. Resolve the exact name through /v1/suggest/entities?prefix= before filtering, because an unknown name returns ER0216.
How do I limit political news to one country?
Add source.country.code with a two-letter code (for example us, gb or fr) to keep only publishers based in that country; you can pass up to three, comma-separated. To instead filter by the country a story is about, use the location.name entity filter. An unknown source.country.code returns ER0212, and the code must be exactly two characters or you get ER0246.