Skip to main content

Go SDK

Use the official SEC API Go SDK from backend services, workers, and command-line tools.

Install

go get github.com/secapi-ai/secapi-go@v0.2.1

First useful path

1

Set the key

Export SECAPI_API_KEY.
2

Install the SDK

Add github.com/secapi-ai/secapi-go to your module.
3

Verify one entity call

Confirm auth and connectivity before adding broader API coverage.
4

Move to a filing or ownership workflow

The value is in real investor tasks, not just a single ping.

Example

package main

import (
	"fmt"
	"os"

	secapi "github.com/secapi-ai/secapi-go"
)

func main() {
	client := secapi.NewClient(os.Getenv("SECAPI_API_KEY"))

	entity, err := client.ResolveEntity(map[string]string{"ticker": "AAPL"})
	if err != nil {
		panic(err)
	}

	fmt.Println(entity["name"])
}
The SDK preserves the SEC API response payloads as maps so request IDs, freshness, provenance, and trace metadata remain visible.

Filing workflow

filing, err := client.LatestFiling(map[string]string{
	"ticker": "AAPL",
	"form": "10-K",
})
if err != nil {
	panic(err)
}

fmt.Println(filing["title"], filing["filingDate"])

Dilution intelligence

ratings, err := client.DilutionRatings(map[string]string{
	"overall_risk": "high",
	"limit": "10",
})
if err != nil {
	panic(err)
}

events, err := client.DilutionEvents(map[string]string{
	"ticker": "AAPL",
	"limit": "3",
})
if err != nil {
	panic(err)
}

fmt.Println(ratings["object"], events["object"])
The full dilution API is available under /v1/dilution/*. Pass view=agent in list-call query params, except /v1/dilution/coverage, for the compact agent-mode shape.

Copy this SEC API prompt for your agent.

Smoke path

go test ./...
go list -m github.com/secapi-ai/secapi-go

API Reference

Check the endpoint behavior behind the Go helpers.

Operations

Use the release verification and readiness checks before shipping a backend integration.