Introduction
Welcome to the EZ-SEC API documentation.
In a nutshell, the way EZ-SEC works is by keeping a current database of the company documents
submitted
to the SEC.
This allows us to redistribute documents we've already cached at a rate far faster than using the EDGAR
API (which is severely rate limited).
Along with faster distribution, we also have the ability to extract and reformat data from the
documents. This allows for
easier integration into our customers pipeline. Currently, we are a completely free service and will
always maintain a free-tier.
To make a request you will first need to create an account.
After which you will be given a free API token to make requests to our server
Currently EZ-SEC API is in Beta and each account is rate limited to 1000 requests per 24 hour period.
Form 10-K/A Filings
Form 10-K/A is an amended annual report filed by public companies with the U.S. Securities and Exchange Commission (SEC). Companies submit this form to correct or update information that was originally filed in a Form 10-K. The amendments may include revisions to financial statements, disclosures, or other key data previously reported in the company's annual filing.
Key Features of 10-K/A Filings
Who Files?
- Public companies that need to amend their previously submitted Form 10-K to correct errors, inaccuracies, or add important updates to their annual report.
- These amendments are necessary when the company identifies issues with its original annual filing or has updates that affect previously disclosed information.
Frequency of Filing
- As needed: Form 10-K/A is filed when a public company identifies the need to amend its annual report after the original Form 10-K has been submitted.
- It is event-driven and follows the initial 10-K submission.
What is Disclosed?
Form 10-K/A discloses corrections or updates to the original Form 10-K, including:
- Revised financial statements
- Corrections to footnotes or financial disclosures
- Updates to disclosures or other corporate events mentioned in the original filing
- Any other amendments necessary to maintain transparency and accuracy in the company’s financial reporting
The 10-K/A ensures that investors have access to the most accurate and up-to-date information regarding the company's annual performance and financial condition.
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.get_filing_cik(2023,4,1057706,"10-K/A","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"LOCKHEED MARTIN CORP","10-K/A","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"LMT","10-K/A","your-api-token")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1057706,
filing_type: '10-K/A'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "LOCKHEED MARTIN CORP",
filing_type: '10-K/A'
});
fetch('https://api.ezsec-api.com/filing/api/company_name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "LMT",
filing_type: '10-K/A'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1057706" \
--data-urlencode "filing_type=10-K/A")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name=LOCKHEED MARTIN CORP" \
--data-urlencode "filing_type=10-K/A")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=LMT" \
--data-urlencode "filing_type=10-K/A")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/type";
// Parameters
int cik = 1057706;
String filingType = URLEncoder.encode("10-K/A", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/company_name/retrieve/type";
// Parameters
String companyName = URLEncoder.encode("LOCKHEED MARTIN CORP", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-K/A", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type";
// Parameters
String ticker = URLEncoder.encode("MATV", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-K/A", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, ticker, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
Form 10-Q/A Filings
Form 10-Q/A is an amended quarterly report filed by public companies with the U.S. Securities and Exchange Commission (SEC). Companies file this form to correct or update information that was previously submitted in a Form 10-Q filing. The amendments may include updates on financial statements, footnotes, or other disclosures.
Key Features of 10-Q/A Filings
Who Files?
- Public companies that have already filed a Form 10-Q but need to make corrections or updates to the information disclosed in the original filing.
- These amendments are necessary when there are errors, inaccuracies, or important updates that need to be reflected in the company's quarterly report.
Frequency of Filing
- As needed: Form 10-Q/A is filed when a public company identifies the need to amend its quarterly report after the original Form 10-Q has been submitted.
- It is event-driven and typically follows the initial 10-Q submission.
What is Disclosed?
Form 10-Q/A discloses updates or corrections to the original Form 10-Q, including:
- Revised financial statements
- Corrections to footnotes or financial data
- Updates to disclosures or other corporate events mentioned in the original filing
- Any other amendments necessary to maintain transparency and accuracy in the company's public financial reporting
The purpose of the 10-Q/A is to ensure that investors have access to the most accurate and up-to-date information regarding the company's performance and financial condition.
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.request_filing_cik(2023,4,1009891,"10-Q/A","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"AIR INDUSTRIES GROUP","10-Q/A","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"AIRI","10-Q/A","your-api-token")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1009891,
filing_type: '10-Q/A'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "AIR INDUSTRIES GROUP",
filing_type: '10-Q/A'
});
fetch('https://api.ezsec-api.com/filing/api/name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "AIRI",
filing_type: '10-Q/A'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1009891" \
--data-urlencode "filing_type=10-Q/A")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name=AIR INDUSTRIES GROUP"" \
--data-urlencode "filing_type=10-Q/A")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=AIRI" \
--data-urlencode "filing_type=10-Q/A")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/type";
// Parameters
String cik = 1009891;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/company_name/retrieve/type";
// Parameters
String companyName = URLEncoder.encode("AIR INDUSTRIES GROUP", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type";
// Parameters
String ticker = URLEncoder.encode("AIRI", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, ticker, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
Form 8-K Filings
Form 8-K is a filing with the U.S. Securities and Exchange Commission (SEC) that public companies must submit to announce significant events that shareholders should know about. These filings are used to notify investors of material corporate events that could impact the company's financial situation or stock price.
Key Features of 8-K Filings
Who Files?
- Public companies are required to file Form 8-K whenever a material event or change occurs that might affect the company's operations, financial condition, or the value of its securities.
- Examples of triggering events include acquisitions, bankruptcy, changes in leadership, changes in auditors, and other significant corporate changes.
Frequency of Filing
- Event-driven: 8-K filings are submitted whenever a significant event occurs that requires public disclosure.
- There is no regular schedule for Form 8-K; it is filed as needed to report material corporate events in a timely manner.
What is Disclosed?
Form 8-K discloses information on significant corporate events, such as:
- Bankruptcy or receivership
- Changes in control of the company
- Material agreements or amendments
- Acquisitions or dispositions of significant assets
- Leadership changes (e.g., CEO, CFO)
- Auditor changes
- Other major corporate events that impact the company or its securities
This form ensures transparency around important corporate developments that investors need to be aware of.
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.request_filing_cik(2023,4,1000228,"8-K","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"HENRY SCHEIN INC","8-K","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"HSIC","8-K","your-api-token")
import ezsec as ez
import json
result = ez.request_processed(2023,4,1000228,"8-K","your-api-token")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000228,
filing_type: '8-K'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "HENRY SCHEIN INC",
filing_type: '8-K'
});
fetch('https://api.ezsec-api.com/filing/api/name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "HSIC",
filing_type: '8-K'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000228,
filing_type: '8-K'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/processed/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000228" \
--data-urlencode "filing_type=8-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name="HENRY SCHEIN INC" \
--data-urlencode "filing_type=8-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=HSIC" \
--data-urlencode "filing_type=8-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/processed/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000228" \
--data-urlencode "filing_type=8-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/type";
// Parameters
int cik = 1000228;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/company_name/retrieve/type";
// Parameters
String companyName = URLEncoder.encode("HENRY SCHEIN INC", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type";
// Parameters
String ticker = URLEncoder.encode("HSIC", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/processed/type";
// Parameters
int cik = 1000228;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
10-K Filings
10-K filings are annual reports that publicly traded companies must submit to the U.S. Securities and Exchange Commission (SEC). These comprehensive reports provide a detailed summary of a company's financial performance over the past fiscal year. Unlike quarterly 10-Q filings, 10-K reports are audited and contain extensive information on a company's business, risks, and financials.
Key Features of 10-K Filings
Who Files?
- Publicly traded companies are required to file Form 10-K annually with the SEC.
- The filing includes a full year’s financial data and significant company disclosures regarding business performance and future risks.
Frequency of Filing
- Annually: 10-K filings must be submitted within 60 to 90 days after the end of the company's fiscal year, depending on the size of the company.
- The 10-K provides a more in-depth and audited version of the company's financial statements than the quarterly 10-Q filings.
What is Disclosed?
Form 10-K provides a detailed look at a company's overall financial health and operations, including:
- Audited financial statements, including balance sheets, income statements, and cash flow statements
- Management's discussion and analysis (MD&A) of financial condition and results of operations
- Business description, major risks, and market conditions
- Disclosures regarding legal proceedings and corporate governance
10-K filings are essential for investors to gain a complete understanding of a company's performance and risks.
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.request_filing_cik(2023,4,1000230,"10-K","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"OPTICAL CABLE GROUP","10-K","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"OCC","10-K","your-api-token")
import ezsec as ez
import json
result = ez.request_processed(2023,4,1000230,"10-K","your-api-token")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000230,
filing_type: '10-K'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "OPTICAL CABLE CORP",
filing_type: '10-K'
});
fetch('https://api.ezsec-api.com/filing/api/company_name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "OCC",
filing_type: '10-K'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000230,
filing_type: '10-K'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/processed/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000230" \
--data-urlencode "filing_type=10-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name="OPTICAL CABLE CORP" \
--data-urlencode "filing_type=10-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=OCC" \
--data-urlencode "filing_type=10-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/processed/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000230" \
--data-urlencode "filing_type=10-K")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/type";
// Parameters
int cik = 1000230;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token";
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/company_name/api/retrieve/type";
// Parameters
int companyName = URLEncoder.encode("OPTICAL CABLE GROUP", StandardCharsets.UTF_8).replace("+", "%20");;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token";
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type";
// Parameters
int ticker = URLEncoder.encode("OCC", StandardCharsets.UTF_8).replace("+", "%20");;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token";
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, ticker, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/processed/type";
// Parameters
int cik = 1000230;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token";
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
10-Q Filings
10-Q filings are quarterly reports that publicly traded companies are required to file with the U.S. Securities and Exchange Commission (SEC). These filings provide an unaudited financial statement and give investors an update on the company's financial position and operations over the last quarter.
Key Features of 10-Q Filings
Who Files?
- Publicly traded companies in the U.S. are required to file Form 10-Q with the SEC.
- These filings include the company’s quarterly financial statements and a discussion of its results of operations, liquidity, and risk factors.
Frequency of Filing
- Quarterly: 10-Q filings must be submitted three times a year, covering the first three fiscal quarters. The annual report for the fourth quarter is filed separately on Form 10-K.
- The 10-Q must be filed within 40 days after the end of each fiscal quarter.
What is Disclosed?
Form 10-Q provides detailed information about a company's financial health, including:
- Unaudited financial statements, including balance sheets, income statements, and cash flow statements
- Management's discussion and analysis (MD&A) of financial condition and results of operations
- Risk factors that could affect future performance
- Changes in internal controls over financial reporting
The 10-Q is a crucial document for investors to assess a company's financial performance throughout the year.
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.request_filing_cik(2023,4,1000623,"10-Q","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"Mativ holdings, inc.","10-Q","your-api-token")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"MATV","10-Q","your-api-token")
import ezsec as ez
import json
result = ez.request_processed(2023,4,1000623,"10-Q","your-api-token")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000623,
filing_type: '10-Q'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "Mativ Holdings, Inc.",
filing_type: '10-Q'
});
fetch('https://api.ezsec-api.com/filing/api/company_name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "MATV",
filing_type: '10-Q'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000623,
filing_type: '10-Q'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/processed/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000623" \
--data-urlencode "filing_type=10-Q")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name="Mativ Holdings, Inc." \
--data-urlencode "filing_type=10-Q")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=MATV" \
--data-urlencode "filing_type=10-Q")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/processed/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000623" \
--data-urlencode "filing_type=10-Q")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/type";
// Parameters
int cik = 10000623;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token";
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/company_name/retrieve/type";
// Parameters
String companyName = URLEncoder.encode("Mativ holdings, inc.", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token";
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type";
// Parameters
String ticker = URLEncoder.encode("MATV", StandardCharsets.UTF_8).replace("+", "%20");
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, ticker, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/processed/type";
// Parameters
int cik = 10000623;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
13F-HR Filings
13F-HR filings are reports that institutional investment managers are required to file with the U.S. Securities and Exchange Commission (SEC). These filings disclose the equity holdings of investment managers with assets under management (AUM) of at least $100 million. The primary goal of Form 13F is to provide transparency into the investment activities of large institutional investors, such as hedge funds, mutual funds, pension funds, and other asset managers.
Key Features of 13F-HR Filings
Who Files?
- Institutional investment managers (e.g., hedge funds, pension funds, mutual funds, etc.) that manage at least $100 million in securities.
- These filings include all securities over which the manager exercises investment discretion.
Frequency of Filing
- Quarterly: 13F filings must be submitted within 45 days after the end of each calendar quarter (i.e., mid-February, mid-May, mid-August, and mid-November).
- The data typically reflects holdings as of the last day of the previous quarter.
What is Disclosed?
Form 13F-HR discloses equity positions in U.S.-traded securities, including:
- Stocks
- Convertible bonds
- American depositary receipts (ADRs)
- Options (on stocks)
- Exchange-traded funds (ETFs)
It typically excludes non-equity assets like short positions, futures, or foreign securities, unless they are U.S.-listed ADRs.
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.request_filing_cik(2023,4,1000275,"13F-HR","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"ROYAL BANK OF CANADA","13F-HR","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"RY","13F-HR","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
import ezsec as ez
import json
result = ez.request_processed(2023,4,1000275,"13F-HR","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000275,
filing_type: '13F-HR'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "ROYAL BANK OF CANADA",
filing_type: '13F-HR'
});
fetch('https://api.ezsec-api.com/filing/api/company_name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "RY",
filing_type: '13F-HR'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000275,
filing_type: '13F-HR'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/processed/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000275" \
--data-urlencode "filing_type=13F-HR")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name="ROYAL BANK OF CANADA" \
--data-urlencode "filing_type=13F-HR")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=RY" \
--data-urlencode "filing_type=13F-HR")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/processed/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000275" \
--data-urlencode "filing_type=13F-HR")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/type";
// Parameters
String cik = 1000275;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/company_name/retrieve/type";
// Parameters
String companyName = URLEncoder.encode("ROYAL BANK OF CANADA", StandardCharsets.UTF_8).replace("+", "%20") ;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, companyName, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type";
// Parameters
String ticker = URLEncoder.encode("RY", StandardCharsets.UTF_8).replace("+", "%20") ;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, ticker, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class EZSEC {
public static void main(String[] args) throws Exception {
String url = "https://api.ezsec-api.com/filing/api/retrieve/processedtype";
// Parameters
String cik = 1000275;
String filingType = URLEncoder.encode("10-Q", StandardCharsets.UTF_8).replace("+", "%20");
int year = 2023;
int qtr = 4;
String token = "insert your token"; // Replace with actual token
// Encode parameters
String fullUrl = String.format("%s?year=%d&qtr=%d&name=%s&filing_type=%s",
url, year, qtr, cik, filingType);
System.out.println("Requesting URL: " + fullUrl);
// Create HttpClient
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(fullUrl))
.header("Authorization", "Bearer " + token)
.header("User-Agent", "Mozilla/5.0")
.GET()
.build();
// Send request and receive response
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Print response
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response: " + response.body());
}
}
Other Filings
EzSEC API offers endpoint for all filng types listed on the U.S. Securities and Exchange Commissions database. Find more information about specific filing types at the U.S. Securities and Exchange Commissions forms page.
Key Features of General Filing Types
Requests
- In the following documentation any instance of '{other}' is a placeholder for the actual name of a filing, such as "10-Q" or "4". For more information on form types visit the U.S. Securities and Exchange Commissions forms page.
- All other filng request will return the filing in its raw format. (as it appears from the U.S. Securities and Exchange Commissions)
Processing
- Currently filing types listed in the left navigation bar are the only processed filings.
- All other filng request will return the filing in its raw format. (as it appears from the U.S. Securities and Exchange Commissions)
Frequency of updates
- All filings submitted to the U.S. Securities and Exchange Commissions database will be available for request the following morning.
- EzSEC's database is updated with the most recent filings starting at 12am Centeral Time
How to request the Filing (Python)
import ezsec as ez
import json
result = ez.request_filing_cik(2023,4,1000275,"{other}","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
import ezsec as ez
import json
result = ez.request_filing_company(2023,4,"ROYAL BANK OF CANADA","{other}","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
import ezsec as ez
import json
result = ez.request_filing_ticker(2023,4,"RY","{other}","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
import ezsec as ez
import json
result = ez.request_processed(2023,4,1000275,"{other}","your-api-token")
data = result.json()
print(f"content: {data[0]['content']}")
How to request the Filing (JavaScript)
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000275,
filing_type: '{other}'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
name: "ROYAL BANK OF CANADA",
filing_type: '{other}'
});
fetch('https://api.ezsec-api.com/filing/api/company_name/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
ticker: "RY",
filing_type: '{other}'
});
fetch('https://api.ezsec-api.com/filing/api/ticker/retrieve/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
const headers = {
'Authorization': 'insert your token',
'Content-Type': 'application/json'
};
const params = new URLSearchParams({
year: 2023,
qtr: 4,
cik: 1000275,
filing_type: '{other}'
});
fetch('https://api.ezsec-api.com/filing/api/retrieve/processed/type?' + params.toString(), {
method: 'GET',
headers: headers
})
.then(response => response.json())
.then(data => {
console.log(`content: ${data[0].content}`);
})
.catch(error => console.error('Error:', error));
How to request the Filing (Bash)
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000275" \
--data-urlencode "filing_type={other}")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/company_name/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "name="ROYAL BANK OF CANADA" \
--data-urlencode "filing_type={other}")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/ticker/retrieve/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "ticker=RY" \
--data-urlencode "filing_type=other")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
#!/bin/bash
API_URL="https://api.ezsec-api.com/filing/api/retrieve/processed/type"
AUTH_TOKEN="insert your api token"
response=$(curl -k -s -G "$API_URL" \
-H "accept: application/json" \
-H "Authorization: $AUTH_TOKEN" \
--data-urlencode "year=2023" \
--data-urlencode "qtr=4" \
--data-urlencode "cik=1000275" \
--data-urlencode "filing_type={other}")
content=$(echo "$response" | jq -r '.[0].content')
echo "content: $content"
How to request the Filing (Java)
import java.io.*;
import java.net.*;
import javax.net.ssl.HttpsURLConnection;
public class FetchData {
public static void main(String[] args) {
try {
String urlString = "https://api.ezsec-api.com/filing/api/retrieve/type?year=2023&qtr=4&cik=1000275&filing_type={other}";
URL url = new URL(urlString);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "insert your api token");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
import javax.net.ssl.HttpsURLConnection;
public class FetchData {
public static void main(String[] args) {
try {
String urlString = "https://api.ezsec-api.com/filing/api/company_name/retrieve/type?year=2023&qtr=4&name=ROYAL%20BANK%20OF%20CANADA.&filing_type={other}";
URL url = new URL(urlString);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "insert your api token");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
import javax.net.ssl.HttpsURLConnection;
public class FetchData {
public static void main(String[] args) {
try {
String urlString = "https://api.ezsec-api.com/filing/api/ticker/retrieve/type?year=2023&qtr=4&ticker=RY&filing_type={other}";
URL url = new URL(urlString);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "insert your api token");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
import javax.net.ssl.HttpsURLConnection;
public class FetchData {
public static void main(String[] args) {
try {
String urlString = "https://api.ezsec-api.com/filing/api/retrieve/processed/type?year=2023&qtr=4&cik=1000275&filing_type={other}";
URL url = new URL(urlString);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "insert your api token");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}