curl https://financialmodelingprep.com/api/v3/rating/AAPL
{
"symbol" : "AAPL",
"rating" : {
"score" : 5,
"rating" : "S-",
"recommendation" : "Strong Buy"
},
"ratingDetails" : {
"P/B" : {
"score" : 5,
"recommendation" : "Strong Buy"
},
"ROA" : {
"score" : 5,
"recommendation" : "Neutral"
},
"DCF" : {
"score" : 3,
"recommendation" : "Neutral"
},
"P/E" : {
"score" : 5,
"recommendation" : "Strong Buy"
},
"ROE" : {
"score" : 5,
"recommendation" : "Strong Buy"
},
"D/E" : {
"score" : 3,
"recommendation" : "Strong Buy"
}
}
}
document.addEventListener('DOMContentLoaded', () => {
getRequest(
'',
drawOutput
);
function drawOutput(responseText) {
let resp = JSON.parse(responseText).financials;
let financials = resp;
let $table = document.createElement("table");
$table.className += " table";
var elements = document.querySelectorAll('.stock-name')[0];
let $head = document.createElement("thead");
let $body = document.createElement("tbody");
let $lineHader = document.createElement("tr");
/* let $elefirst = document.createElement("th");
$elefirst.textContent = 'Fiscal';
$lineHader.appendChild($elefirst); */
for (let i = 0; i < financials.length; i++) {
let financial = financials[i];
let $line = document.createElement("tr");
for (var key in financial) {
if (i === 0 && financial.hasOwnProperty(key)) {
let $ele = document.createElement("th");
$ele.textContent = key;
$lineHader.appendChild($ele);
}
}
$head.appendChild($lineHader);
$table.appendChild($head);
var z = 0;
for (var key2 in financial) {
if (financial.hasOwnProperty(key2)) {
/* if (z === 0) {
let title = Object.keys(resp)[i];
let $eleTile = document.createElement("td");
$eleTile.textContent = title;
$line.appendChild($eleTile);
} */
let $eletd = document.createElement("td");
if (z === 0) {
$eletd.textContent = financial[key2];
} else {
$eletd.textContent = financial[key2];
}
$line.appendChild($eletd);
}
z++;
}
$body.appendChild($line)
$table.appendChild($body);
}
document.body.appendChild($table);
}
function getRequest(url, success) {
var req = false;
try {
req = new XMLHttpRequest();
} catch (e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return false;
}
}
}
if (!req) return false;
if (typeof success != 'function') success = function() {};
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status === 200) {
success(req.responseText)
}
}
}
req.open("GET", url, true);
req.send(null);
return req;
}
})
$(document).ready(function() {
var url = "";
$.ajax({
url: url,
type: "GET",
crossDomain: true,
success: function(response) {
let resp = response;
let symbol = resp.symbol;
let financials = resp.financials;
let $table = $("<table class='table'></table>");
for (let i = 0; i < financials.length; i++) {
let financial = financials[i];
let $line = $("<tr></tr>");
let $lineHader = $("<tr></tr>");
let $head = $('<thead></thead>');
for (var key in financial) {
if (i === 0 && financial.hasOwnProperty(key)) {
$lineHader.append($("<th></th>").html(key));
}
}
$head.append($lineHader);
$table.append($head);
let z = 0;
for (var key2 in financial) {
if (financial.hasOwnProperty(key2)) {
if (z === 0) {
$line.append($("<td></td>").html(financial[key2]));
} else {
$line.append($("<td></td>").html('$' + financial[key2]));
}
z++;
}
}
$table.append($line);
}
$table.appendTo(document.body);
},
error: function(xhr, status) {
alert("error");
}
});
});
var app = new Vue({
el: "#app",
data: {
url: '",
financials: [],
loaded: false,
searchQuery: '',
stockName: 'Netflix'
},
created: function() {
var self = this
axios
.get(this.url)
.then((response) => {
this.financials = response.data.financials;
this.loaded = true;
})
.catch((error) => {
alert('error');
})
}
});
import {Component, OnInit, ViewChild} from '@angular/core';
import {MatPaginator, MatSort, MatTableDataSource} from '@angular/material';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'table-overview-example',
styleUrls: ['table-overview-example.css'],
templateUrl: 'table-overview-example.html',
})
export class TableOverviewExample implements OnInit {
loaded: boolean = false;
displayedColumns: string[] = [];
dataSource: MatTableDataSource<AnimationPlayState>;
url = '';
financialStatement: any = [];
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private http: HttpClient) {
this.http.get<any>(this.url).subscribe(data => {
this.financialStatement = data.financials;
this.createdDisplayComlumn(this.financialStatement[0]);
this.dataSource = new MatTableDataSource(this.financialStatement);
this.loaded =true;
})
}
ngOnInit() {
setTimeout(() => {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
},1000);
}
applyFilter(filterValue: string) {
this.dataSource.filter = filterValue.trim().toLowerCase();
if (this.dataSource.paginator) {
this.dataSource.paginator.firstPage();
}
}
createdDisplayComlumn(obj) {
Object.keys(obj).forEach((key,index)=> {
this.displayedColumns.push(key);
});
}
}
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/v3/rating/AAPL', httr::add_headers(.headers=headers), query = params)
version: 2
requests:
curl_converter:
request:
url: 'https://financialmodelingprep.com/api/v3/rating/AAPL'
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)