Extract financial data from SEC EDGAR filings on demand. Pull revenue, earnings, guidance, and risk factors from 10-K, 10-Q, 8-K, and other forms as structured JSON.
SEC filings on EDGAR hold the numbers that matter - revenue, earnings, risk factors, executive compensation, and material events - buried in long HTML documents. Reading them by hand across a watchlist doesn't scale.
A SEC EDGAR API lets you point at a filing URL and pull the exact data points you need as soon as the document is published.
Extract key information from SEC filings
Revenue, net income, EPS, margins, and year-over-year changes.
New risks, changed disclosures, and material concerns.
Leadership changes, compensation, and insider transactions.
Forward guidance, outlook statements, and projections.
Extract SEC filing data
curl -G "https://api.webscraping.ai/ai/fields" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://sec.gov/Archives/edgar/data/company/10-K.htm" \
--data-urlencode "fields[company_name]=Company name" \
--data-urlencode "fields[fiscal_year]=Fiscal year covered" \
--data-urlencode "fields[total_revenue]=Total revenue for the year" \
--data-urlencode "fields[net_income]=Net income" \
--data-urlencode "fields[eps]=Earnings per share (basic and diluted)" \
--data-urlencode "fields[total_assets]=Total assets" \
--data-urlencode "fields[total_liabilities]=Total liabilities" \
--data-urlencode "fields[cash_position]=Cash and cash equivalents" \
--data-urlencode "fields[revenue_growth]=Year-over-year revenue growth percentage" \
--data-urlencode "fields[key_risks]=Top 3 risk factors mentioned" \
--data-urlencode "fields[business_segments]=Revenue breakdown by segment if available"
# Response:
# {
# "company_name": "Tech Corporation Inc.",
# "fiscal_year": "2025",
# "total_revenue": "$45.2 billion",
# "net_income": "$8.1 billion",
# "eps": {"basic": "$12.45", "diluted": "$12.32"},
# "total_assets": "$98.5 billion",
# "total_liabilities": "$42.3 billion",
# "cash_position": "$18.7 billion",
# "revenue_growth": "15.3%",
# "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
# "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
# }
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
result = client.fields(
"https://sec.gov/Archives/edgar/data/company/10-K.htm",
fields={
"company_name": "Company name",
"fiscal_year": "Fiscal year covered",
"total_revenue": "Total revenue for the year",
"net_income": "Net income",
"eps": "Earnings per share (basic and diluted)",
"total_assets": "Total assets",
"total_liabilities": "Total liabilities",
"cash_position": "Cash and cash equivalents",
"revenue_growth": "Year-over-year revenue growth percentage",
"key_risks": "Top 3 risk factors mentioned",
"business_segments": "Revenue breakdown by segment if available",
},
)
print(result)
# Response:
# {
# "company_name": "Tech Corporation Inc.",
# "fiscal_year": "2025",
# "total_revenue": "$45.2 billion",
# "net_income": "$8.1 billion",
# "eps": {"basic": "$12.45", "diluted": "$12.32"},
# "total_assets": "$98.5 billion",
# "total_liabilities": "$42.3 billion",
# "cash_position": "$18.7 billion",
# "revenue_growth": "15.3%",
# "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
# "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
# }
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const result = await client.fields({
url: 'https://sec.gov/Archives/edgar/data/company/10-K.htm',
fields: {
company_name: 'Company name',
fiscal_year: 'Fiscal year covered',
total_revenue: 'Total revenue for the year',
net_income: 'Net income',
eps: 'Earnings per share (basic and diluted)',
total_assets: 'Total assets',
total_liabilities: 'Total liabilities',
cash_position: 'Cash and cash equivalents',
revenue_growth: 'Year-over-year revenue growth percentage',
key_risks: 'Top 3 risk factors mentioned',
business_segments: 'Revenue breakdown by segment if available',
},
});
console.log(result);
// Response:
// {
// "company_name": "Tech Corporation Inc.",
// "fiscal_year": "2025",
// "total_revenue": "$45.2 billion",
// "net_income": "$8.1 billion",
// "eps": {"basic": "$12.45", "diluted": "$12.32"},
// "total_assets": "$98.5 billion",
// "total_liabilities": "$42.3 billion",
// "cash_position": "$18.7 billion",
// "revenue_growth": "15.3%",
// "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
// "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
// }
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$result = $client->fields('https://sec.gov/Archives/edgar/data/company/10-K.htm', [
'company_name' => 'Company name',
'fiscal_year' => 'Fiscal year covered',
'total_revenue' => 'Total revenue for the year',
'net_income' => 'Net income',
'eps' => 'Earnings per share (basic and diluted)',
'total_assets' => 'Total assets',
'total_liabilities' => 'Total liabilities',
'cash_position' => 'Cash and cash equivalents',
'revenue_growth' => 'Year-over-year revenue growth percentage',
'key_risks' => 'Top 3 risk factors mentioned',
'business_segments' => 'Revenue breakdown by segment if available',
]);
print_r($result);
// Response:
// {
// "company_name": "Tech Corporation Inc.",
// "fiscal_year": "2025",
// "total_revenue": "$45.2 billion",
// "net_income": "$8.1 billion",
// "eps": {"basic": "$12.45", "diluted": "$12.32"},
// "total_assets": "$98.5 billion",
// "total_liabilities": "$42.3 billion",
// "cash_position": "$18.7 billion",
// "revenue_growth": "15.3%",
// "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
// "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
// }
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
result = client.fields(
'https://sec.gov/Archives/edgar/data/company/10-K.htm',
fields: {
company_name: 'Company name',
fiscal_year: 'Fiscal year covered',
total_revenue: 'Total revenue for the year',
net_income: 'Net income',
eps: 'Earnings per share (basic and diluted)',
total_assets: 'Total assets',
total_liabilities: 'Total liabilities',
cash_position: 'Cash and cash equivalents',
revenue_growth: 'Year-over-year revenue growth percentage',
key_risks: 'Top 3 risk factors mentioned',
business_segments: 'Revenue breakdown by segment if available',
}
)
puts result.inspect
# Response:
# {
# "company_name": "Tech Corporation Inc.",
# "fiscal_year": "2025",
# "total_revenue": "$45.2 billion",
# "net_income": "$8.1 billion",
# "eps": {"basic": "$12.45", "diluted": "$12.32"},
# "total_assets": "$98.5 billion",
# "total_liabilities": "$42.3 billion",
# "cash_position": "$18.7 billion",
# "revenue_growth": "15.3%",
# "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
# "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
# }
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
result, _ := client.Fields(context.Background(), &webscrapingai.FieldsOptions{
URL: "https://sec.gov/Archives/edgar/data/company/10-K.htm",
Fields: map[string]string{
"company_name": "Company name",
"fiscal_year": "Fiscal year covered",
"total_revenue": "Total revenue for the year",
"net_income": "Net income",
"eps": "Earnings per share (basic and diluted)",
"total_assets": "Total assets",
"total_liabilities": "Total liabilities",
"cash_position": "Cash and cash equivalents",
"revenue_growth": "Year-over-year revenue growth percentage",
"key_risks": "Top 3 risk factors mentioned",
"business_segments": "Revenue breakdown by segment if available",
},
})
fmt.Println(result.Result)
}
// Response:
// {
// "company_name": "Tech Corporation Inc.",
// "fiscal_year": "2025",
// "total_revenue": "$45.2 billion",
// "net_income": "$8.1 billion",
// "eps": {"basic": "$12.45", "diluted": "$12.32"},
// "total_assets": "$98.5 billion",
// "total_liabilities": "$42.3 billion",
// "cash_position": "$18.7 billion",
// "revenue_growth": "15.3%",
// "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
// "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
// }
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.FieldsOptions;
import ai.webscraping.result.FieldsResult;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
FieldsResult result = client.fields(FieldsOptions.builder()
.url("https://sec.gov/Archives/edgar/data/company/10-K.htm")
.addField("company_name", "Company name")
.addField("fiscal_year", "Fiscal year covered")
.addField("total_revenue", "Total revenue for the year")
.addField("net_income", "Net income")
.addField("eps", "Earnings per share (basic and diluted)")
.addField("total_assets", "Total assets")
.addField("total_liabilities", "Total liabilities")
.addField("cash_position", "Cash and cash equivalents")
.addField("revenue_growth", "Year-over-year revenue growth percentage")
.addField("key_risks", "Top 3 risk factors mentioned")
.addField("business_segments", "Revenue breakdown by segment if available")
.build());
System.out.println(result.getResult());
// Response:
// {
// "company_name": "Tech Corporation Inc.",
// "fiscal_year": "2025",
// "total_revenue": "$45.2 billion",
// "net_income": "$8.1 billion",
// "eps": {"basic": "$12.45", "diluted": "$12.32"},
// "total_assets": "$98.5 billion",
// "total_liabilities": "$42.3 billion",
// "cash_position": "$18.7 billion",
// "revenue_growth": "15.3%",
// "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
// "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
// }
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var result = await client.FieldsAsync(new FieldsRequest {
Url = "https://sec.gov/Archives/edgar/data/company/10-K.htm",
Fields = new Dictionary<string, string> {
["company_name"] = "Company name",
["fiscal_year"] = "Fiscal year covered",
["total_revenue"] = "Total revenue for the year",
["net_income"] = "Net income",
["eps"] = "Earnings per share (basic and diluted)",
["total_assets"] = "Total assets",
["total_liabilities"] = "Total liabilities",
["cash_position"] = "Cash and cash equivalents",
["revenue_growth"] = "Year-over-year revenue growth percentage",
["key_risks"] = "Top 3 risk factors mentioned",
["business_segments"] = "Revenue breakdown by segment if available",
},
});
Console.WriteLine(result.Result);
// Response:
// {
// "company_name": "Tech Corporation Inc.",
// "fiscal_year": "2025",
// "total_revenue": "$45.2 billion",
// "net_income": "$8.1 billion",
// "eps": {"basic": "$12.45", "diluted": "$12.32"},
// "total_assets": "$98.5 billion",
// "total_liabilities": "$42.3 billion",
// "cash_position": "$18.7 billion",
// "revenue_growth": "15.3%",
// "key_risks": ["Supply chain disruption", "Regulatory changes", "Competition"],
// "business_segments": [{"name": "Cloud", "revenue": "$22B"}]
// }
curl -G "https://api.webscraping.ai/ai/question" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://sec.gov/Archives/edgar/data/company/8-K.htm" \
--data-urlencode "question=What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?"
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
answer = client.question(
"https://sec.gov/Archives/edgar/data/company/8-K.htm",
question="What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?",
)
print(answer)
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const answer = await client.question({
url: 'https://sec.gov/Archives/edgar/data/company/8-K.htm',
question: 'What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?',
});
console.log(answer);
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$answer = $client->question(
'https://sec.gov/Archives/edgar/data/company/8-K.htm',
'What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?',
);
echo $answer;
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
answer = client.question(
'https://sec.gov/Archives/edgar/data/company/8-K.htm',
question: 'What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?'
)
puts answer
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
answer, _ := client.Question(context.Background(), &webscrapingai.QuestionOptions{
URL: "https://sec.gov/Archives/edgar/data/company/8-K.htm",
Question: "What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?",
})
fmt.Println(answer)
}
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.QuestionOptions;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
String answer = client.question(QuestionOptions.builder()
.url("https://sec.gov/Archives/edgar/data/company/8-K.htm")
.question("What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?")
.build());
System.out.println(answer);
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var answer = await client.QuestionAsync(new QuestionRequest {
Url = "https://sec.gov/Archives/edgar/data/company/8-K.htm",
Question = "What material event is being disclosed? What is the financial impact? Is this positive or negative for shareholders?",
});
Console.WriteLine(answer);
Extract financials for fundamental analysis
Track risk factor changes across portfolio
Monitor 8-Ks for material events
Track regulatory disclosures and changes
More financial data solutions
Get started with 1,000 free API credits. No credit card required.