Welcome!

pseapi

PseAPI is a public data source for Philippine Stock Exchange's End-Of-Day Reports. Daily market report data are available in Comma Separated Values (CSV) or JSON format using RESTful API endpoints.

CSV

Enter date of market report. Note: Currenly known support issue with Internet Explorer. Please use other browser.

API

PseAPI provides a RESTful interface to historical Philippine Stock Exchange End-Of-Day Market Report data.

You can access JSON-formatted information about data objects such as company-specific stock quote for a given trading day, sector summary, and market summary of up to 1 month. Data commonly provided are open, close, high, low, bid, ask, value, and volume figures depending on the type of information being requested.

Specs and Overview

Service Endpoint

All data requests made to PseAPI service use the following endpoint base URL address.

http://pseapi.com/api
Datasets

End of day report data can be retrieved free of charge without needing any API access key and authentication. However, to manage the load to the application and server, data provided is limited to a month for all types of API requests.

All responses are in JSON format.

Stock Quotes

Request Parameters
Parameter Description
Symbol aka "Ticker Symbol" - the unique alpha-numeric identifier of a stock as provided by PSE. Refer to Philippine Stock Exchange's website if you need help on getting the symbol of the company stock you want to retrieve.
Date The date of data you want to retrieve. Date is using the format "MM-DD-YYYY". API service expects data to be using this format only. Using any other formatting would return a Not Found response.
From-Date On a date range, the beginning date of the report collection. Date is using the format "MM-DD-YYYY".
To-Date On a date range, the end date of the report collection (inclusive). Date is using the format "MM-DD-YYYY". Providing an end date earlier than the start date would return a Bad Request response.
Resource Endpoints
GET /Stock/{symbol}/{date}

Get stock quote for the specified stock for the specified date.

GET /Stock/{symbol}/{From-Date}/{To-Date}

Get stock quote for the specified stock within the specified date range.

GET /Stock/{symbol}

Get stock quote for the specified stock for the past month.

GET /Stock/{symbol}/prices/{From-Date}/{To-Date}

Get the list of prices for the specified stock within the specified date range.

Sample Request/Response

Get end of day stock report for Jolibee Food Corp. (JFC) for March 15, 2017.

GET Request:

http://pseapi.com/api/Stock/JFC/03-15-2017

Response:

{
    "symbol":"JFC",
    "date":"15/03/2017",
    "open":197.0000,
    "high":197.4000,
    "low":195.0000,
    "close":196.0000,
    "bid":195.5000,
    "ask":196.0000,
    "volume":141740,
    "value":27747934.0000,
    "netForeign":-6464136.0000
}
                                    

Market Quotes

Request Parameters
Parameter Description
Date The date of data you want to retrieve. Date is using the format "MM-DD-YYYY". API service expects data to be using this format only. Using any other formatting would return a Not Found response.
From-Date On a date range, the beginning date of the report collection. Date is using the format "MM-DD-YYYY".
To-Date On a date range, the end date of the report collection (inclusive). Date is using the format "MM-DD-YYYY". Providing an end date earlier than the start date would return a Bad Request response.
Resource Endpoints
GET /Market/{date}

Get market end of day report for the specified date.

GET /Market/{From-Date}/{To-Date}

Get market end of day report for the specified date range.

Sample Request/Response

Get end of day stock market report for March 15, 2017.

GET Request:

http://pseapi.com/api/Market/03-15-2017

Response:

{  
   "reportDate":"15/03/2017",
   "foreignBuying":4470070373.4200,
   "foreignSelling":5250590045.8000,
   "netForeignBuying":-780519672.3800,
   "totalForeign":9720660419.2200,
   "totalMainBoardVolume":1766360200,
   "totalMainBoardValue":6541123650.5000,
   "numberOfAdvances":59,
   "numberOfDeclines":133,
   "numberOfUnchanged":52,
   "numberOfTradedIssues":244,
   "numberOfTrades":59833,
   "oddLotVolume":2105193,
   "oddLotValue":193975.3800,
   "blockSaleVolume":31542350,
   "blockSaleValue":1723693493.9500
}
                                    

Sector Summary

Request Parameters
Parameter Description
Symbol aka "Ticker Symbol" - the unique alpha-numeric identifier of a stock as provided by PSE. Refer to Philippine Stock Exchange's website if you need help on getting the symbol of the company stock you want to retrieve.
Date The date of data you want to retrieve. Date is using the format "MM-DD-YYYY". API service expects data to be using this format only. Using any other formatting would return a Not Found response.
From-Date On a date range, the beginning date of the report collection. Date is using the format "MM-DD-YYYY".
To-Date On a date range, the end date of the report collection (inclusive). Date is using the format "MM-DD-YYYY". Providing an end date earlier than the start date would return a Bad Request response.
Resource Endpoints
GET /Sector/{date}

Get sectoral summary for the specified date.

GET /Sector/{From-Date}/{To-Date}

Get sectoral summary for the specified date range.

Sample Request/Response

Get sectoral summary for March 15, 2017.

GET Request:

http://pseapi.com/api/Sector/03-15-2017

Response:

{  
   "reportDate":"15/03/2017",
   "sectorSummaries":[  
      {  
         "name":"Financials",
         "open":1818.7900,
         "high":1820.9800,
         "low":1808.0400,
         "close":1820.9800,
         "volume":13895835,
         "value":1198615397.4100,
         "netForeign":-32056422.9998
      },
      {  
         "name":"Industrials",
         "open":11054.1600,
         "high":11057.5500,
         "low":10983.3300,
         "close":11036.1900,
         "volume":181194396,
         "value":1708568671.4300,
         "netForeign":21561518.5002
      },
      {  
         "name":"HoldingFirms",
         "open":7273.3900,
         "high":7283.9000,
         "low":7206.3400,
         "close":7258.5700,
         "volume":261414260,
         "value":1780408582.4600,
         "netForeign":-389931427.5000
      },
      {  
         "name":"Property",
         "open":3258.4500,
         "high":3270.7700,
         "low":3207.1200,
         "close":3230.3200,
         "volume":272342771,
         "value":1473825469.0300,
         "netForeign":-13616594.9998
      },
      {  
         "name":"Services",
         "open":1477.5700,
         "high":1487.8400,
         "low":1474.5900,
         "close":1476.6700,
         "volume":480376603,
         "value":1937099665.0100,
         "netForeign":-81145767.4995
      },
      {  
         "name":"MiningAndOil",
         "open":12126.9300,
         "high":12151.1400,
         "low":11908.3000,
         "close":11996.9200,
         "volume":588217238,
         "value":146733674.4900,
         "netForeign":-59073251.0000
      },
      {  
         "name":"Preferred",
         "open":null,
         "high":null,
         "low":null,
         "close":null,
         "volume":437705,
         "value":42766314.5000,
         "netForeign":7830.0000
      },
      {  
         "name":"DepositoryReceipts",
         "open":null,
         "high":null,
         "low":null,
         "close":null,
         "volume":2604800,
         "value":70620420.0000,
         "netForeign":-68271820.0000
      },
      {  
         "name":"Warrants",
         "open":null,
         "high":null,
         "low":null,
         "close":null,
         "volume":229000,
         "value":480190.0000,
         "netForeign":0.0000
      },
      {  
         "name":"Sme",
         "open":null,
         "high":null,
         "low":null,
         "close":null,
         "volume":2560830,
         "value":19064319.0000,
         "netForeign":-3478407.0000
      },
      {  
         "name":"Etf",
         "open":null,
         "high":null,
         "low":null,
         "close":null,
         "volume":5810,
         "value":695341.0000,
         "netForeign":11980.0000
      },
      {  
         "name":"PSEi",
         "open":7268.3500,
         "high":7275.9800,
         "low":7214.9600,
         "close":7253.7900,
         "volume":1800007743,
         "value":8265011119.8300,
         "netForeign":0.0000
      },
      {  
         "name":"All Shares",
         "open":4386.2000,
         "high":4389.3000,
         "low":4355.8300,
         "close":4373.8200,
         "volume":0,
         "value":0.0000,
         "netForeign":0.0000
      }
   ]
}
                                    

About

This website was created with the goal of making historical end-of-day market report data for the Philippine Stock Exchange (PSE) available.

Daily Market Report data in Comma Separated Values (CSV) can also be retrieved if you find JSON format too advanced for you. CSV data starting from 2006 can be requested from the site.

A short and simple word about warranty and liability from a non lawyer - While extra care has been observed on compiling/generating the data, pseapi does not guarantee that all data provided by this site are 100% accurrate and error free. When downloading data from pseapi, you agree that the website - or any entity related to it - cannot be held liable for any losses, injuries, or any misfortunes that may result in any case an erroneous data have been unintentionally provided by the CSV generator or the REST API. Feel free to hold the site liable, nonetheless, for any fortunes that you would get from using this site's service :) .

Don't be shy! Say hello at hello at pseapi dot com. Reports of incorrect data would be appreciated!