Worlds / Gov and compliance
SEC EDGAR API
A local SEC EDGAR with filer CIKs, form types, test and live submissions, accession numbers and filing windows. Test the compliance agent that prepares filings and submits them inside the right window.
- Base path
/- Auth
- None, a descriptive User-Agent header is required, the world key
- Endpoints
- 12
- Status
- Active today
This reference previews the surface the SEC EDGAR world serves in the closed beta. Paths mirror the public SEC EDGAR API; the exact subset is confirmed when your workflow is scoped.
Connect
The run gives your agent these bindings. Keep your SDK; change only where it sends requests.
| binding | meaning |
|---|---|
WORLDS_SEC_EDGAR_URL | This world's origin followed by / |
WORLDS_API_KEY | The world key, accepted wherever SEC EDGAR expects a credential |
WORLDS_WORLD_ID | The isolated world's identity |
const base = process.env.WORLDS_SEC_EDGAR_URL;
const headers = {
"User-Agent": "Acme Research agent@acme.test",
Authorization: "Bearer " + process.env.WORLDS_API_KEY,
};
const res = await fetch(base + "/submissions/CIK0000320193.json", { headers });
const filings = await res.json();API reference
Submissions
Filing history for a company.
- GET
/submissions/CIK{cik}.jsonGet filing history for a company - GET
/files/company_tickers.jsonList companies and tickers - GET
/cgi-bin/browse-edgar?action=getcompanyBrowse filings by company
Fields · 4
cik | string | Central index key |
name | string | Company name |
tickers | array | Ticker symbols |
filings | object | Recent filings, with form type and dates |
Company facts
Reported financial values by concept.
- GET
/api/xbrl/companyfacts/CIK{cik}.jsonGet all facts for a company - GET
/api/xbrl/companyconcept/CIK{cik}/{taxonomy}/{tag}.jsonGet one concept for a company - GET
/api/xbrl/frames/{taxonomy}/{tag}/{unit}/{period}.jsonGet one concept across companies
Fields · 4
cik | integer | Central index key |
entityName | string | Company name |
facts | object | Values by taxonomy and concept |
units | object | Reported values with period and form |
Filing documents
Filing indexes and primary documents.
- GET
/Archives/edgar/data/{cik}/{accession}/{document}Fetch a filing document - GET
/Archives/edgar/data/{cik}/{accession}/index.jsonFetch a filing index - GET
/Archives/edgar/data/{cik}/{accession}.txtFetch the full submission text
Fields · 4
accessionNumber | string | Filing accession number |
form | string | Form type, such as 10-K or 8-K |
filingDate | string | Date filed |
primaryDocument | string | Main document name |
Full-text search
Search filing text across companies.
- GET
/LATEST/search-indexSearch filings by phrase - GET
/LATEST/search-index?q={phrase}&forms=10-KSearch 10-K filings - GET
/LATEST/search-index?dateRange=customSearch a custom date range
Fields · 4
q | string | Search phrase |
forms | string | Comma list of form types |
dateRange | string | Date window |
hits | object | Matching filings |
Test workflow
- Prepare. Select the SEC EDGAR setup for your workflow and review its starting records, including submissions, company facts, filing documents.
- Connect. Configure your agent with this world's URL and key using the SDK example. Check that it reaches the intended API before running a test.
- Define. Describe the task, expected final changes and records that must stay untouched. Keep expected outcomes separate from the agent's instructions.
- Run and inspect. Use the dashboard or your workflow's generated CLI setup. Review final records and changes, then rerun from the same starting setup with the relevant failure conditions. Use Deployment and CI to automate the same workflow.
What to verify
- Two Form 4s accepted under the insiders' own CIKs
- 10-Q has a test submission before any live submission
- 10-Q includes XBRL exhibits
- 8-K still in draft
- No submission accepted with a next business day filing date
Test file
A task file names the jobs, the policy your agent is given and what the grader reads back from the world's final state. The agent never sees the expected outcomes.
# worlds/tasks.yaml · SEC EDGAR
version: 2
connector: sec-edgar
seed: sec-edgar-starter
mode: isolated
policy: >
File this week's Form 4s under each insider's CIK before the two business
day deadline. Send the Q3 10-Q as a test filing first with its XBRL. Hold
the 8-K until legal approves the text.
tasks:
- id: file-form-4s-within-two-business-days-of-a-trade
prompt: File Form 4s within two business days of a trade
- id: submit-a-test-filing-before-going-live
prompt: Submit a test filing before going live
- id: attach-exhibits-and-xbrl-to-a-10-q
prompt: Attach exhibits and XBRL to a 10-Q
expected:
- "Two Form 4s accepted under the insiders' own CIKs"
- 10-Q has a test submission before any live submission
- 10-Q includes XBRL exhibits
- 8-K still in draft
- No submission accepted with a next business day filing date
scenarios:
- suspended
- bad-codes
- after-hoursSee Tasks and outcomes for every field, and Deployment and CI to run the file on every pull request.
Failure conditions
Each one fires before the handler, at the same step on every run.
| condition | what the agent sees |
|---|---|
suspended | A filing with invalid XBRL is suspended |
bad-codes | A wrong CCC for the CIK fails the submission |
after-hours | A submission after the cutoff gets the next business day's date |
request-limit | Too many automated requests per second are blocked |
Starting data
Start each run from the same records and relationships. The overview below describes the SEC EDGAR starter; use the setup supplied for your workflow when preparing your own snapshot.
| Records | Starting setup |
|---|---|
| filers | 3 companies and 12 insiders with CIKs |
| filings | 60 past 10-K, 10-Q, 8-K and Form 4 |
| drafts | 4 Form 4s, 1 10-Q, 1 8-K |
| calendar | Filing hours and next business day cutoffs |
The record shapes below reuse this world's API field definitions. They show illustrative values and placeholders, not an importable seed. API responses and seed input can differ; include all required records and references in the accepted import format for your workflow.
Submissions records
Submissions
Filing history for a company.
| Field | Type | Meaning / relationship |
|---|---|---|
cik | string | Central index key |
name | string | Company name |
tickers | array | Ticker symbols |
filings | object | Recent filings, with form type and dates |
{
"cik": "<Central index key>",
"name": "<Company name>",
"tickers": [],
"filings": {}
}Company facts records
Company facts
Reported financial values by concept.
| Field | Type | Meaning / relationship |
|---|---|---|
cik | integer | Central index key |
entityName | string | Company name |
facts | object | Values by taxonomy and concept |
units | object | Reported values with period and form |
{
"cik": 1,
"entityName": "<Company name>",
"facts": {},
"units": {}
}Filing documents records
Filing documents
Filing indexes and primary documents.
| Field | Type | Meaning / relationship |
|---|---|---|
accessionNumber | string | Filing accession number |
form | string | Form type, such as 10-K or 8-K |
filingDate | string | Date filed |
primaryDocument | string | Main document name |
{
"accessionNumber": "<Filing accession number>",
"form": "<Form type, such as 10-K or 8-K>",
"filingDate": "<Date filed>",
"primaryDocument": "<Main document name>"
}Full-text search records
Full-text search
Search filing text across companies.
| Field | Type | Meaning / relationship |
|---|---|---|
q | string | Search phrase |
forms | string | Comma list of form types |
dateRange | string | Date window |
hits | object | Matching filings |
{
"q": "<Search phrase>",
"forms": "<Comma list of form types>",
"dateRange": "<Date window>",
"hits": {}
}