ASX Company Announcements Scraper
Pricing
Pay per event
ASX Company Announcements Scraper
Monitor ASX company announcements by ticker and export disclosure metadata, price-sensitive flags, PDF links, pages, and file sizes.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Extract structured ASX company announcements and disclosure PDF links by ticker.
Use this actor to monitor Australian Securities Exchange announcements for investor research, compliance review, market-data enrichment, and investor-relations workflows.
What does ASX Company Announcements Scraper do?
ASX Company Announcements Scraper collects public company disclosure records from ASX announcement pages.
It accepts one or more ASX ticker codes.
It returns release dates, release times, titles, price-sensitive flags, document URLs, page counts, and file sizes.
It can optionally download each PDF into the run key-value store.
The default mode is metadata-first so monitoring runs stay fast and inexpensive.
Who is it for?
Finance researchers
Track company disclosures by ticker without manually opening ASX pages.
Compliance teams
Archive market disclosures and document evidence for review workflows.
Investor-relations teams
Watch peer announcements, investor presentations, leadership updates, and results materials.
Market-data products
Feed clean announcement metadata into dashboards, alerts, databases, or downstream enrichment jobs.
Analysts and funds
Monitor multiple ASX codes on a schedule and export announcement links for deeper research.
Why use this ASX announcements extractor?
- π Ticker-based monitoring for listed Australian companies.
- π Direct PDF/display links for each announcement.
- π Release date and time fields for alerting and time-series workflows.
- π© Price-sensitive flag extraction when ASX marks the row.
- π§Ύ Page count and file size metadata for triage.
- π Works well as a scheduled monitor.
- βοΈ HTTP-first implementation with no browser overhead.
Data you can extract
| Field | Description |
|---|---|
asxCode | Requested ASX ticker code. |
companyName | Company name shown by ASX. |
announcementTitle | Announcement headline. |
releaseDate | Release date. |
releaseTime | Release time where available. |
releasedAt | ISO-like timestamp with Australian offset where parseable. |
priceSensitive | Whether the ASX row indicates price sensitivity. |
documentUrl | ASX PDF/display URL. |
pdfUrl | Same document URL, provided for export compatibility. |
pages | Number of pages shown by ASX. |
fileSize | File size label shown by ASX. |
fileSizeBytes | Parsed file size in bytes when possible. |
sourceUrl | Listing page URL used for extraction. |
searchPeriod | Search period label shown by ASX. |
documentKey | Key-value store PDF key when PDF saving is enabled. |
scrapedAt | Timestamp when the record was scraped. |
How much does it cost to scrape ASX company announcements?
This actor uses pay-per-event pricing.
There is a small start charge per run.
There is a per-announcement charge for each saved disclosure record.
For the cheapest scheduled monitoring run, keep PDF downloading disabled and set maxItems to the number of records you need.
PDF storage is optional because documents are larger than metadata and can increase storage and bandwidth usage.
Input options
asxCodes
A list of ASX ticker codes.
Examples: BHP, CBA, RIO, WBC, NAB.
period
The ASX lookback period requested from the source endpoint.
Supported values are D, W, M, M3, M6, and Y.
startDate
Optional ISO date filter in YYYY-MM-DD format.
Records before this date are skipped after fetching.
endDate
Optional ISO date filter in YYYY-MM-DD format.
Records after this date are skipped after fetching.
maxItems
Maximum announcement records to save across all supplied ticker codes.
savePdfDocuments
When enabled, each announcement PDF is downloaded to the default key-value store and documentKey is populated.
Leave it disabled for fast monitoring runs.
Example input
{"asxCodes": ["BHP", "CBA", "RIO", "WBC", "NAB"],"period": "M6","maxItems": 100,"savePdfDocuments": false}
Example output
{"asxCode": "BHP","companyName": "BHP GROUP LIMITED","announcementTitle": "BHP Executive Leadership Team Update","releaseDate": "2026-06-26","releaseTime": "1:49 pm","releasedAt": "2026-06-26T13:49:00+10:00","priceSensitive": false,"documentUrl": "https://www.asx.com.au/asx/v2/statistics/displayAnnouncement.do?display=pdf&idsId=03108312","pdfUrl": "https://www.asx.com.au/asx/v2/statistics/displayAnnouncement.do?display=pdf&idsId=03108312","pages": 2,"fileSize": "108.5KB","fileSizeBytes": 111104,"sourceUrl": "https://www.asx.com.au/asx/v2/statistics/announcements.do?by=asxCode&asxCode=BHP&timeframe=D&period=M6","searchPeriod": "Released between 29/12/2025 and 29/06/2026","documentKey": null,"scrapedAt": "2026-06-29T05:00:00.000Z"}
How to run the ASX announcements scraper
- Add one or more ASX ticker codes.
- Choose a lookback period.
- Set
maxItemsfor your monitoring budget. - Optionally add date filters.
- Run the actor.
- Export the dataset as JSON, CSV, Excel, or via API.
Tips for best results
Use several ticker codes in one run when you want a daily disclosure digest.
Use period: "D" for scheduled daily monitoring.
Use period: "M6" or period: "Y" for backfills.
Keep savePdfDocuments off unless you need copies of the underlying PDFs.
Use documentUrl to fetch PDFs later in your own document pipeline.
Integrations
Scheduled disclosure monitor
Run the actor daily and send new dataset rows to Slack, email, Google Sheets, or a database.
Compliance archive
Enable PDF storage and export documentKey values for evidence retention workflows.
Market-data enrichment
Join announcement metadata with prices, fundamentals, or internal issuer identifiers.
Analyst dashboard
Load the dataset into BI tools and filter by ticker, date, price-sensitive flag, or title keywords.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/asx-company-announcements-scraper').call({asxCodes: ['BHP', 'CBA', 'RIO'],period: 'M6',maxItems: 100,});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/asx-company-announcements-scraper').call(run_input={'asxCodes': ['BHP', 'CBA', 'RIO'],'period': 'M6','maxItems': 100,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~asx-company-announcements-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"asxCodes":["BHP","CBA","RIO"],"period":"M6","maxItems":100}'
MCP integration
Use the Apify MCP server with Claude Code or Claude Desktop.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/asx-company-announcements-scraper
Add it in Claude Code:
$claude mcp add apify-asx-announcements https://mcp.apify.com/?tools=automation-lab/asx-company-announcements-scraper
Claude Desktop JSON configuration:
{"mcpServers": {"apify-asx-announcements": {"url": "https://mcp.apify.com/?tools=automation-lab/asx-company-announcements-scraper"}}}
Example prompts:
- "Run the ASX announcements scraper for BHP and summarize price-sensitive updates."
- "Monitor CBA, NAB, WBC, and ANZ disclosures from the last week."
- "Fetch ASX announcement PDF links for RIO and save the dataset as CSV."
Automation patterns
Daily ASX alerting
Schedule period: "D" every trading day.
Deduplicate by documentUrl in your downstream system.
Send only new price-sensitive rows to analysts.
Earnings-season monitoring
Use a larger ticker list and period: "M".
Filter titles for results, presentations, dividends, and guidance updates.
Backfill workflow
Use period: "Y" and a higher maxItems value.
Disable PDF saving for the first pass.
Download selected PDFs later if needed.
FAQ
Can I monitor multiple ASX tickers in one run?
Yes. Add multiple ticker codes to asxCodes and set maxItems high enough for the expected disclosure volume.
Does the actor extract full PDF text?
The default dataset focuses on reliable announcement metadata and PDF URLs. Enable PDF storage when you need raw document copies for a separate text extraction pipeline.
Troubleshooting
I received fewer records than expected
The ASX endpoint only returns records available for the selected ticker and period.
Increase the period, add more ticker codes, or raise maxItems.
PDF documents were not saved
Check that savePdfDocuments is enabled.
If ASX temporarily fails a PDF request, the metadata record is still saved and documentKey remains null.
A ticker returned no records
Confirm the ASX code is valid and currently listed.
Try a longer lookback period.
Legality
This actor extracts public ASX announcement pages.
Use the data in accordance with ASX terms, applicable laws, and your own compliance requirements.
Do not overload the source website.
The actor uses bounded requests and conservative defaults.
Related scrapers
Explore other Automation Lab actors for market, financial, and compliance data workflows:
- https://apify.com/automation-lab/sec-edgar-8k-filings-scraper
- https://apify.com/automation-lab/company-news-scraper
- https://apify.com/automation-lab/website-contact-finder
Changelog
0.1
Initial private build for ASX company announcements monitoring.
Support
If you need an additional output field, more exchanges, or a custom workflow, open an issue on the actor page.
Output quality notes
ASX display URLs are included exactly as provided by the source endpoint.
Date and time parsing is best effort.
The original text fields are preserved so users can audit records against ASX.
Performance notes
This is an HTTP actor.
It does not launch a browser.
Metadata-only runs are designed to be fast.
PDF-saving runs perform extra document downloads.
Data retention notes
Dataset records are stored in the run dataset.
Optional PDFs are stored in the run key-value store.
Export or retain data according to your Apify storage settings.