curl --request GET \
--url https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities \
--header 'apikey: <api-key>'import requests
url = "https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities"
headers = {"apikey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {apikey: '<api-key>'}};
fetch('https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("apikey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"ticker": "<string>",
"trade_date": "2023-12-25",
"board": "<string>",
"lot": "<string>",
"term_days": "<string>",
"short_name": "<string>",
"spec": "<string>",
"currency": "<string>",
"open": 123,
"high": 123,
"low": 123,
"average": 123,
"close": 123,
"bid": 123,
"ask": 123,
"trades": 123,
"quantity": 123,
"volume": 123,
"isin": "<string>",
"quotation_factor": 123,
"adjusted": true,
"source": "<string>",
"fetched_at": "2023-11-07T05:31:56Z",
"share_class": "<string>",
"governance_segment": "<string>",
"close_unit": 123,
"market": "<string>",
"contract_price": 123,
"contract_expiry": "2023-12-25",
"contract_correction": "<string>",
"contract_points": 123,
"contract_points_raw": "<string>",
"distribution_number": "<string>"
}
]{
"code": "22023",
"message": "<string>",
"details": "<string>",
"hint": "<string>"
}{
"code": "22023",
"message": "<string>",
"details": "<string>",
"hint": "<string>"
}{
"code": "22023",
"message": "<string>",
"details": "<string>",
"hint": "<string>"
}equities
Unadjusted B3 cash quotes for equity: ordinary and preferred shares (ESPECI ON*/PN*). Grain (ticker, trade_date, board, term_days, lot) — lot is standard (tpmerc 010) or odd (020) or block (021), so filter lot=eq.standard for round lots only. share_class (ON|PN|PNA|PNB|PNC|PND) and governance_segment (NM|N1|N2|MA|M2|MB) are parsed from published ESPECI, never from the ticker suffix. Classified from published TPMERC/ESPECI; never inferred.
Paging. A GET view pages normally with limit/offset (and Range). Every response is cut at 1000 rows server-side regardless of tier; read Content-Range to detect it (0-999/* is a truncated page, and Prefer: count=exact turns the * into the total).
curl --request GET \
--url https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities \
--header 'apikey: <api-key>'import requests
url = "https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities"
headers = {"apikey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {apikey: '<api-key>'}};
fetch('https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("apikey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities")
.header("apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://zcjbtpxuhdekpwcxmepn.supabase.co/rest/v1/equities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"ticker": "<string>",
"trade_date": "2023-12-25",
"board": "<string>",
"lot": "<string>",
"term_days": "<string>",
"short_name": "<string>",
"spec": "<string>",
"currency": "<string>",
"open": 123,
"high": 123,
"low": 123,
"average": 123,
"close": 123,
"bid": 123,
"ask": 123,
"trades": 123,
"quantity": 123,
"volume": 123,
"isin": "<string>",
"quotation_factor": 123,
"adjusted": true,
"source": "<string>",
"fetched_at": "2023-11-07T05:31:56Z",
"share_class": "<string>",
"governance_segment": "<string>",
"close_unit": 123,
"market": "<string>",
"contract_price": 123,
"contract_expiry": "2023-12-25",
"contract_correction": "<string>",
"contract_points": 123,
"contract_points_raw": "<string>",
"distribution_number": "<string>"
}
]{
"code": "22023",
"message": "<string>",
"details": "<string>",
"hint": "<string>"
}{
"code": "22023",
"message": "<string>",
"details": "<string>",
"hint": "<string>"
}{
"code": "22023",
"message": "<string>",
"details": "<string>",
"hint": "<string>"
}Authorizations
The publishable key (sb_publishable_…), on every request. It is NOT a JWT — sending it as Authorization: Bearer is rejected as an invalid JWT. It identifies the project, not you, and maps to the Postgres anon role.
Query Parameters
Columns to return, comma separated. Omit for all of them.
Sort, e.g. trade_date.desc. Always order a paged read, or limit/offset walk an undefined sequence.
Rows to return. The server cuts every response at 1000 whatever you ask for.
x <= 1000Rows to skip. Pairs with limit and order to page.
PostgREST filter on ticker — eq., neq., gt., gte., lt., lte., in., is. (e.g. ticker=eq.<value>).
PostgREST filter on trade_date — eq., neq., gt., gte., lt., lte., in., is. (e.g. trade_date=eq.<value>).
PostgREST filter on board — eq., neq., gt., gte., lt., lte., in., is. (e.g. board=eq.<value>).
PostgREST filter on lot — eq., neq., gt., gte., lt., lte., in., is. (e.g. lot=eq.<value>).
PostgREST filter on term_days — eq., neq., gt., gte., lt., lte., in., is. (e.g. term_days=eq.<value>).
PostgREST filter on short_name — eq., neq., gt., gte., lt., lte., in., is. (e.g. short_name=eq.<value>).
PostgREST filter on spec — eq., neq., gt., gte., lt., lte., in., is. (e.g. spec=eq.<value>).
PostgREST filter on currency — eq., neq., gt., gte., lt., lte., in., is. (e.g. currency=eq.<value>).
PostgREST filter on open — eq., neq., gt., gte., lt., lte., in., is. (e.g. open=eq.<value>).
PostgREST filter on high — eq., neq., gt., gte., lt., lte., in., is. (e.g. high=eq.<value>).
PostgREST filter on low — eq., neq., gt., gte., lt., lte., in., is. (e.g. low=eq.<value>).
PostgREST filter on average — eq., neq., gt., gte., lt., lte., in., is. (e.g. average=eq.<value>).
PostgREST filter on close — eq., neq., gt., gte., lt., lte., in., is. (e.g. close=eq.<value>).
PostgREST filter on bid — eq., neq., gt., gte., lt., lte., in., is. (e.g. bid=eq.<value>).
PostgREST filter on ask — eq., neq., gt., gte., lt., lte., in., is. (e.g. ask=eq.<value>).
PostgREST filter on trades — eq., neq., gt., gte., lt., lte., in., is. (e.g. trades=eq.<value>).
PostgREST filter on quantity — eq., neq., gt., gte., lt., lte., in., is. (e.g. quantity=eq.<value>).
PostgREST filter on volume — eq., neq., gt., gte., lt., lte., in., is. (e.g. volume=eq.<value>).
PostgREST filter on isin — eq., neq., gt., gte., lt., lte., in., is. (e.g. isin=eq.<value>).
PostgREST filter on quotation_factor — eq., neq., gt., gte., lt., lte., in., is. (e.g. quotation_factor=eq.<value>).
PostgREST filter on adjusted — eq., neq., gt., gte., lt., lte., in., is. (e.g. adjusted=eq.<value>).
PostgREST filter on source — eq., neq., gt., gte., lt., lte., in., is. (e.g. source=eq.<value>).
PostgREST filter on fetched_at — eq., neq., gt., gte., lt., lte., in., is. (e.g. fetched_at=eq.<value>).
PostgREST filter on share_class — eq., neq., gt., gte., lt., lte., in., is. (e.g. share_class=eq.<value>).
PostgREST filter on governance_segment — eq., neq., gt., gte., lt., lte., in., is. (e.g. governance_segment=eq.<value>).
PostgREST filter on close_unit — eq., neq., gt., gte., lt., lte., in., is. (e.g. close_unit=eq.<value>).
PostgREST filter on market — eq., neq., gt., gte., lt., lte., in., is. (e.g. market=eq.<value>).
PostgREST filter on contract_price — eq., neq., gt., gte., lt., lte., in., is. (e.g. contract_price=eq.<value>).
PostgREST filter on contract_expiry — eq., neq., gt., gte., lt., lte., in., is. (e.g. contract_expiry=eq.<value>).
PostgREST filter on contract_correction — eq., neq., gt., gte., lt., lte., in., is. (e.g. contract_correction=eq.<value>).
PostgREST filter on contract_points — eq., neq., gt., gte., lt., lte., in., is. (e.g. contract_points=eq.<value>).
PostgREST filter on contract_points_raw — eq., neq., gt., gte., lt., lte., in., is. (e.g. contract_points_raw=eq.<value>).
PostgREST filter on distribution_number — eq., neq., gt., gte., lt., lte., in., is. (e.g. distribution_number=eq.<value>).
Response
Matching rows.
Was this page helpful?