Skip to main content

arkleon

arkleon is the free client for Arkleon's point-in-time SEC fundamentals: filing-dated facts straight from EDGAR with no key, and an optional API client for the certified corpus (16,811 companies, 426,003 filings, 181,350,662 facts) with replayable as_of queries.

The free EDGAR core requires no account and no API key. The optional paid /v1 client and the corpus-backed point-in-time features are the only parts that need a key.

Install

pip install arkleon

Quickstart: free, no API key

The EDGAR helpers work on the first line of code with no Arkleon account and no key. The only string they require is an SEC fair-access User-Agent, which you write yourself.

from arkleon.edgar import EdgarClient

# SEC fair-access User-Agent: a self-declared contact string, NOT an Arkleon key.
edgar = EdgarClient(user_agent="Acme Research contact@acme.com")

# Fetch a company's 10-K filings by CIK (Apple = 320193):
for filing in edgar.filings(cik=320193, form="10-K"):
    print(filing.filed, filing.accession, filing.form)

# Parse as-reported numeric facts, filtered best-effort to a date:
assets = edgar.concept(cik=320193, tag="Assets", taxonomy="us-gaap")
for fact in assets.as_of("2020-01-01"):        # keep only filed <= 2020-01-01
    print(fact.period_end, fact.value, fact.unit, fact.filed)

No account, no key, no Arkleon network. Live-EDGAR, best-effort point-in-time.

Quickstart: optional paid /v1 client (certified point-in-time)

# pip install "arkleon[api]"
from arkleon.api import DataClient

client = DataClient(api_key="ak_...")          # or ARKLEON_API_KEY env
page = client.facts(cik=320193, tag="Assets", as_of="2020-01-01")
for fact in page.data:
    print(fact["period_end"], fact["value"], fact.get("source_url"))

Certified corpus. as_of required, filters on filing date, identical query + as_of returns identical data permanently.

The free/paid boundary

The arkleon.edgar helpers never require a key and never contact Arkleon: their only remote hosts are data.sec.gov and www.sec.gov. Only the arkleon[api] client and the corpus-backed point-in-time features call Arkleon, and they refuse to operate without an ak_-prefixed key. Installing arkleon[api] does not by itself activate the paid path; a key must still be supplied at runtime.

MCP server

Install the server extra and launch the stdio server with the console script:

pip install "arkleon[mcp]"
arkleon-mcp

An agent host launches it the same way. Set ARKLEON_API_KEY in the launch environment to unlock the paid tools:

{
  "mcpServers": {
    "arkleon": {
      "command": "arkleon-mcp",
      "env": { "ARKLEON_API_KEY": "ak_..." }
    }
  }
}

The free EDGAR tools register unconditionally; the paid tools register only when an ak_ key is present. An agent with no key sees exactly the free set.

Tool Backed by Key required?
edgar_list_filings free EDGAR core No
edgar_company_facts free EDGAR core No
edgar_concept free EDGAR core No
edgar_facts_as_of (best-effort, live EDGAR) free EDGAR core No
edgar_resolve_cik (current-snapshot, non-point-in-time) free EDGAR core No
pit_facts (certified point-in-time) paid /v1 client Yes
pit_filings paid /v1 client Yes
resolve_company paid /v1 client Yes
pit_revision_history paid /v1 client Yes

Registry: The server is described by server.json at the repository root for the official MCP registry under the name io.github.jushuea/arkleon. It launches over stdio as arkleon-mcp; the free EDGAR tools register unconditionally and the paid tools only when an ak_ key is present. Install with pip install "arkleon[mcp]".

What it returns, and what it does not

Returns: as-reported numeric XBRL facts, filing and company metadata, and the lineage linking each figure to its source filing.

Does not return: market prices, analyst estimates, narrative disclosure (MD&A, risk factors, footnotes), or derived analytics, ratios, scores, or signals. Neither layer serves these. It is a research corpus, not a real-time filing feed: the paid corpus refreshes on the SEC's quarterly cadence.

Point-in-time, in two sentences

as_of filters on the filing date (filed <= as_of), never on the period a fact describes, so a query sees only values that were already public on that date. Because a fact from a later filing never appears, a historical query cannot observe information that did not yet exist, which is what keeps a study free of look-ahead bias.

The certified corpus (paid)

The paid /v1 client serves the certified corpus. Per the /v1 API contract at https://arkleon.com/docs, which is the sole authority for what any surface may state, the claimable figures are:

Quantity Figure Kind
Filings 426,003 EXACT
Facts 181,350,662 EXACT
Distinct companies (CIK) 16,811 EXACT
Quarters spanned 69 (2009q1–2026q1) exact
Quarters populated 68 exact

The EXACT/exact label travels with each number and is not presentational. These figures are keyed to the date each filing became public, include values that later filings revised, and trace to their source filing. The earliest filed date in the corpus is 2009-04-15, so a query with an as_of earlier than that date correctly returns empty. Treat the contract's Appendix A, not this table, as the authority: a later corpus revision updates the contract, and any figure that disagrees with it is stale.

Identifiers

CIK is the addressable identifier across both layers. In the free layer, resolve_cik(ticker) maps a symbol to a CIK from SEC's current ticker snapshot; it is a convenience, not a reproducible identity resolver, because it has no ticker history, a symbol is reassigned over time, and one CIK carries several symbols at once (GOOG and GOOGL, BRK.A and BRK.B). The /v1 API does not serve the ticker filter today: a ticker request returns a distinct "not served in this release" error rather than silently resolving through the free snapshot. Address facts by CIK.

Install matrix

Install Adds
arkleon The free EDGAR fetch/parse core. No key, no Arkleon network.
arkleon[api] The optional paid /v1 DataClient. Requires an ak_ key at runtime.
arkleon[mcp] The built-in MCP server and the arkleon-mcp console script.
arkleon[pandas] Optional pandas DataFrame adapters for the free core. Never required.
arkleon[all] Convenience union of api, mcp, and pandas.

Base plus [pandas] stays fully free and credential-free. [api] and the paid tools in [mcp] are the only parts that consume an ak_ key.

License

MIT. See LICENSE.

Links

Release files for arkleon 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arkleon 0.1.3
File Size Uploaded
arkleon-0.1.3.tar.gz 23.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arkleon 0.1.3
File Interpreter ABI Platform
arkleon-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 54.7 kB

Release files / arkleon-0.1.3.tar.gz

Download URL arkleon-0.1.3.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
21418a9d659612e28778cec094584dad3019338359b9562b80d965bc0dc708f0
BLAKE2b-256 checksum
How to use checksums
cfe7b8b76bdf5207ca84d40fde46f3c9d8962e52e7be99e89b06f6aad50a3246
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / arkleon-0.1.3-py3-none-any.whl

Download URL arkleon-0.1.3-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41a6e6e1b566181c4a44ce343917804015b32676d20790954b338283a805ca1a
BLAKE2b-256 checksum
How to use checksums
a7d5a25cee976533cf5d169c5a789091f1773834f38a1dd6ad5c0b4f4dd1c3dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page