Skip to content

NAICS

NAICS codes are exposed at /api/naics/. For field definitions, see the NAICS Data Dictionary.

External references

Endpoints

  • GET /api/naics/ (list + filtering)
  • GET /api/naics/{code}/ (detail)

Metrics: Time-series obligation/award metrics for a NAICS code: GET /api/naics/{code}/metrics/<months>/<period_grouping>/. See Metrics for parameters and behavior.

Filtering

Param What it does
search Matches code__startswith or description__icontains.
revenue_limit Filter by SBA revenue size standard (in millions of USD).
revenue_limit_gte, revenue_limit_lte Revenue size standard range (in millions).
employee_limit Filter by SBA employee size standard.
employee_limit_gte, employee_limit_lte Employee size standard range.

Example:

  • NAICS starting with 54: GET /api/naics/?search=54
  • NAICS with revenue limit \(\le 15M\): GET /api/naics/?revenue_limit_lte=15

Ordering

/api/naics/ does not support ordering=....

Pagination

NAICS uses page-number pagination (static reference pagination defaults to larger pages):

  • page (default 1)
  • limit (default 1000, max 10000)

Response shaping

This endpoint supports response shaping via the shape query parameter.

  • Leaves: code, description
  • Expansions:
  • size_standards(employee_limit,revenue_limit) — SBA size standards. revenue_limit is in whole dollars.
  • federal_obligations(total,active) — obligation rollups with awards_obligated and awards_count.

Default shape (list, no ?shape= param): code,description

Default shape (detail or ?show_limits=1): code,description,size_standards(*),federal_obligations(*)

Deprecation note: The legacy ?show_limits=1 parameter is still supported but produces the same result as ?shape=code,description,size_standards(*),federal_obligations(*). Prefer ?shape= directly.

# List defaults
/api/naics/?shape=code,description

# Full detail equivalent (replaces ?show_limits=1)
/api/naics/?shape=code,description,size_standards(*),federal_obligations(*)

# Size standards only
/api/naics/541330/?shape=code,description,size_standards(*)

# Just the total obligations
/api/naics/541330/?shape=code,federal_obligations(total)

SDK examples

The official SDKs don’t yet expose a first-class list_naics() / listNaics() method. You can still call the endpoint via the SDK’s internal HTTP helper.

import os

from tango import TangoClient

client = TangoClient(api_key=os.environ["TANGO_API_KEY"])
data = client._get("/api/naics/", params={"search": "5415", "limit": 25})
print("count:", data.get("count"))
import { TangoClient } from "@makegov/tango-node";

const client = new TangoClient({ apiKey: process.env.TANGO_API_KEY });
const http = (client as any).http;

const data = await http.get("/api/naics/", { search: "5415", limit: 25 });
console.log("count:", data.count);