FINANCIAL SERVICES

SEC EDGAR API for Filings

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.

EDGAR Filings Are Dense

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.

WebScraping.AI Solution

  • Filing Extraction: Parse 10-K, 10-Q, 8-K, and other SEC forms
  • AI Analysis: Extract specific data points using natural language
  • Key Metrics: Pull revenue, earnings, guidance, and risk factors
  • Structured Output: Clean JSON data for your financial models

Filing Data Points

Extract key information from SEC filings

Financial Metrics

Revenue, net income, EPS, margins, and year-over-year changes.

Risk Factors

New risks, changed disclosures, and material concerns.

Executive Changes

Leadership changes, compensation, and insider transactions.

Guidance

Forward guidance, outlook statements, and projections.

Code Examples

Extract SEC filing data

Extract key data from a 10-K filing
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"}]
// }
Analyze an 8-K for material events
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);

Why Use WebScraping.AI

AI Extraction: Ask for specific data points in natural language.
Any Filing Type: 10-K, 10-Q, 8-K, S-1, proxy statements, and more.
Structured Data: Clean JSON output for financial models.
Scale: Monitor filings across your entire watchlist.
Analysis: Get AI summaries and insights from complex filings.

Filing Monitoring Use Cases

Investment Research

Extract financials for fundamental analysis

Risk Monitoring

Track risk factor changes across portfolio

Event Detection

Monitor 8-Ks for material events

Compliance

Track regulatory disclosures and changes

Related Use Cases

More financial data solutions

Start Monitoring SEC Filings

Get started with 1,000 free API credits. No credit card required.

Icon