curl https://financialmodelingprep.com/api/v4/institutional-ownership/institutional-holders/symbol-ownership-percent?date=2021-09-30&symbol=AAPL&page=0&apikey=YOUR_API_KEY
[ {
"date" : "2021-09-30",
"cik" : "0000102909",
"filingDate" : "2021-11-12",
"investorName" : "VANGUARD GROUP INC",
"symbol" : "AAPL",
"securityName" : "APPLE INC",
"typeOfSecurity" : "COM",
"securityCusip" : "037833100",
"sharesType" : "SH",
"putCallShare" : "Share",
"investmentDiscretion" : "SOLE",
"industryTitle" : "ELECTRONIC COMPUTERS",
"weight" : 4.4505,
"lastWeight" : 4.3113,
"changeInWeight" : 0.1392,
"changeInWeightPercentage" : 3.2279,
"marketValue" : 179186073000,
"lastMarketValue" : 173245709000,
"changeInMarketValue" : 5940364000,
"changeInMarketValuePercentage" : 3.4289,
"sharesNumber" : 1266332667,
"lastSharesNumber" : 1264936543,
"changeInSharesNumber" : 1396124.0000,
"changeInSharesNumberPercentage" : 0.1104,
"quarterEndPrice" : 141.2945214521,
"avgPricePaid" : 136.5555426888,
"isNew" : false,
"isSoldOut" : false,
"ownership" : 7.5823,
"lastOwnership" : 7.6066,
"changeInOwnership" : -0.0244,
"changeInOwnershipPercentage" : -0.3206,
"holdingPeriod" : 32,
"firstAdded" : "2013-12-31",
"performance" : 5994507414.1991,
"performancePercentage" : 3.4704,
"lastPerformance" : 18555654047.2223,
"changeInPerformance" : -12561146633.0232,
"isCountedForPerformance" : true
}, ...
]
URL url = new URL("");
try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
}
}
set_time_limit(0);
$url_info = "";
$channel = curl_init();
curl_setopt($channel, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($channel, CURLOPT_HEADER, 0);
curl_setopt($channel, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($channel, CURLOPT_URL, $url_info);
curl_setopt($channel, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($channel, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($channel, CURLOPT_TIMEOUT, 0);
curl_setopt($channel, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($channel, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($channel, CURLOPT_SSL_VERIFYPEER, FALSE);
$output = curl_exec($channel);
if (curl_error($channel)) {
return 'error:' . curl_error($channel);
} else {
$outputJSON = json_decode($output);
var_dump($outputJSON);
}
const https = require('https')
const options = {
hostname: 'financialmodelingprep.com',
port: 443,
path: '',
method: 'GET'
}
const req = https.request(options, (res) => {
res.on('data', (d) => {
process.stdout.write(d)
})
})
req.on('error', (error) => {
console.error(error)
})
req.end()
#!/usr/bin/env python
try:
# For Python 3.0 and later
from urllib.request import urlopen
except ImportError:
# Fall back to Python 2's urllib2
from urllib2 import urlopen
import certifi
import json
def get_jsonparsed_data(url):
"""
Receive the content of ``url``, parse it as JSON and return the object.
Parameters
----------
url : str
Returns
-------
dict
"""
response = urlopen(url, cafile=certifi.where())
data = response.read().decode("utf-8")
return json.loads(data)
url = ("")
print(get_jsonparsed_data(url))
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := ""
response, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
defer response.Body.Close()
responseData, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
responseString := string(responseData)
fmt.Println(responseString)
}
require 'net/http'
require 'uri'
uri = URI.parse("")
request = Net::HTTP::Get.new(uri)
request["Upgrade-Insecure-Requests"] = "1"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("GET"), ""))
{
request.Headers.TryAddWithoutValidation("Upgrade-Insecure-Requests", "1");
var response = await httpClient.SendAsync(request);
}
}
require(httr)
headers = c(
`Upgrade-Insecure-Requests` = '1',
)
params = list(
`datatype` = 'json'
)
res <- httr::GET(url = 'https://financialmodelingprep.com/api/v4/institutional-ownership/institutional-holders/symbol-ownership-percent?date=2021-09-30&symbol=AAPL&page=0', httr::add_headers(.headers=headers), query = params)
version: 2
requests:
curl_converter:
request:
url: 'https://financialmodelingprep.com/api/v4/institutional-ownership/institutional-holders/symbol-ownership-percent?date=2021-09-30&symbol=AAPL&page=0'
method: GET
headers:
-
name: Upgrade-Insecure-Requests
value: '1'
-
queryString:
-
name: datatype
value: json
extern crate reqwest;
use reqwest::headers::*;
fn main() -> Result<(), reqwest::Error> {
let mut headers = HeaderMap::new();
headers.insert(UPGRADE_INSECURE_REQUESTS, "1".parse().unwrap());
let res = reqwest::Client::new()
.get("")
.headers(headers)
.send()?
.text()?;
println!("{}", res);
Ok(())
}
import PlaygroundSupport
import Foundation
let url = URL(string: "")
var request = URLRequest(url: url!)
request.addValue("application/json", forHTTPHeaderField: "Accept")
let task = URLSession.shared.dataTask(with: url!) { data, response, error in
guard error == nil else {
print(error!)
return
}
guard let data = data else {
print("Data is empty")
return
}
let json = try! JSONSerialization.jsonObject(with: data, options: [])
print(json)
}
task.resume()
PlaygroundPage.current.needsIndefiniteExecution = true
import scala.io.Source.fromURL
val json = fromURL("").mkString
print(json)