finlight Logo

Press Release News API

Monitor corporate press releases as structured data: filter wire releases with boolean queries, get entity and ticker tags on listed-company announcements, and receive matches over REST, webhooks, or WebSocket.

A wire release, as your system sees it

Product demo payload

This is a real press release from a live API response: a listed company convening bondholders' meetings in connection with a merger by absorption. Note the entity block underneath the article fields.

Single article response
{
  "title": "Ecopetrol Announces the Convening of Bondholders' Meetings for Domestic Public Debt Bonds on August 18",
  "link": "https://www.prnewswire.com/news-releases/ecopetrol-announces-the-convening-of-bondholders-meetings-for-domestic-public-debt-bonds-on-august-18-302846434.html",
  "source": "www.prnewswire.com",
  "publishDate": "2026-08-07T23:25:00.000Z",
  "language": "en",
  "sentiment": "neutral",
  "confidence": 0.9999980926513672,
  "categories": ["business"],
  "countries": ["CO"],
  "summary": "BOGOTÁ, Colombia, Aug. 7, 2026 /PRNewswire/ -- Ecopetrol S.A. (BVC: ECOPETROL; NYSE: EC) (the \"Company\" or \"Ecopetrol\") announces that, in connection with the merger by absorption between Ecopetrol S.A., as the surviving company, and Parque Solar Portón del Sol S.A.S., as the absorbed...",
  "companies": [
    {
      "ticker": "ECOPETROL",
      "name": "Ecopetrol S.A.",
      "exchange": "XBOG",
      "isin": "US2791581091",
      "sector": "Energy",
      "industry": "Oil & Gas Integrated",
      "primaryListing": { "ticker": "ECOPETROL", "exchangeCode": "XBOG", "exchangeCountry": "CO" },
      "otherListings": [{ "ticker": "EC", "exchangeCode": "XNYS", "exchangeCountry": "US" }]
      // + cross-listings on XFRA (ECHA) and BVMF (E1CO34)
    }
  ]
}

Payload abbreviated: image and internal scoring fields are removed, and two of the entity's cross-listings are collapsed into the comment line. Title, timestamps, sentiment, confidence, and all entity identifiers are unedited; the summary is shown as returned. Entity tagging applies to listed companies; releases from companies without a listing return an empty companies array. Full field reference in the docs.

Corporate-event monitoring in one call

Copy-paste runnable code

Poll wire sources for corporate-event language: business combinations, delistings, proxy activity, on finlight's financial news API. Only the API key is missing.

TypeScript
import { FinlightApi } from 'finlight-client'

const api = new FinlightApi({ apiKey: 'YOUR_API_KEY' })

const res = await api.articles.fetchArticles({
  query: '"business combination" OR "delisting" OR "delist" OR "director candidates"',
  sources: [
    'www.prnewswire.com',
    'www.globenewswire.com',
    'www.accessnewswire.com',
  ],
  includeEntities: true,
  pageSize: 100,
})

for (const a of res.articles) {
  console.log(a.publishDate, a.title)
  console.log(a.companies?.map((c) => `${c.ticker} (${c.exchange})`).join(', '))
}
Python
from finlight_client import FinlightApi
from finlight_client.models import ApiConfig, GetArticlesParams

api = FinlightApi(config=ApiConfig(api_key="YOUR_API_KEY"))

res = api.articles.fetch_articles(
    params=GetArticlesParams(
        query='"business combination" OR "delisting" OR "delist" OR "director candidates"',
        sources=[
            "www.prnewswire.com",
            "www.globenewswire.com",
            "www.accessnewswire.com",
        ],
        include_entities=True,
        page_size=100,
    )
)

for a in res["articles"]:
    print(a["publishDate"], a["title"])
    print(", ".join(f"{c['ticker']} ({c['exchange']})" for c in a.get("companies", [])))

Install with npm install finlight-client or pip install finlight-client. The query language supports boolean logic, exact phrases, field filters like ticker:, source:, and content:, and exclusions. The same query drives REST, webhooks, and WebSocket streams.

Scraping the wires, or an enterprise feed

The two common defaults

The two common defaults are a scraper pointed at the wire websites, or an enterprise press-release feed. Scrapers get you HTML today and a parser rewrite whenever a wire changes its markup, with no support contract behind any of it. Enterprise press-release products are built for institutional desks and are sales-gated: no public pricing, procurement before the first API call. finlight is self-serve with structured data: articles from www.prnewswire.com, www.globenewswire.com and www.accessnewswire.com are among the sources you can filter on, with entity tagging and push delivery on the same key you test with. Two disclosed limits: Business Wire is not currently a source, and finlight does not publish a measured wire ingestion latency, so if your strategy depends on either, a specialized trader-focused product is the better fit.

Honesty block

What finlight does not do here

  • finlight does not distribute or publish press releases. To issue a release, use a wire service.
  • This is a developer API for structured wire data, not a brand-reputation or media-monitoring dashboard.

The poller you stop running

Push instead of polling

Register a query once. When a wire release matches, a POST arrives at your endpoint. The query below watches for corporate-event language; the payload is a real release that matches it, an activist fund nominating director candidates at a listed company.

Registered query
"director candidates" OR "business combination" OR "delisting"
sources: www.prnewswire.com, www.globenewswire.com, www.accessnewswire.com
POST /finlight HTTP/1.1
Content-Type: application/json
X-Webhook-Signature: sha256=01c4d3b9...913527fd
X-Webhook-Timestamp: 2026-08-07T22:57:32.104Z
{
  "link": "https://www.globenewswire.com/news-release/2026/08/07/3341422/10772/en/pure-cycle-corporation-announces-receipt-of-notice-to-nominate-director-candidates.html",
  "source": "www.globenewswire.com",
  "title": "Pure Cycle Corporation Announces Receipt of Notice to Nominate Director Candidates",
  "images": [],
  "summary": "DENVER, Aug.  07, 2026  (GLOBE NEWSWIRE) -- Pure Cycle Corporation (NASDAQ Capital Market: PCYO) (“Pure Cycle”, “we”, “us” or “our”) today confirmed that it has received notice from Maran Partners Fund, LP, a fund managed by Maran Capital Management, LLC (“Maran”), that it has nominated five individuals to stand for election to the Pure Cycle Board of Directors at the Company’s 2027 Annual Meeting of Shareholders.",
  "language": "en",
  "publishDate": "2026-08-07T22:56:00.000Z",
  "createdAt": "2026-08-07T22:57:31.000Z",
  "categories": ["business"],
  "sentiment": "neutral",
  "confidence": 0.9725965261459351,
  "countries": ["US"],
  "content": "...",
  "isUpdate": false,
  "revisedDate": "2026-08-07T22:56:00.000Z"
}

Deliveries retry automatically with exponential backoff and are signed with HMAC-SHA256. Webhooks are available on plans that include them; see pricing.

Corporate-event language like this also feeds strategies that watch wire releases intraday; see finlight for trading.

FAQ

Press Release News API: Frequently Asked Questions

Everything developers ask before building corporate-event monitoring on wire press releases.

There is a free tier for testing, and paid plans differ in request volume, real-time access, webhooks, and historical data. Current prices and limits are on the pricing page.

Running this at desk scale? Custom sources, annual invoicing, and priority onboarding are available. You name the source, we onboard it as part of your contract. Contact us.

See what one query returns

The payload above is one request away. Get a key, run the corporate-events query, and compare the structure against whatever your current setup parses out of HTML.