Home

PSX Company Disclosures

How to get PSX Company Disclosures in Power BI

Board meetings, results, dividends, and shareholding notices from Pakistan Stock Exchange company pages for the tickers you enter. A run saves one row per result.

Set up the Apify actor

Apify is where this run is collected. An actor is the program that collects the rows. A task is that program saved with your settings, so the next section can ask for the latest rows. You need a free Apify account.

  1. 01
    Open PSX Company Disclosures and click Try for free. Create an Apify account if you do not have one. The Free plan does not ask for a card.
  2. 02
    You are on the input form. Keep the sample for this first run.
    {
        "symbols": [
            "JSBL",
            "AHCL",
            "HBL",
            "MCB",
            "SYS"
        ],
        "maxItems": 5
    }
  3. 03
    Leave the proxy setting as it is. Click Start and wait until the run says Succeeded.
  4. 04
    Open Storage, then Dataset. You should see symbol, companyName, noticeDate, title.
  5. 05
    When you want the real list, raise maxItems. The sample cap is only there so the first run stays small.
  6. 06
    Go back to the input and choose Save as a new task. Name it after this list.
  7. 07
    Open the task. Copy the task ID from the address bar. Excel, Sheets, Power BI, and the other guides ask for this ID.
  8. 08
    On the task, open Schedules and add a weekly run if you want fresh rows. Each run pays the start charge and the charge for the rows. The amounts are in the price list on this page.
  9. 09
    Open Settings, then API & Integrations, and copy an API token. Excel, Sheets, and the other guides put this token in a download link. Anyone with that link can download the rows, so treat it like a password.

How to set up in Power BI

Use the task ID and the API token from Set up the Apify actor, above.

  1. 01
    In Power BI Desktop, choose Home, Get data, Web.
  2. 02
    Paste this address. Replace TASK_ID and YOUR_TOKEN. Choose Anonymous, then Connect.
    https://api.apify.com/v2/actor-tasks/TASK_ID/runs/last/dataset/items?format=json&clean=true&status=SUCCEEDED&token=YOUR_TOKEN
  3. 03
    Load the rows. symbol, companyName, noticeDate, title, noticeKind are the columns to keep.
  4. 04
    After you publish, refresh against that same URL. The weekly schedule from Set up the Apify actor, above, is what puts a new dataset behind the URL.

Schema

Examples come from the actor sample, not a live result.

NameDescriptionExample
symbolTickerHBL
companyNameCompany nameHabib Bank Limited
noticeDateNotice dateAug 10, 2026
titleDisclosure titleTransmission of Half Yearly Report for the Period Ended June 30, 2026
noticeKindNotice kindfinancial_report
documentUrlPDF or image URLhttps://dps.psx.com.pk/download/document/280977.pdf
sourceUrlCompany pagehttps://dps.psx.com.pk/company/HBL
scrapedAtScrape time2026-09-30T08:00:00+00:00
  • symbolTickerHBL
  • companyNameCompany nameHabib Bank Limited
  • noticeDateNotice dateAug 10, 2026
  • titleDisclosure titleTransmission of Half Yearly Report for the Period Ended June 30, 2026
  • noticeKindNotice kindfinancial_report
  • documentUrlPDF or image URLhttps://dps.psx.com.pk/download/document/280977.pdf
  • sourceUrlCompany pagehttps://dps.psx.com.pk/company/HBL
  • scrapedAtScrape time2026-09-30T08:00:00+00:00