curl --request GET \
--url https://api.unusualwhales.com/api/stock/{ticker}/ownership \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.unusualwhales.com/api/stock/{ticker}/ownership"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.unusualwhales.com/api/stock/{ticker}/ownership', 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://api.unusualwhales.com/api/stock/{ticker}/ownership",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.unusualwhales.com/api/stock/{ticker}/ownership"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.unusualwhales.com/api/stock/{ticker}/ownership")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unusualwhales.com/api/stock/{ticker}/ownership")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"cik": "",
"entity_type": "other",
"name": "OTHER",
"ownership": "0.5778598057824398968559314757",
"ownership_perc": "57.79",
"units": 1258514670
},
{
"cik": "0001548760",
"entity_type": "insider",
"name": "ZUCKERBERG MARK",
"ownership": "0.1573567903006183552668030525",
"ownership_perc": "15.74",
"units": 342705665
},
{
"cik": "0000102909",
"entity_type": "institution",
"name": "VANGUARD GROUP INC",
"ownership": "0.08849226346961719659402940931",
"ownership_perc": "8.85",
"units": 192726351
},
{
"cik": "0002012383",
"entity_type": "institution",
"name": "BLACKROCK, INC.",
"ownership": "0.07690733150859746487873438344",
"ownership_perc": "7.69",
"units": 167495652
},
{
"cik": "0000315066",
"entity_type": "institution",
"name": "FMR LLC",
"ownership": "0.05969144108951482234425757667",
"ownership_perc": "5.97",
"units": 130001349
},
{
"cik": "0000093751",
"entity_type": "institution",
"name": "STATE STREET CORP",
"ownership": "0.03969236784921226406024410234",
"ownership_perc": "3.97",
"units": 86445582
}
]
}{
"code": "authentication_required",
"documentation_url": "https://api.unusualwhales.com/docs",
"expected_format": "uuid",
"message": "The API token provided is not in the expected format. Unusual Whales API tokens are UUIDs, such as 123e4567-e89b-12d3-a456-426614174000.",
"reason": "malformed_token",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"code": "missing_access",
"documentation_url": "https://api.unusualwhales.com/docs",
"message": "The API token provided is valid but is not permitted to access this route.",
"reason": "route_not_permitted",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"msg": "Invalid path input: MSFT12 (valid example: AAPL) - Invalid query input(s): date=2023-02-140 (valid example: date=2024-01-18)",
"path": "/api/darkpool/MSFT12",
"query": "date=2023-02-140",
"url": "localhost:4000/api/darkpool/MSFT12?date=2023-02-140"
}"Something went wrong"Ownership
Returns the institutions, insider trades and politicians with the most shares.
This is an enterprise only endpoint. Contact [email protected] for details about accessing this data.
curl --request GET \
--url https://api.unusualwhales.com/api/stock/{ticker}/ownership \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.unusualwhales.com/api/stock/{ticker}/ownership"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.unusualwhales.com/api/stock/{ticker}/ownership', 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://api.unusualwhales.com/api/stock/{ticker}/ownership",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.unusualwhales.com/api/stock/{ticker}/ownership"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.unusualwhales.com/api/stock/{ticker}/ownership")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unusualwhales.com/api/stock/{ticker}/ownership")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"cik": "",
"entity_type": "other",
"name": "OTHER",
"ownership": "0.5778598057824398968559314757",
"ownership_perc": "57.79",
"units": 1258514670
},
{
"cik": "0001548760",
"entity_type": "insider",
"name": "ZUCKERBERG MARK",
"ownership": "0.1573567903006183552668030525",
"ownership_perc": "15.74",
"units": 342705665
},
{
"cik": "0000102909",
"entity_type": "institution",
"name": "VANGUARD GROUP INC",
"ownership": "0.08849226346961719659402940931",
"ownership_perc": "8.85",
"units": 192726351
},
{
"cik": "0002012383",
"entity_type": "institution",
"name": "BLACKROCK, INC.",
"ownership": "0.07690733150859746487873438344",
"ownership_perc": "7.69",
"units": 167495652
},
{
"cik": "0000315066",
"entity_type": "institution",
"name": "FMR LLC",
"ownership": "0.05969144108951482234425757667",
"ownership_perc": "5.97",
"units": 130001349
},
{
"cik": "0000093751",
"entity_type": "institution",
"name": "STATE STREET CORP",
"ownership": "0.03969236784921226406024410234",
"ownership_perc": "3.97",
"units": 86445582
}
]
}{
"code": "authentication_required",
"documentation_url": "https://api.unusualwhales.com/docs",
"expected_format": "uuid",
"message": "The API token provided is not in the expected format. Unusual Whales API tokens are UUIDs, such as 123e4567-e89b-12d3-a456-426614174000.",
"reason": "malformed_token",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"code": "missing_access",
"documentation_url": "https://api.unusualwhales.com/docs",
"message": "The API token provided is valid but is not permitted to access this route.",
"reason": "route_not_permitted",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"msg": "Invalid path input: MSFT12 (valid example: AAPL) - Invalid query input(s): date=2023-02-140 (valid example: date=2024-01-18)",
"path": "/api/darkpool/MSFT12",
"query": "date=2023-02-140",
"url": "localhost:4000/api/darkpool/MSFT12?date=2023-02-140"
}"Something went wrong"Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
A single ticker
"AAPL"
Query Parameters
How many items to return. Default: 20. Max: 100. Min: 1.
1 <= x <= 10020
Response
The cik of the institution or insider trader owning the shares. Politicians don't have a CIK, so the field is empty for those.
"0001548760"
The type of entity owning the ticker shares.
institution, insider, politician, other The name of the institution, insider trader or politician owning the shares.
"MARK ZUCKERBERG"
The relative amount of ticker shares owned by the institution, insider trader or politician.
The percentage of ticker shares owned by the institution, insider trader or politician.
The absolute amount of ticker shares owned by the institution, insider trader or politician.
Was this page helpful?
