Browse all documentation

Company Search API

Find a covered SEC issuer by company name, ticker, or ten-digit CIK.

Endpoint and request

SEC API access is not open yet.

REST endpoint
GET /v1/companies
Request
curl --request GET \
  --url "https://api.narwhalapi.com/v1/companies?query=AAPL&limit=20" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"

MCP uses companies_search with the corresponding arguments below. REST and MCP return the same response schema and share quota accounting.

Parameters

NameRequiredTypeMeaning
queryYesquery · string, 1–200 charactersCompany name, ticker, or ten-digit CIK. Name and ticker matching is case-insensitive.
limitNoquery · integer, 1–100Maximum companies to return. Defaults to 20.
cursorNoquery · opaque stringContinuation token from the previous page. It is bound to the original query and filters.

Response

Response
{
  "query": "AAPL",
  "companies": [
    {
      "id": "cmp_a1b2c3d4e5f678901234567890abcdef",
      "name": "Apple Inc.",
      "cik": "0000320193",
      "listings": [
        {
          "ticker": "AAPL",
          "exchange": "Nasdaq"
        }
      ]
    }
  ],
  "next_cursor": null,
  "as_of": "2026-08-29T12:00:00Z"
}
FieldTypeRequiredMeaning
querystringYesThe normalized search text.
companiesarrayYesStable company identities with CIK and current listing aliases.
next_cursorstring or nullYesOpaque continuation token, or null when the page is complete.
as_ofUTC timestampYesSnapshot time shared by every result in the page.

Errors and quota

  • 400 invalid_query — a query, date, form, limit, or cursor is invalid.
  • 401 invalid_api_key — the Bearer key is missing or rejected.
  • 429 rate_limit_exceeded or quota_exhausted — the shared short-window or monthly allowance is exhausted.
  • 503 companies_unavailable — Companies is disabled, rights are inactive, or no complete accepted publication can be served.

Authentication failures and rejected throttled requests do not consume monthly quota. Successful REST and MCP calls use the same account allowance.

First-release scope

The launch cohort is derived from the accepted SEC ticker-and-CIK association snapshot. A returned ticker is an alias, not proof of an active listing.

Public issuer count, historical boundary, and freshness are not published yet.