PR Newswire Scraper avatar

PR Newswire Scraper

Pricing

from $11.99 / 1,000 press releases

Go to Apify Store
PR Newswire Scraper

PR Newswire Scraper

Scrape PR Newswire press releases by keyword, news category, company newsroom, or URL: titles, dates, summaries, images, plus full text, company, tickers, and categories. Filter by date. Export to JSON, CSV, or Excel.

Pricing

from $11.99 / 1,000 press releases

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

PR Newswire Scraper

PR Newswire Scraper extracts press releases from PR Newswire by keyword, news category, company newsroom, or URL: headline, publication date and time, summary, image, and release ID. Optionally, it also extracts the full release text, issuing company, dateline, stock tickers, categories, and all images. Filter by date range and get one clean row per press release.

Monitor press releases for any keyword, industry, or company: date filters work on list data alone, so you don't pay for slow page-by-page reads just to get a date range, and stock tickers such as NYSE:AES are pulled from each release.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Actor: parsebird/pr-newswire-scraper — scrapes PR Newswire (prnewswire.com) press releases. Input: {"keywords": ["earnings"] (array; each runs its own PR Newswire news search, newest first; leave keywords and startUrls empty to get the latest releases), "startUrls": ["https://www.prnewswire.com/search/news/?keyword=ai", "https://www.prnewswire.com/news-releases/financial-services-latest-news/dividends-list/", "https://www.prnewswire.com/news/leidos/", "https://www.prnewswire.com/news-releases/SLUG-302898368.html"] (search, news category, company newsroom, or single release URLs), "dateFrom": "2026-09-01", "dateTo": "2026-09-30" (optional, YYYY-MM-DD, US Eastern Time, inclusive; relative values like "7 days" also work; works without full text), "includeFullBody": false (true opens each release for full text, company, dateline, tickers, categories, images, modifiedAt), "maxReleases": 50 (per keyword or URL, 0 = no limit; PR Newswire lists up to 10,000 results per search or category), "proxyConfiguration": {"useApifyProxy": false} (optional; switches to Apify Proxy automatically if refused)}. Run via ApifyClient("YOUR_TOKEN").actor("parsebird/pr-newswire-scraper").call(run_input=input). Output, one row per release: releaseId, title, url, publishedAt (ISO 8601 with offset), dateLabel, summary, imageUrl, company, companyNewsroomUrl, modifiedAt, description, dateline, bodyText, source, tickers[] ("EXCHANGE:SYMBOL"), categories[], keywords[], images[], searchQuery, sourceUrl, position. Full-text fields are null/[] unless includeFullBody is true. Pricing: pay per release saved. Get your API token at https://console.apify.com/account#/integrations. Full API spec: https://apify.com/parsebird/pr-newswire-scraper/api

What is PR Newswire Scraper?

PR Newswire Scraper is a PR Newswire data extraction tool that reads the public press releases on PRNewswire.com, Cision's newswire where companies publish earnings announcements, dividends, product launches, mergers, and other corporate news. PR Newswire has no free public API for this, so the scraper works as a PR Newswire API alternative for investors, analysts, PR and communications teams, journalists, and data teams.

The easiest way to try it: keep the prefilled keyword earnings, click Start, and open the dataset. You get the 20 newest earnings-related press releases with titles, dates, summaries, and links in under 20 seconds.

No PR Newswire account is needed.

What can PR Newswire Scraper do?

  • 🔎 Keyword search: each keyword runs its own PR Newswire news search, newest releases first. Many keywords per run.
  • 📰 Latest releases: leave the inputs empty to get the newest releases across PR Newswire.
  • 🏭 News categories: paste any category list, such as Dividends, Mining, or Financial Technology, or a category landing page.
  • 🏢 Company newsrooms: paste a company's PR Newswire newsroom (/news/COMPANY/) to collect its release history.
  • 📅 Date range: keep releases published between two dates. The scraper jumps straight to the start of your range instead of paging through newer releases, and the filter works without full text.
  • 📄 Full release text (optional): body text, issuing company, dateline city, stock tickers, PR Newswire categories, all images, and last-modified time.
  • 📈 Stock tickers: exchange and symbol pairs such as NYSE:AES, NASDAQ:VINP, or TSX:VZLA, taken from the release text.

Because PR Newswire Scraper runs on the Apify platform, you also get:

  • ⏰ Scheduling to monitor new press releases hourly or daily.
  • 🔌 API access and client libraries for Python and JavaScript.
  • 🔗 Integrations with Make, Zapier, Google Sheets, Slack, webhooks, and more.
  • 📦 Export to JSON, CSV, Excel, XML, or HTML from the Storage tab or the API.

What data can you extract from PR Newswire?

FieldDescription
titlePress release headline
publishedAt / dateLabelPublication time as ISO 8601 (US Eastern offset) and as PR Newswire shows it
summaryTeaser text from the list. For keyword searches, PR Newswire shows the passage that matches your keyword
imageUrlMain image or company logo
url / releaseIdRelease page link and PR Newswire's release ID
company / companyNewsroomUrlIssuing company and its PR Newswire newsroom*
bodyTextFull release text, paragraph by paragraph*
datelineCity in the release dateline, e.g. ARLINGTON, Va.*
tickersStock tickers in the release, e.g. ["NYSE:AES"]*
categories / keywordsPR Newswire industry and subject categories, and the release's keywords*
description / modifiedAt / images / sourceShort description, last-modified time, all images, and the release's SOURCE line*
searchQuery / sourceUrl / positionWhere the row came from and its position among the releases saved for it

* Filled when Include full release text is on, and for release URLs you paste.

How to scrape PR Newswire

  1. Open PR Newswire Scraper in Apify Console and click Try for free.
  2. Under Search keywords, enter one or more keywords, such as IPO or acquisition. Or paste PR Newswire URLs under PR Newswire URLs. Leave both empty for the latest releases.
  3. Optionally set Published on or after and Published on or before to choose a date range.
  4. Turn on Include full release text if you need the body, company, tickers, and categories.
  5. Set Max releases per keyword or URL, for example 100. Start small to test.
  6. Click Start and wait for the run to finish.
  7. Open the Output tab to preview releases, or export them as JSON, CSV, Excel, XML, or HTML.

Input parameters

ParameterTypeRequiredDefaultDescription
keywordsarray of stringsNo[]Keywords to search PR Newswire for. Each keyword is a separate search.
startUrlsarray of stringsNo[]PR Newswire search, news category, company newsroom, or release URLs.
dateFromstringNononeKeep releases published on or after this date (YYYY-MM-DD, US Eastern Time).
dateTostringNononeKeep releases published on or before this date (YYYY-MM-DD, US Eastern Time).
includeFullBodybooleanNofalseOpen each release for full text, company, dateline, tickers, categories, and images.
maxReleasesintegerNo50Maximum releases per keyword or URL. 0 means no limit.
proxyConfigurationobjectNo{"useApifyProxy": false}Optional proxy. The scraper moves to Apify Proxy on its own if PR Newswire refuses requests.

With no keywords and no URLs, the scraper reads PR Newswire's latest releases.

Example inputs:

{
"keywords": ["earnings", "dividend"],
"dateFrom": "2026-09-01",
"dateTo": "2026-09-30",
"includeFullBody": true,
"maxReleases": 500
}
{
"startUrls": [
"https://www.prnewswire.com/news-releases/financial-services-latest-news/dividends-list/",
"https://www.prnewswire.com/news/leidos/"
],
"maxReleases": 200
}

Output example

Each press release is one dataset item. Download the results in JSON, CSV, Excel, XML, or HTML. The first item below has full release text on (body shortened here); the second is list data only.

[
{
"releaseId": "302903571",
"title": "AES Announces Quarterly Dividend",
"url": "https://www.prnewswire.com/news-releases/aes-announces-quarterly-dividend-302903571.html",
"publishedAt": "2026-10-09T17:00:00-04:00",
"dateLabel": "17:00 ET",
"summary": "The Board of Directors of The AES Corporation (NYSE: AES) declared a quarterly common stock dividend of $0.17595 per share payable on November 13,...",
"imageUrl": "https://mmx.prnewswire.com/media/MS1228908/AES-New-Brand-Logo.jpg?id=OA2994869",
"company": "The AES Corporation",
"companyNewsroomUrl": "https://www.prnewswire.com/news/the-aes-corporation/",
"modifiedAt": "2026-10-09T17:00:10-04:00",
"description": "/PRNewswire/ -- The Board of Directors of The AES Corporation (NYSE: AES) declared a quarterly common stock dividend of $0.17595 per share payable on November...",
"dateline": "ARLINGTON, Va.",
"bodyText": "ARLINGTON, Va., Oct. 9, 2026 /PRNewswire/ -- The Board of Directors of The AES Corporation (NYSE: AES) declared a quarterly common stock dividend of $0.17595 per share payable on November 13, 2026 to shareholders of record at the close of business on ...",
"source": "The AES Corporation",
"tickers": ["NYSE:AES"],
"categories": ["Utilities", "Electrical Utilities", "Oil & Energy", "Dividends"],
"keywords": ["The AES Corporation", "Utilities", "Electrical Utilities", "Oil & Energy", "Dividends"],
"images": ["https://mmx.prnewswire.com/media/MS1228908/AES-New-Brand-Logo.jpg?id=OA2994869"],
"searchQuery": null,
"sourceUrl": null,
"position": 26
},
{
"releaseId": "302903872",
"title": "VINCI COMPASS TO ANNOUNCE THIRD QUARTER 2026 RESULTS AND HOST CONFERENCE CALL AFTER MARKET CLOSE ON THURSDAY, NOVEMBER 12, 2026",
"url": "https://www.prnewswire.com/news-releases/vinci-compass-to-announce-third-quarter-2026-results-and-host-conference-call-after-market-close-on-thursday-november-12-2026-302903872.html",
"publishedAt": "2026-10-09T17:00:00-04:00",
"dateLabel": "Oct 09, 2026, 17:00 ET",
"summary": "Earnings Conference CallTo access the conference call please visit the Events section of the Company's website at:",
"imageUrl": "https://mmx.prnewswire.com/media/MS1624054/Vinci-Compass-logo-Logo.jpg?id=OA2998411",
"company": null,
"companyNewsroomUrl": null,
"modifiedAt": null,
"description": null,
"dateline": null,
"bodyText": null,
"source": null,
"tickers": [],
"categories": [],
"keywords": [],
"images": [],
"searchQuery": "earnings",
"sourceUrl": null,
"position": 3
}
]

Use cases

  • Earnings and dividend tracking: collect earnings dates, results, and dividend announcements with tickers for your watchlist.
  • Market and investment research: feed press releases with tickers and categories into trading signals, sentiment models, or research notes.
  • Competitor and company monitoring: schedule a company newsroom or keyword to catch new announcements as they are published.
  • PR and media monitoring: track which companies publish about a topic, and when, for coverage reports or pitching.
  • Industry news feeds: build a feed for one PR Newswire category, such as Mining or Financial Technology.
  • LLM and NLP datasets: export full release text with dates and categories for summarization, classification, or retrieval.

How it works

  1. Each keyword becomes a PR Newswire news search, newest first. Pasted URLs are read as search results, category lists, or company newsrooms. With no input, the scraper reads PR Newswire's latest news list.
  2. PR Newswire Scraper reads list pages a few at a time: 25 releases per search page and 100 per category or newsroom page. PR Newswire serves up to about 10,000 results for a search or a category list, the newest first.
  3. With a date range, every release is checked against its list date. When the end date is in the past, the scraper finds the first page that reaches back to it (doubling, then halving the page number) and starts there. It stops once releases get older than the start date.
  4. With Include full release text on, each release page is opened for the full text and metadata. Tickers are read from exchange and symbol pairs in the text, such as (NYSE: AES).
  5. Releases published in the same minute can swap places between news list pages, so one pass over a list misses about 1 to 2% of them. When a category list, the latest-news list, or a newsroom is read to its end or to your start date, the scraper re-reads the same stretch with other page sizes and adds the releases it missed (22 extra in a test day of 1,500 releases). Search results were stable in testing and are read once.
  6. Releases that appear on more than one page are saved once per keyword or URL.

How much does it cost to scrape PR Newswire?

PR Newswire Scraper uses pay-per-event pricing. You pay per press release saved to the dataset, with or without full text. Compute and proxy costs are included in the price, so there are no extra platform usage charges.

EventFree planBronzeSilverGold
release-scraped: per press release saved$0.01499$0.01399$0.01299$0.01199
Per 1,000 press releases$14.99$13.99$12.99$11.99

For example, the prefilled run (20 releases) costs about $0.30 on the Free plan, and 1,000 releases cost $14.99. Use Max releases per keyword or URL or a spending limit to cap a run; the scraper stops as soon as the limit is reached and opens release pages only for releases it will save. Apify's Free plan includes monthly platform credits you can use to try the scraper.

Use PR Newswire Scraper with the API

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/pr-newswire-scraper").call(run_input={
"keywords": ["earnings"],
"dateFrom": "2026-10-01",
"includeFullBody": True,
"maxReleases": 200,
})
for release in client.dataset(run["defaultDatasetId"]).iterate_items():
print(release["publishedAt"], release["tickers"], release["title"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/pr-newswire-scraper').call({
startUrls: ['https://www.prnewswire.com/news-releases/financial-services-latest-news/dividends-list/'],
includeFullBody: true,
maxReleases: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const r of items) console.log(r.publishedAt, r.company, r.tickers.join(', '));

See the API tab for all endpoints and the Apify API client docs for more options.

PR Newswire Scraper only reads press releases that PR Newswire publishes openly to logged-out visitors. It does not log in. Press releases are written to be distributed, but the text and images still belong to the issuing companies and PR Newswire, so check their terms before republishing them. Releases often name media contacts; if you process personal data, make sure you have a lawful basis under GDPR, CCPA, or other laws that apply to you, and consult a lawyer if in doubt. Read more in Apify's post Is web scraping legal?

Other finance and news scrapers

FAQ

Do I need a PR Newswire account? No. PR Newswire Scraper reads public press releases without logging in.

How many press releases can I get? PR Newswire serves up to about 10,000 results for one search (9,975 in testing) and 10,000 for one category list or the latest-news list. Results are newest first, so for a busy keyword such as earnings that window went back to November 2025 in testing, and the latest-news list covered about two weeks. To go further back, use narrower keywords, category lists, or company newsrooms.

Do the date filters need full release text? No. Every list entry carries its publication date, so date filtering works with Include full release text off. Dates are compared in US Eastern Time, the time zone PR Newswire shows.

What happens if my date range is older than PR Newswire lists? The scraper logs that the search or list has no releases on or before your end date within the 10,000 results PR Newswire serves, and moves on.

How are tickers found? From exchange and symbol pairs in the release text, such as (NYSE: AES), (Nasdaq: MAR), or (TSX: VZLA), written as EXCHANGE:SYMBOL. Releases from private companies have no tickers. A ticker mentioned without an exchange prefix is not picked up.

Why does the summary look different for keyword searches? PR Newswire's search shows the passage of the release that matches your keyword, while news lists show the release's opening lines. Turn on full release text to also get the standard description and the full bodyText.

Are email addresses in the release text? No. PR Newswire hides email addresses in its pages, so they appear as [email protected] in bodyText.

Which URLs can I paste? News searches (/search/news/?keyword=...), the latest-news list (/news-releases/ or /news-releases/news-releases-list/), category pages and lists (/news-releases/...-latest-news/ and /news-releases/.../...-list/), company newsrooms (/news/COMPANY/), and single release pages ending in a release ID (...-302903571.html).

Do I need a proxy? Usually not. All test runs on the Apify platform worked without a proxy. If PR Newswire refuses requests, the scraper switches to Apify Proxy by itself. Set a proxy only if you want to force one for every request.

Can I schedule runs or connect the results to other tools? Yes. Use Apify schedules for recurring runs (through the API, dateFrom also accepts relative values such as "1 day", handy for daily schedules), and integrations to send results to Google Sheets, Slack, Zapier, Make, or a webhook. Results are also available through the API.

Something doesn't work. What should I do? Open an issue on the Issues tab with your input and run link.