Look up or search NAICS 2022 codes, with SBA size standards.
NAICS Lookup is a NAICS code lookup and search API for the 2022 North American Industry Classification System. Look up one code or up to 500 at once, or search by keyword, and get the title, description, level, parent, hierarchy and children, while paid plans add the SBA small-business size standard, the Census index terms, cross-references and the 2017 concordance.
Try it — live request, no key required
No key required to try it. Get a key to use it in your app.
{
"status": "ok",
"error": null,
"data": {
"count": 1,
"results": [
{
"code": "541511",
"title": "Custom Computer Programming Services",
"level": 6,
"levelName": "national_industry",
"trilateral": false,
"description": "This U.S. industry comprises establishments primarily engaged in writing, modifying, testing, and supporting software to meet the needs of a particular customer.",
"parent": {
"code": "54151",
"title": "Computer Systems Design and Related Services"
},
"hierarchy": [
{
"code": "54",
"title": "Professional, Scientific, and Technical Services",
"level": 2,
"levelName": "sector"
},
{
"code": "541",
"title": "Professional, Scientific, and Technical Services",
"level": 3,
"levelName": "subsector"
},
{
"code": "5415",
"title": "Computer Systems Design and Related Services",
"level": 4,
"levelName": "industry_group"
},
{
"code": "54151",
"title": "Computer Systems Design and Related Services",
"level": 5,
"levelName": "industry"
},
{
"code": "541511",
"title": "Custom Computer Programming Services",
"level": 6,
"levelName": "national_industry"
}
],
"children": [],
"sizeStandard": {
"revenueMillions": 34,
"employees": null,
"summary": "$34M average annual receipts",
"exceptions": []
},
"indexTerms": [
"Applications software programming services, custom computer",
"Computer program or software development, custom",
"Computer programming services, custom",
"Computer software analysis and design services, custom",
"Computer software programming services, custom",
"Computer software support services, custom"
],
"crossReferences": [
{
"text": "Software design, development, and publishing, or software publishing only--are classified in Industry 513210, Software Publishers;",
"codes": [
"513210"
]
},
{
"text": "Providing computing infrastructure, data processing services, Web hosting services (except software publishing), and related services, including streaming support services (except streaming distribution services)--are classified in Industry 518210, Computing Infrastructure Providers, Data Processing, Web Hosting, and Related Services; and",
"codes": [
"518210"
]
},
{
"text": "Planning and designing computer systems that integrate computer hardware, software, and communication technologies, even though such establishments may provide custom software as an integral part of their services--are classified in U.S. Industry 541512, Computer Systems Design Services.",
"codes": [
"541512"
]
}
],
"naics2017": [
{
"code": "541511",
"title": "Custom Computer Programming Services"
}
]
}
],
"notFound": []
}
}
About the NAICS Lookup API
A NAICS code API built from the Census Bureau's NAICS 2022 files and the SBA Table of Size Standards. Every one of the 2,125 codes, from the 20 sectors down to the 6-digit national industries, comes with its official title and description, its parent and full hierarchy, its children and whether it is shared with Canada and Mexico. On paid plans, six-digit codes carry the SBA size standard in receipts or employees, with any exceptions. Keyword search ranks codes by hits in the title, the 20,000 Census index entries and the description. Paid plans add details=true: the index entries, the cross-references to related codes and the NAICS 2017 codes each 2022 code replaced, plus batches of up to 500 codes.
What people use it for
- Business Onboarding
- Let applicants search for their industry in plain words and store the matching 6-digit NAICS code.
- Government Contracting
- Check a company against the SBA small-business size standard for the NAICS code on a solicitation.
- Data Normalisation
- Expand stored NAICS codes into titles, sectors and hierarchy for reporting and segmentation.
- Code Migration
- Map records coded under NAICS 2017 to their 2022 successors using the concordance.
Ways to call it
One endpoint, many ways in — REST with JSON, XML, YAML and CSV, plus GraphQL and an MCP interface for AI agents.
- JSON
- Default REST response
- XML
- Markup format
- YAML
- Human-readable
- CSV
- Tabular export
- GraphQL
- Query language
- MCP
- For AI agents
Other ways to use NAICS Lookup
Same data, same APIVerve account, same credit balance — one key works on all of them.
Which NAICS version does the API use?
What does the Free plan include?
Where do the size standards come from?
How do I look up sectors 31, 44 or 48?
How many credits does a call use?
Request parameters — GET /v1/naicslookup
Sent in the query string. Premium parameters are accepted on every plan but only take effect on plans that include them. Anything not listed here is dropped rather than passed through.
Optional
| Parameter | Type | Example | Description |
|---|---|---|---|
codeOptional | string | 541511 | One NAICS code, or several separated by commas (up to 10 on Free, 500 on paid plans) length 0-4000 |
searchOptional | string | software publisher | Keywords to search titles, index terms and descriptions length 0-200 |
levelOptional | integer | 6 | Only return codes at this level when searching (2 to 6 digits)23456 |
detailsOptionalPremium | boolean | true | Include index terms, cross-references and the NAICS 2017 concordance default false |
limitOptional | integer | 10 | Maximum search results (1-50) default 10 · range 1-50 |
curl "https://api.apiverve.com/v1/naicslookup?code=541511&search=software%20publisher&level=6&details=true&limit=10" \
-H "x-api-key: YOUR_API_KEY"Authentication
Send your key in the x-api-key header. That is the only auth step — no token exchange, and no per-endpoint scope to configure.
| Header | When | Value |
|---|---|---|
x-api-keyRequired | Every request | Your API key. Header names are case-insensitive, so X-API-Key is the same header. |
AuthorizationAlternate | Instead of the above | Bearer <key> — for clients that only expose bearer auth. Resolves to the same account and the same billing. |
A 401 means the key is missing, invalid or expired. A 403 means the key is valid but not permitted here — blocked by a key restriction or an IP allow-list. Running out of credits is a 429.
Response — GET /v1/naicslookup
Every APIVerve endpoint returns the same three top-level keys, so one response handler covers your whole integration: status, error and data. Only data changes shape.
{
"status": "ok",
"error": null,
"data": {
"count": 1,
"results": [
{
"code": "541511",
"title": "Custom Computer Programming Services",
"level": 6,
"levelName": "national_industry",
"trilateral": false,
"description": "This U.S. industry comprises establishments primarily engaged in writing, modifying, testing, and supporting software to meet the needs of a particular customer.",
"parent": {
"code": "54151",
"title": "Computer Systems Design and Related Services"
},
"hierarchy": [
{
"code": "54",
"title": "Professional, Scientific, and Technical Services",
"level": 2,
"levelName": "sector"
},
{
"code": "541",
"title": "Professional, Scientific, and Technical Services",
"level": 3,
"levelName": "subsector"
},
{
"code": "5415",
"title": "Computer Systems Design and Related Services",
"level": 4,
"levelName": "industry_group"
},
{
"code": "54151",
"title": "Computer Systems Design and Related Services",
"level": 5,
"levelName": "industry"
},
{
"code": "541511",
"title": "Custom Computer Programming Services",
"level": 6,
"levelName": "national_industry"
}
],
"children": [],
"sizeStandard": {
"revenueMillions": 34,
"employees": null,
"summary": "$34M average annual receipts",
"exceptions": []
},
"indexTerms": [
"Applications software programming services, custom computer",
"Computer program or software development, custom",
"Computer programming services, custom",
"Computer software analysis and design services, custom",
"Computer software programming services, custom",
"Computer software support services, custom"
],
"crossReferences": [
{
"text": "Software design, development, and publishing, or software publishing only--are classified in Industry 513210, Software Publishers;",
"codes": [
"513210"
]
},
{
"text": "Providing computing infrastructure, data processing services, Web hosting services (except software publishing), and related services, including streaming support services (except streaming distribution services)--are classified in Industry 518210, Computing Infrastructure Providers, Data Processing, Web Hosting, and Related Services; and",
"codes": [
"518210"
]
},
{
"text": "Planning and designing computer systems that integrate computer hardware, software, and communication technologies, even though such establishments may provide custom software as an integral part of their services--are classified in U.S. Industry 541512, Computer Systems Design Services.",
"codes": [
"541512"
]
}
],
"naics2017": [
{
"code": "541511",
"title": "Custom Computer Programming Services"
}
]
}
],
"notFound": []
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
count | number | 1 | Number of codes returned |
results | array[1] | ||
code | string | "541511" | NAICS 2022 code (2 to 6 digits, or a sector range such as 31-33) |
title | string | "Custom Computer Programming Services" | Official title |
level | number | 6 | Number of digits: 2 sector, 3 subsector, 4 industry group, 5 industry, 6 national industry |
levelName | string | "national_industry" | sector, subsector, industry_group, industry or national_industry |
trilateral | boolean | false | The code and title are shared by the US, Canada and Mexico |
description | string | "This U.S. industry comprises establishments primarily engaged in writing, modifying, testing, and supporting software to meet the needs of … | Official Census description of what the code covers |
parent | object | {...} | The code one level up ({code, title}); null for sectors |
code | string | "54151" | Parent code |
title | string | "Computer Systems Design and Related Services" | Parent title |
hierarchy | array[5] | Path from the sector down to this code: code, title, level, levelName | |
code | string | "54" | |
title | string | "Professional, Scientific, and Technical Services" | |
level | number | 2 | |
levelName | string | "sector" | |
children | array | [] | Codes one level down: code, title |
sizeStandardPremium | object | {...} | SBA small-business size standard (6-digit codes); null above that level |
revenueMillionsPremium | number | 34 | Average annual receipts limit in millions of US dollars; null when the standard is in employees |
employeesPremium | object | null | Employee limit; null when the standard is in receipts |
summaryPremium | string | "$34M average annual receipts" | The standard in words, e.g. $34M average annual receipts |
exceptionsPremium | array | [] | Activities with their own standard under this code: activity, revenueMillions, employees, summary |
indexTermsPremium | array | [Applications software programming services, custom computer, ...] | Census index entries classified under this code (details=true) |
crossReferencesPremium | array[3] | Activities classified elsewhere, each with text and the codes it points to (details=true) | |
textPremium | string | "Software design, development, and publishing, or software publishing only--are classified in Industry 513210, Software Publishers;" | |
codesPremium | array | [513210] | |
naics2017Premium | array[1] | NAICS 2017 codes this code came from: code, title (details=true) | |
codePremium | string | "541511" | |
titlePremium | string | "Custom Computer Programming Services" | |
notFound | array | [] | Requested codes that do not exist in NAICS 2022 |
Response headers
Every response carries your balance, so your own code always knows where it stands without polling anything. All four are exposed to browsers through CORS.
| Header | What it carries |
|---|---|
x-api-remaining-credits | Credits left in the current cycle |
x-api-credits-used | Credits spent in the current cycle |
x-api-max-credits | The allowance for the cycle |
x-api-version | Version of the endpoint that answered |
Errors
Read the HTTP status first, then error for the specific reason. The body names the parameter that has to change.
| Status | Meaning | What to do |
|---|---|---|
400 | Input was rejected | Read error; it names the parameter that has to change. |
401 | Key missing or invalid | Check the header name and the key value. |
403 | Key valid, but not permitted here | A key restriction or an IP allow-list — never a bad key. |
429 | Rate limited, or out of credits | Read error to tell them apart, then back off or top up. |
What a call costs — 2 credits per call
Credits are shared across every APIVerve API — one balance, one key, one bill. Failed requests never count against it, so a rejected input costs nothing.
| Plan | Per month | Credits | NAICS Lookup calls | Per 1,000 calls |
|---|---|---|---|---|
| Free | Free | 200 | 100 | Free |
| Starter | $29.99 | 200,000 | 100,000 | $0.30 |
| Pro | $99.99 | 1,000,000 | 500,000 | $0.20 |
| Mega | $299.99 | 4,000,000 | 2,000,000 | $0.15 |
Calls are what the credits buy at this API's rate — spend them here, on any of the other APIs, or across both. Nothing is reserved per endpoint.
Call it from cURL — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
curl "https://api.apiverve.com/v1/naicslookup" \
-H "x-api-key: YOUR_API_KEY"Resources
Call it from Node.js — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
const res = await fetch("https://api.apiverve.com/v1/naicslookup", {
headers: { "x-api-key": "YOUR_API_KEY" },
});
const { data } = await res.json();
console.log(data);Resources
Call it from Python — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
import requests
res = requests.get(
"https://api.apiverve.com/v1/naicslookup",
headers={"x-api-key": "YOUR_API_KEY"},
)
print(res.json()["data"])Resources
Call it from C# / .NET — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var json = await client.GetStringAsync("https://api.apiverve.com/v1/naicslookup");
Console.WriteLine(json);Resources
Call it from Go — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
req, _ := http.NewRequest("GET", "https://api.apiverve.com/v1/naicslookup", nil)
req.Header.Set("x-api-key", "YOUR_API_KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))Resources
Call it from PHP — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
$ch = curl_init("https://api.apiverve.com/v1/naicslookup");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-api-key: YOUR_API_KEY"]);
$response = curl_exec($ch);
echo $response;Resources
Call it from Ruby — GET /v1/naicslookup
No SDK to install — this is a plain HTTPS call to /v1/naicslookup with your key in the x-api-key header. Swap in a real key and it runs as-is.
require "net/http"
uri = URI("https://api.apiverve.com/v1/naicslookup")
req = Net::HTTP::Get.new(uri)
req["x-api-key"] = "YOUR_API_KEY"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.bodyResources
Zero-code embed — one snippet, no backend
Drop an interactive NAICS Lookup form onto any page. The widget calls the API for you, so no key ever appears in your markup and there is nothing to deploy.
Changelog — NAICS Lookup API
Every change to this endpoint, newest first. Breaking changes ship as a new version and the previous one keeps serving — response fields are added, never removed or retyped in place, so an integration written against v1 keeps working.
Entries are picked up from dated catalog snapshots, so the first one appears after the next snapshot that moves something. A period where nothing changed produces no entry — silence is a valid changelog for the NAICS Lookup API.
Reference Data
- Birthstones
- CAA Record Parser
- Color Brightness Calculator
- Color Name Finder
- HTTP Status Code Lookup
- Mayan Calendar
- MIME Type Lookup
- NAICS Lookup
- Port Number Lookup
- Ring Size Converter
- Shoe Size Converter
- SRV Record Parser
- University Lookup