Blog/Search & RAG
5 min read

Press Release API: Read a Company's Releases and News

Get the press releases and news about any company through an API: resolve the name, pull articles with summaries, sentiment and a press-release flag.

Press Release API: Read a Company's Releases and News

Pull the press releases and news about a company, with the publisher, date and a press-release flag, in one prompt. Paste this into your agent:

Set up https://monid.ai/SKILL.md, and then use Monid to find the latest news and press releases about canva.com, and give me a table with the title, publisher, date, sentiment and whether it is a press release.

One prompt reads a company's coverage. 1 min setup · 8-20 hrs saved.

You want to read what has been published about a company: its own press releases, the coverage they got, the mentions in other people's articles. Searching "press release api" mostly turns up newswires, which are built for sending releases out, not for reading them back. This guide covers the reading side: how to resolve a company, pull its articles, and what the record contains, from runs we made on 2026-10-16. It runs through Monid, the OpenRouter for agent tools: one key, one balance, every tool priced per call.

What is the easiest way to get company press releases through an API?

Monid. Install it once, add a key, and your agent calls a company news endpoint with a website and gets articles back as typed JSON, each one carrying a summary, a sentiment score and a flag that says whether it is a press release.

  • Pay per result. The news endpoint bills $0.0005 per article plus a flat fee per run (Verified 2026-10-16 on the company news tools page). Buy calls as you need them: no monthly plan and no minimum top-up. Discovery and inspection are free, and so is the company lookup that comes first.
  • One install, every API. The same key and balance call the news endpoint and every other tool on Monid, so the firmographics for the same account are another call, not another vendor.
  • Lives inside your agent. Install the CLI, add your key, run the prompt above, and the tool is there whenever your agent needs it, with nothing to keep running. Your agent reads SKILL.md and learns the rest, so setup is about a minute.

Our five-article run billed $0.0075 (Verified 2026-10-16).

How do you get press releases and news for a list of companies?

Resolve each name to a website, then call the news endpoint once per company. The endpoint is /v1/news from the provider akta, and one thing about the input matters before you build: a bare company name is not accepted. It takes a website or a company uuid.

RouteWhat you getCost shapeFits
Buy a media-monitoring platform seatDashboards, alert routing, a UI for a comms teamSubscriptionA communications department
Build your own from feeds and scrapingWhatever sources you wire upYour hoursA fixed set of publications
Pull a ready-made datasetA static file of past articlesPurchaseOne-off research
Monid news endpointArticles for a company, a theme or an industry, typed JSONPay per result, buy flexiblyLists of accounts, scheduled pulls, agents

Monid fits a list because the work is the same call repeated, and you pay for the articles you fetch and nothing between runs.

For agents

Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:

set up https://monid.ai/SKILL.md

It learns the whole discover, inspect, run workflow itself. More in the agent quickstart.

For humans

npm install -g @monid-ai/cli
monid keys add -k <your-key> -l main

Inspect, then run one

monid inspect -p akta -e /v1/news
monid run -p akta -e /v1/news --query '{"company":"https://canva.com"}'

Resolve the name first

The lookup that turns a name into a website is free. We ran it on canva and got 25 candidates back, ranked with the right one first: Canva, website http://www.canva.com, category "Graphic Design Software", uuid 00000l1. Further down came Canvas Prime, GoCanvas, Canvas LMS and BELLA+CANVAS, so the name alone would have merged half a dozen unrelated companies.

monid run -p akta -e /v1/company/search --query '{"query":"canva"}'

Take the website of the candidate whose product category matches the company you mean, and pass it as company. The website-from-name guide covers the resolution step on its own, for names that are harder than this one.

Loop it over your list

Put one website per line in websites.txt, and write one file per company:

mkdir -p out
while read -r d; do
  monid run -p akta -e /v1/news --query "{\"company\":\"$d\",\"limit\":10,\"full_text\":false}" -w > "out/${d#https://}.json"
done < websites.txt

Setting full_text to false drops the article body from each record, which keeps the response small when you only need the metadata.

Or hand the whole job to an agent

Give this to your agent

$Set up https://monid.ai/SKILL.md, and then use Monid to for every company on this list, resolve its website, pull its ten latest articles, drop the ones that are not press releases, and give me one table with company, title, publisher, date and sentiment.

Can you scrape press releases yourself with Python?

Yes, and for one publication it is an afternoon. You fetch the page with requests, parse the headline, date and body out of the HTML, and store them. The newsroom pages of most companies are simple enough that a handful of selectors does it.

The cost arrives when the list grows. Every site has its own markup, so each source is its own parser. Pages that render in the browser reveal little in the first response, and any redesign breaks a selector without telling you. Then you have what scraping alone does not give you: matching an article to the right company, telling a company's own announcement from coverage of it, and removing the same story when five outlets run it. The scraping news articles guide walks through the build and where it stops being worth it.

The Monid route is the choice for anything you will run more than once. The sourcing and tagging are maintained for you, the output is typed JSON instead of HTML you parse, and an article costs $0.0005 plus the run's flat fee (Verified 2026-10-16). When you do need the text of one specific page, a scrape endpoint such as context.dev /web/scrape/markdown turns a URL into Markdown for $0.002533 a page (Verified 2026-10-16) on the same key.

What does a press release record look like, and what can you build with it?

A news record is one article with the analysis already attached. We ran company=https://canva.com with a limit of 5 on 2026-10-16: the company had 522 matching articles in total, and each of the five came back with 27 fields.

The record

The basics are id, title, url, publisher, published_date, author, word_count, original_language and full_text. On top of those:

  • ai_summary is a written summary of the article. If your pipeline was going to send every article to a model for summarising, that step is already in the record.
  • sentiment and sentiment_score arrive as a label and a number, for example Neutral with 0.6184 on a review of seven ad generators.
  • is_press_release, is_opinion and is_breaking are three booleans that sort an article into kinds, next to an article_type object with a code and a label such as review, explainer or academic.
  • company_mentions lists every company the article names, each with a uuid, a website and an is_primary flag.
  • industries, tags, iptc_codes, iab_categories, naics_codes, sic_codes put the article into several taxonomies at once.
  • entities lists people, locations, products and events named in the text.
  • newsworthiness_score and group_id rank the article's weight and tie it to an event group.

Not every field is filled. naics_codes was empty on three of the five records, industries was empty on the Korean-language Naver article, and some authors came back as an empty string. Treat every list as possibly empty.

What you can build

A launch and announcement log. Filter a company's articles to is_press_release true and sort by published_date. That is the company's own announcements as a timeline, the thing most people mean by "press release API". The scheduled version is the company news watcher.

A coverage report. Keep the articles where the company is the primary subject, group them by publisher, and count by week. The call for that is the primary_company parameter, covered below.

A trigger feed for sales. The query parameter takes a theme instead of a company, so "FDA drug approval" or a commodity move is a valid input. The multi-source argument for company news explains why a theme feed and a company feed together beat either alone.

What goes wrong when you pull company news at scale?

Four things, all visible in our four runs, and each has a rule and a line of code.

A mention is not the subject

company= matches any mention, and the count shows how much that widens the result. For canva.com it returned 522 articles; primary_company= returned 255. Of the five articles in the company= run, the Recraft listicle and the Solutions Review commentary both named Canva with is_primary false, and the commentary was about assessment in the age of AI.

Use primary_company when you want coverage of the company, and company when you want every place it surfaces:

monid run -p akta -e /v1/news --query '{"primary_company":"https://canva.com","limit":10,"full_text":false}'

The two parameters cannot be combined in one call.

The press-release flag is a classifier, not a wire label

is_press_release was true on four of the five articles in the company= run, and the four were not alike: a Canva and Meta connector announcement, a signed commentary on assessment, an interview with a Canva community manager, and a Korean-language newspaper explainer that was also flagged is_opinion and is_breaking. A Printify guide that appeared on EIN Presswire, in a pr_news URL, was also flagged true in the primary_company run.

So the flag narrows the list, it does not finish the job. Combine it with article_type, is_opinion and the publisher before you call something a company's own announcement:

def is_own_release(a):
    return a["is_press_release"] and not a["is_opinion"] and a["article_type"]["code"] == "explainer"

A record can contradict itself

The FDA drug approval query returned a MarketScreener item titled "US FDA approves Roivant-Priovant's skin disease drug". Its ai_summary read "No content on the titled drug approval is present; the body is a company profile with ratings and stock data". The same record carried sentiment Positive with a score of 1, is_breaking true and a newsworthiness_score of 0.8471.

The sentiment and significance fields are computed per article, and a scraped page that lost its text still gets numbers. Check word_count and read the ai_summary before you let a score reach a report. A rule that drops records whose summary starts with "No content" costs one line.

Theme queries do not come back newest first

The company= runs came back in descending order of published_date. The query run did not: its three articles were dated 2026-08-10, 2026-08-27 and 2026-09-01. Sort on published_date yourself, and use start_date and end_date to bound the window; the input schema notes that non-enterprise plans are limited to a 6-month lookback. For paging, limit goes to 100 and offset moves through the rest.

Which endpoint should I use for which job?

JobEndpointTakesBilling shape
News about a known companyakta /v1/newsWebsite or company uuidPer result plus flat fee
Coverage where the company is the subjectakta /v1/newsprimary_companyPer result plus flat fee
News on a theme or commodityakta /v1/newsOpen-ended queryPer result plus flat fee
Resolve a name first, freeakta /v1/company/searchName or websiteFree
News about companies in Apolloapollo /news_articles/searchOrganization idsPer call
Read one article's page yourselfcontext.dev /web/scrape/markdownURLPer call

Prices from monid inspect, Verified 2026-10-16: $0.0005 per result plus a flat fee for akta /v1/news, $0.026 per call for apollo /news_articles/search, and $0.002533 per call for context.dev /web/scrape/markdown.

The shape to plan around: the news endpoint bills per result plus a flat fee per run, so a daily watch across many companies is many small runs, each paying the fee. Fewer, larger runs per company cost less than many tiny ones. Which route fits a company list best, a dataset or a call per account, is the fork in dataset versus API for B2B data.

When is another route a better fit?

You want to publish a release. This reads articles; it does not place them. If the job is getting your announcement out, a newswire such as PR Newswire or Business Wire is the product, and reading it back afterwards is what this guide is for.

You need a stream. The news endpoint is a request and response search. A trading desk that wants a push feed of releases the moment they land needs a real-time feed, not a search you poll.

The consumer is a communications team. A media-monitoring platform ships dashboards, share-of-voice reports and alert routing for people who will never write a query. We ship an endpoint, so if the reader is a department and not a pipeline, buy the platform.

You need a complete archive of one publication. A feed covers what it covers, and a single trade title that matters to your industry is worth checking for by running a query on its name before you build on it.

And the disclosure: we resell this endpoint. The most useful thing in this post is the habit of reading the flags and the summary together before you trust a score, and that costs nothing whoever you buy the data from.

Conclusion

The quickest way to read the press releases and news about a company is one call per company through Monid: resolve the name for free, then pay $0.0005 per article plus a flat fee per run (Verified 2026-10-16), with one key for this and every other tool, about a minute to set up and ready inside your agent whenever you need it. Scraping newsrooms yourself works for one publication and costs hours of parsers and upkeep once the list grows.

Two things matter more than the endpoint you pick. A mention is not coverage: use primary_company for coverage and filter is_primary when you read mentions. And a flag is not a fact: is_press_release was true on an interview and a commentary, and a record with no article text still carried a sentiment score of 1.

How we estimated the time saved: resolving names to sites, building the fetch and removing duplicate stories is roughly 4 to 8 hours, and adding a summary, sentiment and tagging pass is another 4 to 12 hours. That is 8 to 20 hours. The 1 minute is the install, key and first call once you already have a Monid key.

Free next step: run monid inspect -p akta -e /v1/news, resolve one company with the free lookup, then pull five articles for about $0.0075 (Verified 2026-10-16) and read the flags against the text. Start at monid.ai.

FAQ

Is there an API to read a company's press releases?

Yes. The news endpoint on Monid takes a company website and returns its articles, each with an is_press_release flag, a summary and a sentiment score. It reads published articles; it does not publish releases.

Is there a free company news API?

The company lookup is free, and so are discovery and inspection. The news call itself bills $0.0005 per result plus a flat fee per run (Verified 2026-10-16), with no monthly plan and no minimum top-up. Five articles cost $0.0075 in our run (Verified 2026-10-16).

Why do I have to resolve the company name first?

The endpoint takes a website or a company uuid and rejects a bare name. A name is ambiguous: our lookup for canva returned 25 candidates, including Canvas LMS and BELLA+CANVAS. The lookup is free, so resolving first costs nothing.

How do I get only the company's own announcements?

Use primary_company and filter on is_press_release, then check is_opinion and article_type. The flag alone was true on a commentary and an interview in our run, so it narrows the list without finishing the job.

Can I search news by topic instead of by company?

Yes. The query parameter takes a theme such as "FDA drug approval", and our run returned 16,004 matching articles. Results are not in date order, so sort on published_date and bound the window with start_date and end_date.

Published August 2026.

press release apicompany news apiprnewswire apimedia monitoringcompany-news