How to read the results
- Suggestions ranked by how the text reads against each code's wording. No language model decides.
- A company has a set of codes, not one: you keep up to 5.
- Other systems are found by similarity to the codes you keep. It is not an official correspondence: check it.
- Similarity numbers run low (0.25 to 0.45 is typical). Compare codes with each other, not with the other tabs.
- Old history in the text can pull in irrelevant codes: switch those segments off in step 2. English only.
Segments switch off what is not business
About company_dns
The company_dns acts as a "domain name service" for company information, providing structured access to firmographic data from multiple sources. This tool allows you to:
-
By keyword, semantic or fused (Combined) match, all spanning every registered classification system (US SIC, Japan SIC, EU NACE, ISIC) - semantic and Combined are V4.0-only capabilitiesSearch industry codes
-
From Wikipedia and EDGARRetrieve company information
-
Through a consistent RESTful APIAccess standardized data
-
Japan SIC, EU NACE and International (ISIC Rev. 4) have landed; UK SIC is not plannedExpand to international standards
Deployment Options
Self-Hosted
Running as your own instance, perhaps in Docker
http://localhost:8000
What is company_dns?
The company_dns integrates data from multiple sources to provide comprehensive firmographic information about companies. Currently, it combines:
Industry Classifications
- US SIC (Standard Industry Classification) - implemented
- Japan SIC - implemented
- EU NACE - implemented
- International (ISIC Rev. 4) - implemented
- UK SIC - not planned
Company Data
- Wikipedia - General company information
- EDGAR - SEC filings and financial data
- Merged sources - Combined firmographic data
API Versions
company_dns V4 serves one real namespace, plus compatibility aliases for existing V3 integrations: the full V3.0 set, and V3's limited legacy V2.0 set:
The real namespace this server implements:
/V4.0/na/sic/...- US SIC lookups (description, code, division, industry, major)/V4.0/eu/sic/...,/V4.0/international/sic/...,/V4.0/japan/sic/...- EU NACE, ISIC and Japan SIC lookups by section, division, group or class code (Japan: division, major_group, group, industry_group) and by description/V4.0/global/sic/description/...- keyword SIC search across every registered classification system (US SIC, Japan SIC, EU NACE, ISIC)/V4.0/na/sic/similarity/...- semantic SIC search (V4.0-only, no V3 equivalent)/V4.0/global/sic/similarity/...- semantic SIC search across every registered classification system (V4.0-only, no V3 equivalent)/V4.0/global/sic/hybrid/...- fused keyword + semantic SIC search (Reciprocal Rank Fusion) across every registered classification system (V4.0-only)/V4.0/global/sic/match,/V4.0/global/sic/map- Industry Match: a company description in, a short recommended set of industry codes out, and carrying a chosen set into other systems (V4.0-only)/V4.0/na/companies/edgar/...,/V4.0/na/company/edgar/firmographics/...- EDGAR/V4.0/global/company/wikipedia/firmographics/...,/V4.0/global/company/merged/firmographics/...- Wikipedia/mergedPOST /V4.0/sql- experimental read-only SQL over the SIC and EDGAR data. Off unless the operator enables it, and it needs a credential; see the API reference
The V3 endpoints, served at their old URLs and answered in V3's exact response shape (a dictionary keyed by code, with a total), for existing V3 integrations:
/V3.0/na/sic/...- US SIC (description, code, division, industry, major)/V3.0/eu/sic/...,/V3.0/international/sic/...,/V3.0/japan/sic/...- the single-system per-country lookups (section/division/group/class, or for Japan division/major_group/group/industry_group, and description)/V3.0/global/sic/description/...- keyword search across every registered classification system (semantic and hybrid search are V4.0-only)/V3.0/na/companies/edgar/...,/V3.0/na/company/edgar/firmographics/...- EDGAR/V3.0/global/company/wikipedia/firmographics/...,/V3.0/global/company/merged/firmographics/..., and the explicit.../v2/firmographics/...forms of both (the same as the default) - Wikipedia/merged
V3's limited legacy set, with no regional prefix (US and global only), answered exactly as the /V3.0/ twin of each path:
/V2.0/sic/description/...,/V2.0/sic/code/...,/V2.0/sic/division/...,/V2.0/sic/industry/...,/V2.0/sic/major/...- US SIC/V2.0/companies/edgar/detail/...,/V2.0/companies/edgar/summary/...,/V2.0/companies/edgar/ciks/...,/V2.0/company/edgar/firmographics/...- EDGAR/V2.0/company/wikipedia/firmographics/...,/V2.0/company/merged/firmographics/...- Wikipedia/merged
Eleven paths in all. They exist for old integrations; new work should use V4.0.
Not carried forward: V3's UK SIC endpoints (/V3.0/uk/...) and its legacy wptools /v1/ Wikipedia and merged paths.
API Documentation
Interactive API Explorer
The most comprehensive way to explore and test the API is through our interactive API Reference page, which provides real-time request/response testing, automatic schema validation, and detailed documentation.
Why Use the API Reference?
- Live Testing: Try requests directly without writing code
- Schema Validation: See request/response models in detail
- Documentation: Full endpoint descriptions and parameter explanations
- Request History: Keep track of recent API calls
- OpenAPI Standard: Industry-standard REST API interface
Response Format
All endpoints return JSON responses with a consistent envelope:
{
"code": 200, // HTTP status code, duplicated in the body
"message": "3 SIC matches", // Human-readable status message
"module": "SicCatalog->find_by_description", // Which internal call produced this
"data": [ /* ... */ ], // Endpoint-specific payload - shape varies per endpoint,
// not always an array
"dependencies": {
"modules": {
"company_dns_v4": "https://github.com/miha42-github/company_dns"
}
}
}
API Versions
Endpoints are served under /V4.0/..., with every path also aliased at /V3.0/... for backward compatibility. See the Overview tab for the full breakdown.
Using the Industry Classification Explorer
The Industry Classification Explorer searches US SIC, Japan SIC, EU NACE and ISIC by both keyword and semantic/meaning-based search (also available from the Home page's Industry Classification panel).
There are four tabs. Combined fuses keyword and semantic search into one ranking, so a single list shows exact-word matches and meaning-based matches together; each result says which engine found it (for example "Keyword #3 · Semantic #1"), and it is paged 10 at a time. If no class contains your words, it says so and shows the semantic results alone. Compare shows the Keyword and Semantic result lists side by side, unfused. Keyword and Semantic each run one engine on its own. Single words ("library", "wheat") are where Combined helps most; long descriptions behave like Semantic.
Step 1: Enter a Search Term
Enter an industry keyword in the search box (e.g., "oil", "manufacturing", "retail").
Example Searches:
oilcomputerretailmanufacturing
Step 2: Filter Results
Use the checkbox on the left to filter results by classification system:
- US SIC - United States Standard Industrial Classification
- Japan SIC - Japan Standard Industrial Classification
- EU NACE - European Classification of Economic Activities
- ISIC - International Standard Industrial Classification, Rev. 4
Step 3: Explore Results
Each result shows:
- Classification system badge
- Industry description
- Industry code
- Additional details when available
Pro Tip
Use broader terms for more comprehensive results. For example, search for "computer" instead of "computer manufacturing" to find all related industries.
Using the EDGAR Explorer
The EDGAR Explorer provides a powerful interface to search SEC EDGAR filings by company name or CIK. It allows you to discover and explore annual reports (10-K) and quarterly reports (10-Q) filed with the SEC.
Step 1: Search for a Company
Enter a company name (e.g., IBM, Apple) or a CIK number (e.g., 0000051143) in the search field.
Example Searches:
- Company name:
IBM,Apple,Microsoft - CIK:
0000051143,0000789019
Step 2: Apply Filters (Optional)
Use the sidebar filters to narrow your results:
- Has 10‑K — Show only companies with annual report filings
- Recent 10‑Q — Show only quarterly reports filed within the last 90 days
- Division — Filter by SIC division (dynamically populated from results)
- Fiscal Year End — Filter by fiscal year end date (MM/YY format)
Step 3: Review Company Information
Results display comprehensive company data including:
- Company name and CIK
- SIC code and description
- Division classification
- Ticker symbol and exchange
- Fiscal year end
- Location (city, state, address)
Step 4: Access Filings
Click the 10‑K or 10‑Q buttons to access the latest filings. The buttons display:
10‑K • YYYY-MM-DD— Latest annual report with filing date10‑Q • YYYY-MM-DD— Latest quarterly report; highlighted if filed within 90 days
Step 5: View Raw Data
Click View JSON in the top-right to see the raw API response for any filing result.
Filter Results
Understanding Codes
- US SIC - United States Standard Industrial Classification
- EU NACE - European Classification of Economic Activities
- ISIC - International Standard Industrial Classification
- Japan SIC - Japan Standard Industrial Classification
Filter Results
Understanding Codes
- US SIC - United States Standard Industrial Classification
- Japan SIC - Japan Standard Industrial Classification
- EU NACE - European Classification of Economic Activities
- ISIC - International Standard Industrial Classification (Rev. 4)
Filter Results
Understanding Codes
- US SIC - United States Standard Industrial Classification
- Japan SIC - Japan Standard Industrial Classification
- EU NACE - European Classification of Economic Activities
- ISIC - International Standard Industrial Classification (Rev. 4)
Keyword
Semantic
About this source
Merged firmographics
- Wikipedia first - the company is found on Wikipedia/Wikidata, which supplies the description, industry, location and listings.
- EDGAR by CIK - when Wikipedia reports the company's CIK, its SEC filings are matched on that exact number.
- No CIK? - EDGAR is matched on the name only when that identifies a single company; otherwise you are told why it was left out.
- Use the full name - "Apple Inc." rather than "Apple".
Look up a company to see its EDGAR filings and Wikipedia profile together.
Filter Results
About Filters
- Has 10‑K — shows annual report filings
- Recent 10‑Q — shows quarterly reports filed within 90 days
Search SEC EDGAR filings by company name or CIK. Use the filters to focus on annual reports (10-K) or recent quarterly reports (10-Q).
SIC Similarity Search
all-MiniLM-L6-v2
(go-duckdb-rewrite.md §7.8's
model decision). Ported into the app shell from
experiments/ic-similarity-service - a spike, not
yet the settled design (see
docs/plans/company-dns-ux.md §10.2).
| # | similarity | classification path |
|---|
docs/plans/ic-similarity-search-poc.md §5.
About this source
Wikipedia / Wikidata
- Best match - use the company's full name, e.g. "Apple Inc." rather than "Apple".
- What you get - description, industry, location, listings and, when Wikidata has it, the CIK.
- Need filings? - use the EDGAR tab with the company name or CIK.