Retrieve SEC company subsidiaries information extracted from Exhibit 21 filings. Search by company name, ticker, jurisdiction, or CIK and optionally retrieve only the current filing or historical filings.
All requests require an API token in the Authorization header.
Authorization: AUTH_TOKEN
| Parameter | Type | Required | Description |
|---|---|---|---|
| query_type | string | Required |
Search type. Supported:
|
| query_value | string | Required | Search value based on query_type |
| history_type | string | Optional |
|
| from | integer | Optional | Pagination starting offset |
| size | integer | Optional | Number of records to return (Maximum:100) |
| sort_order | string | Optional | ASC or DESC |
{
"query_type": "Ticker",
"query_value": "AAPL",
"history_type":"all",
"from": 0,
"size": 10,
"sort_order": "DESC"
}
<?php
$url = "https://api.secfilingdata.com/v1/filings/subsidiaries/";
$auth_token = 'AUTH_TOKEN';
$postData = array(
'query_type' => 'Ticker',
'query_value' => 'AAPL',
'history_type' => 'current',
'from' => 0,
'size' => 10,
'sort_order' => 'DESC'
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: ' . $auth_token,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
url = "https://api.secfilingdata.com/v1/filings/subsidiaries/"
headers = {
"Content-Type": "application/json",
"Authorization": "AUTH_TOKEN"
}
payload = {
"query_type":"Ticker",
"query_value":"AAPL",
"history_type":"current",
"from":0,
"size":10,
"sort_order":"DESC"
}
response = requests.post(
url,
headers=headers,
json=payload
)
print(response.json())
const url = "https://api.secfilingdata.com/v1/filings/subsidiaries/";
const payload = {
query_type: "Ticker",
query_value: "AAPL",
history_type: "current",
from: 0,
size: 10,
sort_order: "DESC"
};
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "AUTH_TOKEN"
},
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
const axios = require("axios");
const url = "https://api.secfilingdata.com/v1/filings/subsidiaries/";
const payload = {
query_type: "Ticker",
query_value: "AAPL",
history_type: "current",
from: 0,
size: 10,
sort_order: "DESC"
};
axios.post(url, payload, {
headers: {
"Content-Type": "application/json",
"Authorization": "AUTH_TOKEN"
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
curl --location 'https://api.secfilingdata.com/v1/filings/subsidiaries/' \
--header 'Content-Type: application/json' \
--header 'Authorization: AUTH_TOKEN' \
--data '{
"query_type":"Ticker",
"query_value":"AAPL",
"history_type":"current",
"from":0,
"size":10,
"sort_order":"DESC"
}'
package main
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.secfilingdata.com/v1/filings/subsidiaries/"
payload := []byte(`{
"query_type":"Ticket",
"query_value":"AAPL",
"history_type":"all",
"from":0,
"size":10,
"sort_order":"DESC"
}`)
req, _ := http.NewRequest(
"POST",
url,
bytes.NewBuffer(payload),
)
req.Header.Set(
"Content-Type",
"application/json",
)
req.Header.Set(
"Authorization",
"AUTH_TOKEN",
)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
throws Exception {
URL url = new URL(
"https://api.secfilingdata.com/v1/filings/subsidiaries/"
);
HttpURLConnection conn =
(HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty(
"Content-Type",
"application/json"
);
conn.setRequestProperty(
"Authorization",
"AUTH_TOKEN"
);
conn.setDoOutput(true);
String jsonInputString = "{"
+ "\"query_type\":\"Ticker\","
+ "\"query_value\":\"AAPL\","
+ "\"history_type\":\"all\","
+ "\"from\":0,"
+ "\"size\":10,"
+ "\"sort_order\":\"DESC\""
+ "}";
try(OutputStream os =
conn.getOutputStream()) {
byte[] input =
jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
Scanner scanner =
new Scanner(conn.getInputStream());
while(scanner.hasNext()) {
System.out.println(
scanner.nextLine()
);
}
scanner.close();
}
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add(
"Authorization",
"AUTH_TOKEN"
);
var json = @"{
""query_type"": ""Ticker"",
""query_value"": ""AAPL"",
""history_type"": ""all"",
""from"": 0,
""size"": 10,
""sort_order"": ""DESC""
}";
var content = new StringContent(
json,
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync(
"https://api.secfilingdata.com/v1/filings/subsidiaries/",
content
);
var result =
await response.Content
.ReadAsStringAsync();
Console.WriteLine(result);
}
}
require 'net/http'
require 'json'
require 'uri'
url = URI(
"https://api.secfilingdata.com/v1/filings/subsidiaries/"
)
http = Net::HTTP.new(
url.host,
url.port
)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] =
"application/json"
request["Authorization"] =
"AUTH_TOKEN"
request.body = {
query_type: "Ticker",
query_value: "AAPL",
query_value: "all",
from: 0,
size: 10,
sort_order: "DESC"
}.to_json
response = http.request(request)
puts response.body
{
"total": 10,
"from": 0,
"size": 20,
"companyName": "Apple Inc.",
"ticker": "AAPL",
"cik": "0000320193",
"filings": [
{
"accessionNo": "0000320193-21-000105",
"filedAt": "2021-10-28 18:04:28",
"subsidiaries": [
{
"name": "Apple Asia Limited",
"jurisdiction": "Hong Kong"
},
{
"name": "Apple Canada Inc.",
"jurisdiction": "Canada"
},
{
"name": "Apple Distribution International Limited",
"jurisdiction": "Ireland"
}
]
},
{
"accessionNo": "0000320193-20-000096",
"filedAt": "2020-10-29 18:06:25",
"subsidiaries": [
{
"name": "Apple Europe Limited",
"jurisdiction": "United Kingdom"
},
{
"name": "Apple France",
"jurisdiction": "France"
},
{
"name": "Braeburn Capital, Inc.",
"jurisdiction": "Nevada, U.S."
}
]
}
]
}
```
application/jsonjson_encode($postData)| Status Code | Description |
|---|---|
| 200 | Successful request |
| 400 | Invalid request parameters |
| 401 | Unauthorized / Invalid token |
| 500 | Internal server error |
The Company Subsidiaries Database contains subsidiary information extracted from SEC Exhibit 21 filings submitted by public companies. Each filing includes the reporting company together with all disclosed subsidiaries and their jurisdictions of incorporation.