PSX Company Announcements Scraper
Pricing
from $8.40 / 1,000 results
PSX Company Announcements Scraper
Pulls real-time corporate announcements from the Pakistan Stock Exchange (PSX) data portal — board-meeting notices, financial results, dividend/bonus declarations and shareholding disclosures — filterable by ticker symbol and date range.
Pricing
from $8.40 / 1,000 results
Rating
0.0
(0)
Developer
Salman Bareesh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Share
Get real-time Pakistan Stock Exchange (PSX) corporate announcements — board-meeting notices, financial results, dividend/bonus declarations and shareholding disclosures — the moment they hit the PSX data portal. This actor is a lightweight wrapper around PSX's own public announcements feed at dps.psx.com.pk, filterable by ticker symbol and date range, with no login and no API key required.
Why use PSX Company Announcements Scraper?
Every PSX-listed company must disclose board meetings, dividend/bonus declarations, financial results and shareholding changes to the exchange, and PSX publishes those disclosures as they arrive on its public data portal. That feed is high-signal for anyone tracking Pakistani listed companies, but it's only browsable one page at a time on the portal's own website — there's no official public API. This actor turns that feed into structured, filterable, exportable data.
Main capabilities:
- Queries PSX's own public announcements endpoint (
dps.psx.com.pk/announcements) for the notice type, symbols and date range you choose. - Parses PSX's server-rendered HTML results table into one flat, consistently-shaped JSON record per announcement, with links to the original PDF/image attachment.
- Covers all five PSX notice feeds: Companies Announcements (the default), PSX Notices, CDC Notices, SECP Notices, and NCCPL Notices.
- Runs on the Apify platform, so you get scheduling (e.g. hourly/daily monitoring of specific symbols), API and webhook access, and integrations out of the box.
Typical use cases:
- Retail & diaspora investor alerts — get pinged the moment a company you hold declares a dividend, calls a board meeting, or publishes results.
- Brokerage / fintech products — build a PSX announcements alert feature on top of structured data instead of screen-scraping the portal yourself.
- Compliance / AML screening — monitor PSX-listed entities for insider-disclosure and shareholding-change events.
- Market research — track board-meeting and results-announcement cadence across a sector or watchlist of symbols.
What data can PSX Company Announcements Scraper extract?
| Field | Type | Description |
|---|---|---|
date, time | string | When the announcement was published on the portal |
symbol | string | PSX ticker symbol (Companies Announcements only) |
companyName | string | Listed company name (Companies Announcements only) |
title | string | Announcement headline/description |
noticeType | string | Which of the five PSX feeds this came from |
pdfUrl | string | Link to the announcement's PDF attachment |
imageUrl | string | Link to a scanned-image attachment, when the disclosure was filed as an image instead of/alongside a PDF |
See Output below for the full field reference and a complete real example.
How to use PSX Company Announcements Scraper
- Click Try for free (or Run) on this actor's page.
- Optionally set
symbolsto a list of PSX ticker symbols to watch (e.g.["HPL", "ABL"]). Leave empty for all companies. - Optionally set
announcementTypeto switch feeds (defaults tocompanies). - Optionally set
dateFrom/dateToto pick an announcement date range. Leave both empty to get the newest announcements regardless of date. - Set
maxItemsto cap how many announcements you want back. - Click Start and wait for the run to finish (a default run typically finishes in well under a minute).
- Open the Dataset tab and export as JSON, CSV, or Excel — or pull it programmatically via the API tab.
How much will it cost to use PSX Company Announcements Scraper?
You pay only for announcements delivered — no subscription.
| Your Apify discount tier | Price per result | 1,000 results |
|---|---|---|
| Free | $0.012 | $12 |
| Bronze | $0.0108 | $10.80 |
| Silver | $0.0096 | $9.60 |
| Gold | $0.0084 | $8.40 |
| Platinum / Diamond | $0.0084 | $8.40 |
Apify's free plan includes $5 of monthly credit — enough for well over 400 announcements at no cost. A daily pull of the newest 50 announcements costs about $0.60/day.
A run stops automatically once it has returned maxItems results or once it hits your run's maximum charge (Apify's pay-per-result cost cap), whichever comes first.
Input
All fields are optional — running the actor with an empty input ({}) returns the newest ~50 Companies Announcements with no filters. See the Input tab for the full configuration schema.
| Field | Type | Default | Description |
|---|---|---|---|
symbols | array of strings | [] (all) | PSX ticker symbols to filter to, e.g. ["HPL", "ABL"]. Only applies to companies announcements. |
announcementType | string | "companies" | Which feed to pull: companies, psx, cdc, secp, or nccpl |
dateFrom | string (YYYY-MM-DD) | none (newest first) | Start of the announcement date range |
dateTo | string (YYYY-MM-DD) | none (newest first) | End of the announcement date range, inclusive |
maxItems | integer | 50 | Maximum number of announcements to return |
dateFrom must not be later than dateTo when both are set — the run fails immediately with an error message if it is.
Example input for "the last 20 announcements from Allied Bank and Hoechst Pakistan":
{"symbols": ["ABL", "HPL"],"maxItems": 20}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. One item is produced per announcement, with the same keys every time (null when a field doesn't apply). This is a real item from a live run of this actor (tests/smoke_input.json, default companies feed):
{"date": "Sep 11, 2026","time": "4:29 PM","symbol": "HPL","companyName": "Hoechst Pakistan Limited","title": "DISCLOSURE OF INTEREST BY AN ASSOCIATED COMPANY OF A LISTED COMPANY U/S 5.6.4 OF PSX REGULATIONS","noticeType": "Companies Announcement","pdfUrl": "https://dps.psx.com.pk/download/document/282580.pdf","imageUrl": "https://dps.psx.com.pk/download/attachment/282580-1.gif"}
Field reference
| Field | Description |
|---|---|
date, time | Publication date/time as shown on the PSX portal (portal's own local formatting, e.g. "Sep 11, 2026" / "4:29 PM") |
symbol | PSX ticker symbol; null for psx/cdc/secp/nccpl feeds, which are not tied to a single company |
companyName | Listed company name; null for the same non-company feeds |
title | Announcement headline/description as published |
noticeType | "Companies Announcement", "PSX Notice", "CDC Notice", "SECP Notice", or "NCCPL Notice" |
pdfUrl | Link to the PDF attachment, when one was filed |
imageUrl | Link to a scanned-image attachment, when one was filed |
FAQ, disclaimers, and support
Is this legal? This actor only reads PSX's own public announcements portal (dps.psx.com.pk), which requires no login, no cookies and no CAPTCHA to view. PSX's Terms of Use state the data is provided "for information and/or educational purposes"; this actor is a technical mirror of the same publicly viewable feed and does not access any non-public data.
How fresh is the data? As fresh as the portal itself — new announcements typically appear within minutes of being filed with PSX. Run this actor on a schedule (e.g. hourly) with your symbols of interest to build an ongoing alert feed.
Why are symbol and companyName sometimes null? Only the companies feed (announcementType: "companies", PSX's "Companies Announcements" tab) is company-specific. The other four feeds (psx, cdc, secp, nccpl) are exchange/regulator-wide notices not tied to a single listed company, so the portal doesn't provide a symbol/company column for them, and the symbols input filter has no effect on them.
Why is imageUrl sometimes present alongside pdfUrl? Some disclosures are filed as a scanned image (shown as a "View" popup on the portal) in addition to a PDF; this actor exposes both links when both exist.
Can I get very old announcements? Yes — set dateFrom far enough in the past (the portal's own archive currently goes back for over 220,000 companies-announcement entries). Very large ranges take longer and return more items, so pair a wide date range with a sensible maxItems.
Legal & compliance note
All data comes from the Pakistan Stock Exchange's own public data portal (dps.psx.com.pk), which PSX operates for public dissemination of corporate disclosures it requires listed companies to make. This actor does not bypass any login, paywall or CAPTCHA, and does not access any data beyond what dps.psx.com.pk already serves to any visitor. Re-verify PSX's Terms of Use before building a redistribution product on top of this data, since terms can change independently of this actor.
Limits & notes
- This actor parses PSX's server-rendered HTML table rather than a documented API, because PSX does not publish one. If PSX changes the table's column layout, the actor fails the run loudly (rather than pushing malformed rows) so a broken parser is never silently mistaken for "no new announcements."
- The
symbolsfilter is applied one symbol at a time against the portal (the portal's endpoint only accepts a single symbol per request), so a run with many symbols makes proportionally more requests. - Only
companies,psx,cdc,secpandnccplare supported — these are the five tabs PSX itself exposes on the announcements portal.
Support
Found a bug or have a feature request? Use the Issues tab on this actor's page. For programmatic access, see the API tab for ready-made code snippets in your language of choice.