List securities
curl --request GET \
--url https://api.finta.io/v2/securities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.finta.io/v2/securities"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.finta.io/v2/securities', 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.finta.io/v2/securities",
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.finta.io/v2/securities"
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.finta.io/v2/securities")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finta.io/v2/securities")
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{
"securities": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tickerSymbol": "<string>",
"name": "<string>",
"type": "<string>",
"isin": "<string>",
"cusip": "<string>",
"currency": "<string>",
"closePrice": 123,
"closePriceAsOf": "2023-12-25",
"isCashEquivalent": true,
"sector": "<string>",
"industry": "<string>",
"optionContractType": "<string>",
"optionExpirationDate": "2023-12-25",
"optionStrikePrice": 123,
"optionUnderlyingTicker": "<string>",
"providerIds": [
{
"provider": "plaid",
"providerId": "<string>"
}
]
}
]
}{
"error": {
"code": "STORAGE_MODE_REQUIRED",
"message": "<string>"
}
}{
"error": "Missing or invalid Authorization header"
}{
"error": {
"code": "STORAGE_MODE_REQUIRED",
"message": "<string>"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Per-minute rate limit exceeded (10 requests/min on Standard plan)."
}
}Investments
List securities
Returns securities referenced by the authenticated user holdings or investment transactions. Does not call live providers.
GET
/
securities
List securities
curl --request GET \
--url https://api.finta.io/v2/securities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.finta.io/v2/securities"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.finta.io/v2/securities', 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.finta.io/v2/securities",
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.finta.io/v2/securities"
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.finta.io/v2/securities")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finta.io/v2/securities")
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{
"securities": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tickerSymbol": "<string>",
"name": "<string>",
"type": "<string>",
"isin": "<string>",
"cusip": "<string>",
"currency": "<string>",
"closePrice": 123,
"closePriceAsOf": "2023-12-25",
"isCashEquivalent": true,
"sector": "<string>",
"industry": "<string>",
"optionContractType": "<string>",
"optionExpirationDate": "2023-12-25",
"optionStrikePrice": 123,
"optionUnderlyingTicker": "<string>",
"providerIds": [
{
"provider": "plaid",
"providerId": "<string>"
}
]
}
]
}{
"error": {
"code": "STORAGE_MODE_REQUIRED",
"message": "<string>"
}
}{
"error": "Missing or invalid Authorization header"
}{
"error": {
"code": "STORAGE_MODE_REQUIRED",
"message": "<string>"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Per-minute rate limit exceeded (10 requests/min on Standard plan)."
}
}Authorizations
Finta API key from the dashboard (Bearer token).
Query Parameters
Filter by bank connection ID
Filter by bank account ID
Filter by Finta security ID
Response
Securities for the authenticated user
Show child attributes
Show child attributes
⌘I