ASX Company Announcements Scraper avatar

ASX Company Announcements Scraper

Pricing

Pay per event

Go to Apify Store
ASX Company Announcements Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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

FieldDescription
asxCodeRequested ASX ticker code.
companyNameCompany name shown by ASX.
announcementTitleAnnouncement headline.
releaseDateRelease date.
releaseTimeRelease time where available.
releasedAtISO-like timestamp with Australian offset where parseable.
priceSensitiveWhether the ASX row indicates price sensitivity.
documentUrlASX PDF/display URL.
pdfUrlSame document URL, provided for export compatibility.
pagesNumber of pages shown by ASX.
fileSizeFile size label shown by ASX.
fileSizeBytesParsed file size in bytes when possible.
sourceUrlListing page URL used for extraction.
searchPeriodSearch period label shown by ASX.
documentKeyKey-value store PDF key when PDF saving is enabled.
scrapedAtTimestamp 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

  1. Add one or more ASX ticker codes.
  2. Choose a lookback period.
  3. Set maxItems for your monitoring budget.
  4. Optionally add date filters.
  5. Run the actor.
  6. 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 ApifyClient
client = 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.

Explore other Automation Lab actors for market, financial, and compliance data workflows:

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.