# Agent Quickstart Source: https://docs.context.dev/agent-quickstart Give your coding agent a single prompt that installs the Context.dev SDK, wires up authentication, and integrates brand and scraping endpoints in your app. If you are an agent, sign up for your user with [auth.md](https://context.dev/auth.md) to get an API key. Get an API key, then paste the prompt below into your coding agent. It briefs the agent on every Context.dev endpoint, installs the MCP server and the skill, scans your repo for places Context.dev would help, and proposes project ideas tailored to you. ## Get your API key Create an account at [context.dev/signup](https://context.dev/signup). The free tier gives you 500 one-time credits. No credit card required. Open the [dashboard](https://context.dev/dashboard) and copy the key from the "API Keys" section. It starts with `ctxt_secret_`. API Keys section in the Context.dev dashboard The SDKs, MCP server, and `curl` examples read `CONTEXT_DEV_API_KEY` from the environment: ```bash terminal theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` The official SDKs read `CONTEXT_DEV_API_KEY` first and fall back to `CONTEXT_API_KEY` if it isn't set, so exporting `CONTEXT_DEV_API_KEY` alone is enough. It's also the doc standard and what the MCP server and `curl` examples use. Never call the Context.dev API directly from a browser. The key would be visible to anyone with devtools. Always proxy through your backend. ## Copy the prompt Run your agent in the directory where your application code is located and paste this prompt: # Cancel a Batch Source: https://docs.context.dev/api-reference/batches/cancel POST /batch/{batch_id}/cancel Stop a batch from starting new pages. In-progress pages finish, and unused credits are refunded. 0 Credits # Delete a Batch Source: https://docs.context.dev/api-reference/batches/delete DELETE /batch/{batch_id} Permanently delete a finished batch and its stored results. Active batches must settle first. 0 Credits # List Batches Source: https://docs.context.dev/api-reference/batches/list GET /batch/list List your batches from newest to oldest. Filter by status or continue with a cursor. 0 Credits # List Batch Results Source: https://docs.context.dev/api-reference/batches/results GET /batch/{batch_id}/results Page through a finished batch's results as JSON instead of downloading the NDJSON files. 0 Credits # Retrieve a Batch Source: https://docs.context.dev/api-reference/batches/retrieve GET /batch/{batch_id} Check progress, and get download links once the batch finishes. 0 Credits # Submit a Batch Source: https://docs.context.dev/api-reference/batches/submit POST /batch/submit Scrape 25K URLs or crawl large websites asynchronously. 1 Credit per successful URL # Retrieve Brand Data Source: https://docs.context.dev/api-reference/brand-intelligence/brand POST /brand/retrieve Enrich signups, CRM records, and transactions with logos, colors, descriptions, socials, and industry data. 10 Credits # Scrape Fonts Source: https://docs.context.dev/api-reference/brand-intelligence/fonts GET /web/fonts Detect the fonts a site uses so your app can match brand typography without manual inspection. 5 Credits # Search Brands Source: https://docs.context.dev/api-reference/brand-intelligence/search GET /brand/search Search indexed brands by name or domain and return up to 10 lightweight prefix matches for autocomplete. Free on Pro and Scale 1 Credit on Free and Starter # Extract Styleguide Source: https://docs.context.dev/api-reference/brand-intelligence/styleguide GET /web/styleguide Extract colors, typography, spacing, shadows, and UI cues from any site to build on-brand experiences faster. 10 Credits # List Account Changes Source: https://docs.context.dev/api-reference/monitors/account-changes GET /monitors/changes Get an account-wide feed of detected changes across all monitors, filterable by monitor, type, time, and tag. 0 Credits # List Account Runs Source: https://docs.context.dev/api-reference/monitors/account-runs GET /monitors/runs Get an account-wide feed of monitor runs across all monitors in your organization. 0 Credits # Retrieve a Change Source: https://docs.context.dev/api-reference/monitors/change GET /monitors/changes/{change_id} Fetch full change details: text diffs, added and removed URLs, semantic evidence, confidence, and importance. 0 Credits # List Monitor Changes Source: https://docs.context.dev/api-reference/monitors/changes GET /monitors/{monitor_id}/changes List the changes a monitor has detected, filterable by time window and tag. 0 Credits # Create a Monitor Source: https://docs.context.dev/api-reference/monitors/create POST /monitors Creates a monitor. The request body is a union of the supported target/change detection combinations. The monitor runs immediately after creation to create its initial baseline. 0 Credits 1-10 Credits Per Run Creating a monitor always triggers an immediate first run that captures the **baseline**: the snapshot every later run is compared against. Baseline runs perform no change detection and are billed like any other run. Only `name` and `target` are required. `change_detection` and `schedule` are optional: * **`change_detection`** — inferred from `target` when omitted. `extract` targets default to `semantic`; `sitemap` targets default to `exact`; `page` targets default to `semantic` when `target.instructions` is set and `exact` otherwise. Pass it explicitly only when you want to override defaults (for example, tuning `confidence_threshold` on a semantic monitor). Supported combinations are `page` + `exact`, `page` + `semantic`, `sitemap` + `exact`, and `extract` + `semantic` — anything else returns a `400`, as does a semantic `page` monitor without `instructions` or an exact `page` monitor with `instructions`. * **`schedule`** — defaults to once per day when omitted. Pass an `interval` object to run more or less often; the total interval must be between 10 minutes and 1 year. ## Poll the baseline run The 201 response includes `initial_run_id`: the id of the baseline run that was queued when the monitor was created. Watch [List Monitor Runs](/api-reference/monitors/runs) for this id to confirm the baseline completes before expecting change detection on later runs. `initial_run_id` is `null` in the rare case that the baseline could not be queued immediately at create time — the baseline still runs on the monitor's next scheduled tick, so no action is required. # Retrieve Monitor Credit Usage Source: https://docs.context.dev/api-reference/monitors/credit-usage GET /monitors/credit-usage See credits charged per monitor over a time window so you always know what your monitors cost. 0 Credits # Delete a Monitor Source: https://docs.context.dev/api-reference/monitors/delete DELETE /monitors/{monitor_id} Permanently remove a monitor and stop all of its scheduled runs. 0 Credits # List Monitors Source: https://docs.context.dev/api-reference/monitors/list GET /monitors List your organization's monitors with free-text search plus status, target type, and tag filters. 0 Credits # Retrieve a Monitor Source: https://docs.context.dev/api-reference/monitors/retrieve GET /monitors/{monitor_id} Fetch a monitor's full configuration, status, schedule, and current baseline by ID. 0 Credits # Retrieve a Monitor Run Source: https://docs.context.dev/api-reference/monitors/retrieve-run GET /monitors/{monitor_id}/runs/{run_id} Fetch a single run by id, including its lifecycle status, timing, credits charged, and any change detected. 0 Credits Use this endpoint to check the outcome of a specific run — for example, the `run_id` returned by [Run a Monitor Now](/api-reference/monitors/run) — without paging through the monitor's full history. # Rotate a Monitor Webhook Secret Source: https://docs.context.dev/api-reference/monitors/rotate-webhook-secret POST /monitors/{monitor_id}/webhook/rotate-secret Generate a new signing secret for a monitor's webhook. The previous secret stops signing deliveries immediately. 0 Credits Rotation takes effect immediately. Deliveries sent after this call are signed with the new secret, so update your endpoint to accept the new secret **before** you rotate — or briefly accept both — to avoid signature verification failures. Use this endpoint when you suspect a leak, on a scheduled rotation cadence, or when moving webhook handling to a new environment. Only monitors that already have a `webhook.url` configured can be rotated; monitors without a webhook return `409 MONITOR_NO_WEBHOOK` — add a webhook first with [Update a Monitor](/api-reference/monitors/update). The 200 response returns the full monitor with the new value at `webhook.secret`. Store it and use it to [verify webhook deliveries](/api-reference/monitors/webhook-payload). # Run a Monitor Now Source: https://docs.context.dev/api-reference/monitors/run POST /monitors/{monitor_id}/run Queue an immediate run outside the monitor's normal schedule. The run is processed asynchronously. 1-10 Credits Per Run The response includes a `run_id`. Poll [Retrieve a Monitor Run](/api-reference/monitors/retrieve-run) with that id to check the run's status and result. # List Monitor Runs Source: https://docs.context.dev/api-reference/monitors/runs GET /monitors/{monitor_id}/runs List a monitor's run history with status, timing, credits charged, and any detected change per run. 0 Credits # Update a Monitor Source: https://docs.context.dev/api-reference/monitors/update PATCH /monitors/{monitor_id} Updates a monitor. If `target` or `change_detection` changes, the monitor creates a new baseline. Unsupported target/change detection combinations are rejected. 0 Credits Updating `target` or `change_detection` resets the monitor's **baseline**: the next run re-captures it instead of reporting a spurious change. Unsupported target/change detection combinations are rejected — supported pairs are `page` + `exact`, `page` + `semantic`, `sitemap` + `exact`, and `extract` + `semantic`. Adding `target.instructions` to an exact `page` monitor (without also passing `change_detection`) flips it to `semantic` automatically, matching the create-time default. Passing `change_detection: { type: "exact" }` alongside `instructions`, or clearing `instructions` on a semantic `page` monitor, is rejected. # Receive change.detected webhooks Source: https://docs.context.dev/api-reference/monitors/webhook-payload webhook monitorChangeDetected Sent to a monitor's configured webhook URL when a run detects a change. Return any 2xx response to acknowledge the delivery. # Receive run.completed webhooks Source: https://docs.context.dev/api-reference/monitors/webhook-run-completed webhook monitorRunCompleted Sent to a monitor's configured webhook URL after every completed run when the webhook subscribes to the run.completed event — including runs that detected no change, as confirmation the monitor ran. When a change was detected it is embedded in the payload. Return any 2xx response to acknowledge the delivery. # Enrich Person Source: https://docs.context.dev/api-reference/people/enrich POST /people/enrich Enrich a person from combined identity clues and receive an identity match score. 20 Credits All Paid Plans Beta Feature # Parse File Bytes to Markdown Source: https://docs.context.dev/api-reference/utility/parse POST /parse Converts raw text, source code, web/data, PDF, Microsoft Office, and image bytes into LLM-usable Markdown. 1 Credit OCR: +1 Credit per recovered page # Prefetch Brand Data Source: https://docs.context.dev/api-reference/utility/prefetch POST /utility/prefetch Warm the brand cache before users need it so onboarding and enrichment flows return faster. 0 Credits Only for Subscribers # Extract Structured Data Source: https://docs.context.dev/api-reference/web-extraction/extract POST /web/extract Crawl a website and return schema-shaped data you can drop directly into products, agents, and workflows. 10 Credits # Classify NAICS Industries Source: https://docs.context.dev/api-reference/web-extraction/naics GET /web/naics Map any brand to NAICS industry codes for cleaner segmentation, routing, and analytics. 10 Credits # Extract Product Data Source: https://docs.context.dev/api-reference/web-extraction/product POST /brand/ai/product Turn a product page into structured pricing, features, imagery, and metadata your app can use immediately. 10 Credits # Extract Products Source: https://docs.context.dev/api-reference/web-extraction/products POST /brand/ai/products Build a structured product catalog from any brand website — names, prices, images, and descriptions — without writing custom scrapers. 10 Credits Rate limit weight: 10 Beta Feature Each call counts as 10 requests against your per-minute [rate limit](/optimization/rate-limits#weighted-endpoints). # Classify SIC Industries Source: https://docs.context.dev/api-reference/web-extraction/sic GET /web/sic Map brands to SIC codes for finance, compliance, segmentation, and industry analysis. 10 Credits # Crawl Website Content Source: https://docs.context.dev/api-reference/web-scraping/crawl POST /web/crawl Crawl a website and return clean, LLM-ready Markdown pages that are ready to use in RAG pipelines, search indexes, and other content workflows. 1 Credit Per Page Rate limit weight: 10 Each call counts as 10 requests against your per-minute [rate limit](/optimization/rate-limits#weighted-endpoints). # Scrape HTML Source: https://docs.context.dev/api-reference/web-scraping/html GET /web/scrape/html Fetch raw page HTML for extraction, archiving, QA, and custom parsing workflows. 1 Credit With actions: 2 Credits # Scrape Images Source: https://docs.context.dev/api-reference/web-scraping/images GET /web/scrape/images Find the images on any page and enrich them with metadata for brand, catalog, and content workflows. 1 Credit With actions: 2 Credits Enriched: 5 Credits # Scrape Markdown Source: https://docs.context.dev/api-reference/web-scraping/markdown GET /web/scrape/markdown Convert any page into clean Markdown optimized for agents, RAG, search, and analysis. 1 Credit With actions: 2 Credits # Capture Screenshot Source: https://docs.context.dev/api-reference/web-scraping/screenshot GET /web/screenshot Capture production-ready website screenshots for previews, audits, brand libraries, and visual QA. 5 Credits # Search the Web Source: https://docs.context.dev/api-reference/web-scraping/search POST /web/search Search the web and optionally scrape results in one call so your product gets answers faster. 1 Credit Per 10 Results # Crawl Sitemap Source: https://docs.context.dev/api-reference/web-scraping/sitemap GET /web/scrape/sitemap Discover every URL in a sitemap so your crawler, index, or enrichment job starts with complete coverage. 1 Credit 2 Credits with search # EIC (Easy Industry Classification) Source: https://docs.context.dev/guides/classification/EIC Read industry tags from Context.dev's EIC taxonomy — 24 top-level industries and 220 subindustries returned inline on every brand response. EIC is Context.dev's industry taxonomy, designed to reflect how modern companies actually describe themselves. It uses a simple two-level structure: a top-level **industry** and a more specific **subindustry**. EIC ships **inline** on every full Brand response under `industries.eic`. There is no dedicated endpoint and no extra cost beyond the Brand call itself: any call to `/brand/retrieve` (or any other resolver that returns the full Brand shape) already includes it. ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Get EIC data Hit any full Brand endpoint and read `brand.industries.eic`. The simplified endpoint (`/brand/retrieve-simplified`) does **not** include EIC. ```bash cURL theme={null} curl -G https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=stripe.com" ``` ```typescript TypeScript highlight={5-7} theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const { brand } = await client.brand.retrieve({ type: "by_domain", domain: "stripe.com" }); const eicTags = brand.industries.eic; console.log(eicTags); ``` ```python Python highlight={6-8} theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve(type="by_domain", domain="stripe.com") eic_tags = response.brand.industries.eic print(eic_tags) ``` ```ruby Ruby highlight={5-7} theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve(body: { type: :by_domain, domain: "stripe.com" }) eic_tags = response.brand.industries.eic puts eic_tags.inspect ``` ```go Go highlight={13-19} theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient(option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY"))) response, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: "stripe.com"}, }) if err != nil { panic(err) } fmt.Printf("%+v\n", response.Brand.Industries.Eic) } ``` ```php PHP highlight={5-7} theme={null} brand->retrieve(type: 'by_domain', domain: 'stripe.com'); $eicTags = $response->brand->industries->eic; print_r($eicTags); ``` 10 credits per successful call The 10 credits are the standard cost of the Brand API call itself; the EIC data is included with it at no additional charge. ## Response shape EIC data appears on the Brand response under `industries.eic` as an array of `{industry, subindustry}` objects. Both fields are required on every entry: ```json theme={null} { "brand": { "industries": { "eic": [ { "industry": "Technology", "subindustry": "Developer Tools & APIs" }, { "industry": "Technology", "subindustry": "Artificial Intelligence & Machine Learning" } ] } } } ``` Each object contains: * **`industry`**: one of the 24 top-level industries listed below (exact string match). * **`subindustry`**: one of the subindustries **allowed for that industry** (exact string match). A brand can have multiple `(industry, subindustry)` pairs when more than one applies. ## Rules and constraints * Both `industry` and `subindustry` are returned as **exact strings**: match them verbatim if you're using them as keys, enums, or routing rules. * **Almost every subindustry is tied to a single top-level industry.** The one exception is **"Advertising, Adtech & Media Buying"**, which is valid under both **Entertainment** and **News & Media**. * This means there are **221 valid `(industry, subindustry)` pairs**, but only **220 distinct subindustry strings**. If you're storing EIC values in your own database, use the **exact string** as the key. Both `industry` and `subindustry` are typed enums in the API spec, so any change to the label set is a schema change you can detect. ## Top-level industries There are 24 top-level industries. Expand any section below to see the subindustries allowed under each. * Defense Systems & Military Hardware * Aerospace Manufacturing * Avionics & Navigation Technology * Subsea & Naval Defense Systems * Space & Satellite Technology * Defense IT & Systems Integration * Software (B2B) * Software (B2C) * Cloud Infrastructure & DevOps * Cybersecurity * Artificial Intelligence & Machine Learning * Data Infrastructure & Analytics * Hardware & Semiconductors * Fintech Infrastructure * eCommerce & Marketplace Platforms * Developer Tools & APIs * Web3 & Blockchain * XR & Spatial Computing * Banking & Lending * Investment Management & WealthTech * Insurance & InsurTech * Payments & Money Movement * Accounting, Tax & Financial Planning Tools * Capital Markets & Trading Platforms * Financial Infrastructure & APIs * Credit Scoring & Risk Management * Cryptocurrency & Digital Assets * BNPL & Alternative Financing * Healthcare Providers & Services * Pharmaceuticals & Drug Development * Medical Devices & Diagnostics * Biotechnology & Genomics * Digital Health & Telemedicine * Health Insurance & Benefits Tech * Clinical Trials & Research Platforms * Mental Health & Wellness * Healthcare IT & EHR Systems * Consumer Health & Wellness Products * Online Marketplaces * Direct-to-Consumer (DTC) Brands * Retail Tech & Point-of-Sale Systems * Omnichannel & In-Store Retail * E-commerce Enablement & Infrastructure * Subscription & Membership Commerce * Social Commerce & Influencer Platforms * Fashion & Apparel Retail * Food, Beverage & Grocery E-commerce * Streaming Platforms (Video, Music, Audio) * Gaming & Interactive Entertainment * Creator Economy & Influencer Platforms * Advertising, Adtech & Media Buying * Film, TV & Production Studios * Events, Venues & Live Entertainment * Virtual Worlds & Metaverse Experiences * K-12 Education Platforms & Tools * Higher Education & University Tech * Online Learning & MOOCs * Test Prep & Certification * Corporate Training & Upskilling * Tutoring & Supplemental Learning * Education Management Systems (LMS/SIS) * Language Learning * Creator-Led & Cohort-Based Courses * Special Education & Accessibility Tools * Government Technology & Digital Services * Civic Engagement & Policy Platforms * International Development & Humanitarian Aid * Philanthropy & Grantmaking * Nonprofit Operations & Fundraising Tools * Public Health & Social Services * Education & Youth Development Programs * Environmental & Climate Action Organizations * Legal Aid & Social Justice Advocacy * Municipal & Infrastructure Services * Manufacturing & Industrial Automation * Energy Production (Oil, Gas, Nuclear) * Renewable Energy & Cleantech * Utilities & Grid Infrastructure * Industrial IoT & Monitoring Systems * Construction & Heavy Equipment * Mining & Natural Resources * Environmental Engineering & Sustainability * Energy Storage & Battery Technology * Automotive OEMs & Vehicle Manufacturing * Electric Vehicles (EVs) & Charging Infrastructure * Mobility-as-a-Service (MaaS) * Fleet Management * Public Transit & Urban Mobility * Autonomous Vehicles & ADAS * Aftermarket Parts & Services * Telematics & Vehicle Connectivity * Aviation & Aerospace Transport * Maritime Shipping * Fitness & Wellness * Beauty & Personal Care * Home & Living * Dating & Relationships * Hobbies, Crafts & DIY * Outdoor & Recreational Gear * Events, Experiences & Ticketing Platforms * Designer & Luxury Apparel * Accessories, Jewelry & Watches * Footwear & Leather Goods * Beauty, Fragrance & Skincare * Fashion Marketplaces & Retail Platforms * Sustainable & Ethical Fashion * Resale, Vintage & Circular Fashion * Fashion Tech & Virtual Try-Ons * Streetwear & Emerging Luxury * Couture & Made-to-Measure * News Publishing & Journalism * Advertising, Adtech & Media Buying * Digital Media & Content Platforms * Broadcasting (TV & Radio) * Podcasting & Audio Media * News Aggregators & Curation Tools * Independent & Creator-Led Media * Newsletters & Substack-Style Platforms * Political & Investigative Media * Trade & Niche Publications * Media Monitoring & Analytics * Professional Teams & Leagues * Sports Media & Broadcasting * Sports Betting & Fantasy Sports * Fitness & Athletic Training Platforms * Sportswear & Equipment * Esports & Competitive Gaming * Sports Venues & Event Management * Athlete Management & Talent Agencies * Sports Tech & Performance Analytics * Youth, Amateur & Collegiate Sports * Real Estate Marketplaces * Property Management Software * Rental Platforms * Mortgage & Lending Tech * Real Estate Investment Platforms * Law Firms & Legal Services * Legal Tech & Automation * Regulatory Compliance * E-Discovery & Litigation Tools * Contract Management * Governance, Risk & Compliance (GRC) * IP & Trademark Management * Legal Research & Intelligence * Compliance Training & Certification * Whistleblower & Ethics Reporting * Mobile & Wireless Networks (3G/4G/5G) * Broadband & Fiber Internet * Satellite & Space-Based Communications * Network Equipment & Infrastructure * Telecom Billing & OSS/BSS Systems * VoIP & Unified Communications * Internet Service Providers (ISPs) * Edge Computing & Network Virtualization * IoT Connectivity Platforms * Precision Agriculture & AgTech * Crop & Livestock Production * Food & Beverage Manufacturing & Processing * Food Distribution * Restaurants & Food Service * Agricultural Inputs & Equipment * Sustainable & Regenerative Agriculture * Seafood & Aquaculture * Management Consulting * Marketing & Advertising Agencies * Design, Branding & Creative Studios * IT Services & Managed Services * Staffing, Recruiting & Talent * Accounting & Tax Firms * Public Relations & Communications * Business Process Outsourcing (BPO) * Professional Training & Coaching * Specialty Chemicals * Commodity & Petrochemicals * Polymers, Plastics & Rubber * Coatings, Adhesives & Sealants * Industrial Gases * Advanced Materials & Composites * Battery Materials & Energy Storage * Electronic Materials & Semiconductor Chemicals * Agrochemicals & Fertilizers * Freight & Transportation Tech * Last-Mile Delivery * Warehouse Automation * Supply Chain Visibility Platforms * Logistics Marketplaces * Shipping & Freight Forwarding * Cold Chain Logistics * Reverse Logistics & Returns * Cross-Border Trade Tech * Transportation Management Systems (TMS) * Hotels & Accommodation * Vacation Rentals & Short-Term Stays * Restaurant Tech & Management * Travel Booking Platforms * Tourism Experiences & Activities * Cruise Lines & Marine Tourism * Hospitality Management Systems * Event & Venue Management * Corporate Travel Management * Travel Insurance & Protection * Construction Management Software * BIM/CAD & Design Tools * Construction Marketplaces * Equipment Rental & Management * Building Materials & Procurement * Construction Workforce Management * Project Estimation & Bidding * Modular & Prefab Construction * Construction Safety & Compliance * Smart Building Technology * Food & Beverage CPG * Home & Personal Care CPG * CPG Analytics & Insights * Direct-to-Consumer CPG Brands * CPG Supply Chain & Distribution * Private Label Manufacturing * CPG Retail Intelligence * Sustainable CPG & Packaging * Beauty & Cosmetics CPG * Health & Wellness CPG ## Enum values Copy-pasteable enums for both fields. Choose your preferred format. ### `Industry` (24 values) ```ts TypeScript theme={null} export enum Industry { AEROSPACE_DEFENSE = "Aerospace & Defense", TECHNOLOGY = "Technology", FINANCE = "Finance", HEALTHCARE = "Healthcare", RETAIL_ECOMMERCE = "Retail & E-commerce", ENTERTAINMENT = "Entertainment", EDUCATION = "Education", GOVERNMENT_NONPROFIT = "Government & Nonprofit", INDUSTRIAL_ENERGY = "Industrial & Energy", AUTOMOTIVE_TRANSPORTATION = "Automotive & Transportation", LIFESTYLE_LEISURE = "Lifestyle & Leisure", LUXURY_FASHION = "Luxury & Fashion", NEWS_MEDIA = "News & Media", SPORTS = "Sports", REAL_ESTATE_PROPTECH = "Real Estate & PropTech", LEGAL_COMPLIANCE = "Legal & Compliance", TELECOMMUNICATIONS = "Telecommunications", AGRICULTURE_FOOD = "Agriculture & Food", PROFESSIONAL_SERVICES_AGENCIES = "Professional Services & Agencies", CHEMICALS_MATERIALS = "Chemicals & Materials", LOGISTICS_SUPPLY_CHAIN = "Logistics & Supply Chain", HOSPITALITY_TOURISM = "Hospitality & Tourism", CONSTRUCTION_BUILT_ENVIRONMENT = "Construction & Built Environment", CONSUMER_PACKAGED_GOODS = "Consumer Packaged Goods (CPG)", } ``` ```json JSON theme={null} [ "Aerospace & Defense", "Technology", "Finance", "Healthcare", "Retail & E-commerce", "Entertainment", "Education", "Government & Nonprofit", "Industrial & Energy", "Automotive & Transportation", "Lifestyle & Leisure", "Luxury & Fashion", "News & Media", "Sports", "Real Estate & PropTech", "Legal & Compliance", "Telecommunications", "Agriculture & Food", "Professional Services & Agencies", "Chemicals & Materials", "Logistics & Supply Chain", "Hospitality & Tourism", "Construction & Built Environment", "Consumer Packaged Goods (CPG)" ] ``` ```py Python theme={null} INDUSTRIES = [ "Aerospace & Defense", "Technology", "Finance", "Healthcare", "Retail & E-commerce", "Entertainment", "Education", "Government & Nonprofit", "Industrial & Energy", "Automotive & Transportation", "Lifestyle & Leisure", "Luxury & Fashion", "News & Media", "Sports", "Real Estate & PropTech", "Legal & Compliance", "Telecommunications", "Agriculture & Food", "Professional Services & Agencies", "Chemicals & Materials", "Logistics & Supply Chain", "Hospitality & Tourism", "Construction & Built Environment", "Consumer Packaged Goods (CPG)", ] ``` ### `Subindustry` (220 distinct values) ```ts TypeScript theme={null} export enum Subindustry { // Aerospace & Defense DEFENSE_SYSTEMS_MILITARY_HARDWARE = "Defense Systems & Military Hardware", AEROSPACE_MANUFACTURING = "Aerospace Manufacturing", AVIONICS_NAVIGATION_TECHNOLOGY = "Avionics & Navigation Technology", SUBSEA_NAVAL_DEFENSE_SYSTEMS = "Subsea & Naval Defense Systems", SPACE_SATELLITE_TECHNOLOGY = "Space & Satellite Technology", DEFENSE_IT_SYSTEMS_INTEGRATION = "Defense IT & Systems Integration", // Technology SOFTWARE_B2B = "Software (B2B)", SOFTWARE_B2C = "Software (B2C)", CLOUD_INFRASTRUCTURE_DEVOPS = "Cloud Infrastructure & DevOps", CYBERSECURITY = "Cybersecurity", ARTIFICIAL_INTELLIGENCE_MACHINE_LEARNING = "Artificial Intelligence & Machine Learning", DATA_INFRASTRUCTURE_ANALYTICS = "Data Infrastructure & Analytics", HARDWARE_SEMICONDUCTORS = "Hardware & Semiconductors", FINTECH_INFRASTRUCTURE = "Fintech Infrastructure", ECOMMERCE_MARKETPLACE_PLATFORMS = "eCommerce & Marketplace Platforms", DEVELOPER_TOOLS_APIS = "Developer Tools & APIs", WEB3_BLOCKCHAIN = "Web3 & Blockchain", XR_SPATIAL_COMPUTING = "XR & Spatial Computing", // Finance BANKING_LENDING = "Banking & Lending", INVESTMENT_MANAGEMENT_WEALTHTECH = "Investment Management & WealthTech", INSURANCE_INSURTECH = "Insurance & InsurTech", PAYMENTS_MONEY_MOVEMENT = "Payments & Money Movement", ACCOUNTING_TAX_FINANCIAL_PLANNING_TOOLS = "Accounting, Tax & Financial Planning Tools", CAPITAL_MARKETS_TRADING_PLATFORMS = "Capital Markets & Trading Platforms", FINANCIAL_INFRASTRUCTURE_APIS = "Financial Infrastructure & APIs", CREDIT_SCORING_RISK_MANAGEMENT = "Credit Scoring & Risk Management", CRYPTOCURRENCY_DIGITAL_ASSETS = "Cryptocurrency & Digital Assets", BNPL_ALTERNATIVE_FINANCING = "BNPL & Alternative Financing", // Healthcare HEALTHCARE_PROVIDERS_SERVICES = "Healthcare Providers & Services", PHARMACEUTICALS_DRUG_DEVELOPMENT = "Pharmaceuticals & Drug Development", MEDICAL_DEVICES_DIAGNOSTICS = "Medical Devices & Diagnostics", BIOTECHNOLOGY_GENOMICS = "Biotechnology & Genomics", DIGITAL_HEALTH_TELEMEDICINE = "Digital Health & Telemedicine", HEALTH_INSURANCE_BENEFITS_TECH = "Health Insurance & Benefits Tech", CLINICAL_TRIALS_RESEARCH_PLATFORMS = "Clinical Trials & Research Platforms", MENTAL_HEALTH_WELLNESS = "Mental Health & Wellness", HEALTHCARE_IT_EHR_SYSTEMS = "Healthcare IT & EHR Systems", CONSUMER_HEALTH_WELLNESS_PRODUCTS = "Consumer Health & Wellness Products", // Retail & E-commerce ONLINE_MARKETPLACES = "Online Marketplaces", DIRECT_TO_CONSUMER_DTC_BRANDS = "Direct-to-Consumer (DTC) Brands", RETAIL_TECH_POINT_OF_SALE_SYSTEMS = "Retail Tech & Point-of-Sale Systems", OMNICHANNEL_IN_STORE_RETAIL = "Omnichannel & In-Store Retail", ECOMMERCE_ENABLEMENT_INFRASTRUCTURE = "E-commerce Enablement & Infrastructure", SUBSCRIPTION_MEMBERSHIP_COMMERCE = "Subscription & Membership Commerce", SOCIAL_COMMERCE_INFLUENCER_PLATFORMS = "Social Commerce & Influencer Platforms", FASHION_APPAREL_RETAIL = "Fashion & Apparel Retail", FOOD_BEVERAGE_GROCERY_ECOMMERCE = "Food, Beverage & Grocery E-commerce", // Entertainment STREAMING_PLATFORMS_VIDEO_MUSIC_AUDIO = "Streaming Platforms (Video, Music, Audio)", GAMING_INTERACTIVE_ENTERTAINMENT = "Gaming & Interactive Entertainment", CREATOR_ECONOMY_INFLUENCER_PLATFORMS = "Creator Economy & Influencer Platforms", ADVERTISING_ADTECH_MEDIA_BUYING = "Advertising, Adtech & Media Buying", FILM_TV_PRODUCTION_STUDIOS = "Film, TV & Production Studios", EVENTS_VENUES_LIVE_ENTERTAINMENT = "Events, Venues & Live Entertainment", VIRTUAL_WORLDS_METAVERSE_EXPERIENCES = "Virtual Worlds & Metaverse Experiences", // Education K12_EDUCATION_PLATFORMS_TOOLS = "K-12 Education Platforms & Tools", HIGHER_EDUCATION_UNIVERSITY_TECH = "Higher Education & University Tech", ONLINE_LEARNING_MOOCS = "Online Learning & MOOCs", TEST_PREP_CERTIFICATION = "Test Prep & Certification", CORPORATE_TRAINING_UPSKILLING = "Corporate Training & Upskilling", TUTORING_SUPPLEMENTAL_LEARNING = "Tutoring & Supplemental Learning", EDUCATION_MANAGEMENT_SYSTEMS_LMS_SIS = "Education Management Systems (LMS/SIS)", LANGUAGE_LEARNING = "Language Learning", CREATOR_LED_COHORT_BASED_COURSES = "Creator-Led & Cohort-Based Courses", SPECIAL_EDUCATION_ACCESSIBILITY_TOOLS = "Special Education & Accessibility Tools", // Government & Nonprofit GOVERNMENT_TECHNOLOGY_DIGITAL_SERVICES = "Government Technology & Digital Services", CIVIC_ENGAGEMENT_POLICY_PLATFORMS = "Civic Engagement & Policy Platforms", INTERNATIONAL_DEVELOPMENT_HUMANITARIAN_AID = "International Development & Humanitarian Aid", PHILANTHROPY_GRANTMAKING = "Philanthropy & Grantmaking", NONPROFIT_OPERATIONS_FUNDRAISING_TOOLS = "Nonprofit Operations & Fundraising Tools", PUBLIC_HEALTH_SOCIAL_SERVICES = "Public Health & Social Services", EDUCATION_YOUTH_DEVELOPMENT_PROGRAMS = "Education & Youth Development Programs", ENVIRONMENTAL_CLIMATE_ACTION_ORGANIZATIONS = "Environmental & Climate Action Organizations", LEGAL_AID_SOCIAL_JUSTICE_ADVOCACY = "Legal Aid & Social Justice Advocacy", MUNICIPAL_INFRASTRUCTURE_SERVICES = "Municipal & Infrastructure Services", // Industrial & Energy MANUFACTURING_INDUSTRIAL_AUTOMATION = "Manufacturing & Industrial Automation", ENERGY_PRODUCTION_OIL_GAS_NUCLEAR = "Energy Production (Oil, Gas, Nuclear)", RENEWABLE_ENERGY_CLEANTECH = "Renewable Energy & Cleantech", UTILITIES_GRID_INFRASTRUCTURE = "Utilities & Grid Infrastructure", INDUSTRIAL_IOT_MONITORING_SYSTEMS = "Industrial IoT & Monitoring Systems", CONSTRUCTION_HEAVY_EQUIPMENT = "Construction & Heavy Equipment", MINING_NATURAL_RESOURCES = "Mining & Natural Resources", ENVIRONMENTAL_ENGINEERING_SUSTAINABILITY = "Environmental Engineering & Sustainability", ENERGY_STORAGE_BATTERY_TECHNOLOGY = "Energy Storage & Battery Technology", // Automotive & Transportation AUTOMOTIVE_OEMS_VEHICLE_MANUFACTURING = "Automotive OEMs & Vehicle Manufacturing", ELECTRIC_VEHICLES_EVS_CHARGING_INFRASTRUCTURE = "Electric Vehicles (EVs) & Charging Infrastructure", MOBILITY_AS_A_SERVICE_MAAS = "Mobility-as-a-Service (MaaS)", FLEET_MANAGEMENT = "Fleet Management", PUBLIC_TRANSIT_URBAN_MOBILITY = "Public Transit & Urban Mobility", AUTONOMOUS_VEHICLES_ADAS = "Autonomous Vehicles & ADAS", AFTERMARKET_PARTS_SERVICES = "Aftermarket Parts & Services", TELEMATICS_VEHICLE_CONNECTIVITY = "Telematics & Vehicle Connectivity", AVIATION_AEROSPACE_TRANSPORT = "Aviation & Aerospace Transport", MARITIME_SHIPPING = "Maritime Shipping", // Lifestyle & Leisure FITNESS_WELLNESS = "Fitness & Wellness", BEAUTY_PERSONAL_CARE = "Beauty & Personal Care", HOME_LIVING = "Home & Living", DATING_RELATIONSHIPS = "Dating & Relationships", HOBBIES_CRAFTS_DIY = "Hobbies, Crafts & DIY", OUTDOOR_RECREATIONAL_GEAR = "Outdoor & Recreational Gear", EVENTS_EXPERIENCES_TICKETING_PLATFORMS = "Events, Experiences & Ticketing Platforms", // Luxury & Fashion DESIGNER_LUXURY_APPAREL = "Designer & Luxury Apparel", ACCESSORIES_JEWELRY_WATCHES = "Accessories, Jewelry & Watches", FOOTWEAR_LEATHER_GOODS = "Footwear & Leather Goods", BEAUTY_FRAGRANCE_SKINCARE = "Beauty, Fragrance & Skincare", FASHION_MARKETPLACES_RETAIL_PLATFORMS = "Fashion Marketplaces & Retail Platforms", SUSTAINABLE_ETHICAL_FASHION = "Sustainable & Ethical Fashion", RESALE_VINTAGE_CIRCULAR_FASHION = "Resale, Vintage & Circular Fashion", FASHION_TECH_VIRTUAL_TRY_ONS = "Fashion Tech & Virtual Try-Ons", STREETWEAR_EMERGING_LUXURY = "Streetwear & Emerging Luxury", COUTURE_MADE_TO_MEASURE = "Couture & Made-to-Measure", // News & Media (note: ADVERTISING_ADTECH_MEDIA_BUYING above is also valid here) NEWS_PUBLISHING_JOURNALISM = "News Publishing & Journalism", DIGITAL_MEDIA_CONTENT_PLATFORMS = "Digital Media & Content Platforms", BROADCASTING_TV_RADIO = "Broadcasting (TV & Radio)", PODCASTING_AUDIO_MEDIA = "Podcasting & Audio Media", NEWS_AGGREGATORS_CURATION_TOOLS = "News Aggregators & Curation Tools", INDEPENDENT_CREATOR_LED_MEDIA = "Independent & Creator-Led Media", NEWSLETTERS_SUBSTACK_STYLE_PLATFORMS = "Newsletters & Substack-Style Platforms", POLITICAL_INVESTIGATIVE_MEDIA = "Political & Investigative Media", TRADE_NICHE_PUBLICATIONS = "Trade & Niche Publications", MEDIA_MONITORING_ANALYTICS = "Media Monitoring & Analytics", // Sports PROFESSIONAL_TEAMS_LEAGUES = "Professional Teams & Leagues", SPORTS_MEDIA_BROADCASTING = "Sports Media & Broadcasting", SPORTS_BETTING_FANTASY_SPORTS = "Sports Betting & Fantasy Sports", FITNESS_ATHLETIC_TRAINING_PLATFORMS = "Fitness & Athletic Training Platforms", SPORTSWEAR_EQUIPMENT = "Sportswear & Equipment", ESPORTS_COMPETITIVE_GAMING = "Esports & Competitive Gaming", SPORTS_VENUES_EVENT_MANAGEMENT = "Sports Venues & Event Management", ATHLETE_MANAGEMENT_TALENT_AGENCIES = "Athlete Management & Talent Agencies", SPORTS_TECH_PERFORMANCE_ANALYTICS = "Sports Tech & Performance Analytics", YOUTH_AMATEUR_COLLEGIATE_SPORTS = "Youth, Amateur & Collegiate Sports", // Real Estate & PropTech REAL_ESTATE_MARKETPLACES = "Real Estate Marketplaces", PROPERTY_MANAGEMENT_SOFTWARE = "Property Management Software", RENTAL_PLATFORMS = "Rental Platforms", MORTGAGE_LENDING_TECH = "Mortgage & Lending Tech", REAL_ESTATE_INVESTMENT_PLATFORMS = "Real Estate Investment Platforms", // Legal & Compliance LAW_FIRMS_LEGAL_SERVICES = "Law Firms & Legal Services", LEGAL_TECH_AUTOMATION = "Legal Tech & Automation", REGULATORY_COMPLIANCE = "Regulatory Compliance", E_DISCOVERY_LITIGATION_TOOLS = "E-Discovery & Litigation Tools", CONTRACT_MANAGEMENT = "Contract Management", GOVERNANCE_RISK_COMPLIANCE_GRC = "Governance, Risk & Compliance (GRC)", IP_TRADEMARK_MANAGEMENT = "IP & Trademark Management", LEGAL_RESEARCH_INTELLIGENCE = "Legal Research & Intelligence", COMPLIANCE_TRAINING_CERTIFICATION = "Compliance Training & Certification", WHISTLEBLOWER_ETHICS_REPORTING = "Whistleblower & Ethics Reporting", // Telecommunications MOBILE_WIRELESS_NETWORKS_3G_4G_5G = "Mobile & Wireless Networks (3G/4G/5G)", BROADBAND_FIBER_INTERNET = "Broadband & Fiber Internet", SATELLITE_SPACE_BASED_COMMUNICATIONS = "Satellite & Space-Based Communications", NETWORK_EQUIPMENT_INFRASTRUCTURE = "Network Equipment & Infrastructure", TELECOM_BILLING_OSS_BSS_SYSTEMS = "Telecom Billing & OSS/BSS Systems", VOIP_UNIFIED_COMMUNICATIONS = "VoIP & Unified Communications", INTERNET_SERVICE_PROVIDERS_ISPS = "Internet Service Providers (ISPs)", EDGE_COMPUTING_NETWORK_VIRTUALIZATION = "Edge Computing & Network Virtualization", IOT_CONNECTIVITY_PLATFORMS = "IoT Connectivity Platforms", // Agriculture & Food PRECISION_AGRICULTURE_AGTECH = "Precision Agriculture & AgTech", CROP_LIVESTOCK_PRODUCTION = "Crop & Livestock Production", FOOD_BEVERAGE_MANUFACTURING_PROCESSING = "Food & Beverage Manufacturing & Processing", FOOD_DISTRIBUTION = "Food Distribution", RESTAURANTS_FOOD_SERVICE = "Restaurants & Food Service", AGRICULTURAL_INPUTS_EQUIPMENT = "Agricultural Inputs & Equipment", SUSTAINABLE_REGENERATIVE_AGRICULTURE = "Sustainable & Regenerative Agriculture", SEAFOOD_AQUACULTURE = "Seafood & Aquaculture", // Professional Services & Agencies MANAGEMENT_CONSULTING = "Management Consulting", MARKETING_ADVERTISING_AGENCIES = "Marketing & Advertising Agencies", DESIGN_BRANDING_CREATIVE_STUDIOS = "Design, Branding & Creative Studios", IT_SERVICES_MANAGED_SERVICES = "IT Services & Managed Services", STAFFING_RECRUITING_TALENT = "Staffing, Recruiting & Talent", ACCOUNTING_TAX_FIRMS = "Accounting & Tax Firms", PUBLIC_RELATIONS_COMMUNICATIONS = "Public Relations & Communications", BUSINESS_PROCESS_OUTSOURCING_BPO = "Business Process Outsourcing (BPO)", PROFESSIONAL_TRAINING_COACHING = "Professional Training & Coaching", // Chemicals & Materials SPECIALTY_CHEMICALS = "Specialty Chemicals", COMMODITY_PETROCHEMICALS = "Commodity & Petrochemicals", POLYMERS_PLASTICS_RUBBER = "Polymers, Plastics & Rubber", COATINGS_ADHESIVES_SEALANTS = "Coatings, Adhesives & Sealants", INDUSTRIAL_GASES = "Industrial Gases", ADVANCED_MATERIALS_COMPOSITES = "Advanced Materials & Composites", BATTERY_MATERIALS_ENERGY_STORAGE = "Battery Materials & Energy Storage", ELECTRONIC_MATERIALS_SEMICONDUCTOR_CHEMICALS = "Electronic Materials & Semiconductor Chemicals", AGROCHEMICALS_FERTILIZERS = "Agrochemicals & Fertilizers", // Logistics & Supply Chain FREIGHT_TRANSPORTATION_TECH = "Freight & Transportation Tech", LAST_MILE_DELIVERY = "Last-Mile Delivery", WAREHOUSE_AUTOMATION = "Warehouse Automation", SUPPLY_CHAIN_VISIBILITY_PLATFORMS = "Supply Chain Visibility Platforms", LOGISTICS_MARKETPLACES = "Logistics Marketplaces", SHIPPING_FREIGHT_FORWARDING = "Shipping & Freight Forwarding", COLD_CHAIN_LOGISTICS = "Cold Chain Logistics", REVERSE_LOGISTICS_RETURNS = "Reverse Logistics & Returns", CROSS_BORDER_TRADE_TECH = "Cross-Border Trade Tech", TRANSPORTATION_MANAGEMENT_SYSTEMS = "Transportation Management Systems (TMS)", // Hospitality & Tourism HOTELS_ACCOMMODATION = "Hotels & Accommodation", VACATION_RENTALS_SHORT_TERM_STAYS = "Vacation Rentals & Short-Term Stays", RESTAURANT_TECH_MANAGEMENT = "Restaurant Tech & Management", TRAVEL_BOOKING_PLATFORMS = "Travel Booking Platforms", TOURISM_EXPERIENCES_ACTIVITIES = "Tourism Experiences & Activities", CRUISE_LINES_MARINE_TOURISM = "Cruise Lines & Marine Tourism", HOSPITALITY_MANAGEMENT_SYSTEMS = "Hospitality Management Systems", EVENT_VENUE_MANAGEMENT = "Event & Venue Management", CORPORATE_TRAVEL_MANAGEMENT = "Corporate Travel Management", TRAVEL_INSURANCE_PROTECTION = "Travel Insurance & Protection", // Construction & Built Environment CONSTRUCTION_MANAGEMENT_SOFTWARE = "Construction Management Software", BIM_CAD_DESIGN_TOOLS = "BIM/CAD & Design Tools", CONSTRUCTION_MARKETPLACES = "Construction Marketplaces", EQUIPMENT_RENTAL_MANAGEMENT = "Equipment Rental & Management", BUILDING_MATERIALS_PROCUREMENT = "Building Materials & Procurement", CONSTRUCTION_WORKFORCE_MANAGEMENT = "Construction Workforce Management", PROJECT_ESTIMATION_BIDDING = "Project Estimation & Bidding", MODULAR_PREFAB_CONSTRUCTION = "Modular & Prefab Construction", CONSTRUCTION_SAFETY_COMPLIANCE = "Construction Safety & Compliance", SMART_BUILDING_TECHNOLOGY = "Smart Building Technology", // Consumer Packaged Goods (CPG) FOOD_BEVERAGE_CPG = "Food & Beverage CPG", HOME_PERSONAL_CARE_CPG = "Home & Personal Care CPG", CPG_ANALYTICS_INSIGHTS = "CPG Analytics & Insights", DIRECT_TO_CONSUMER_CPG_BRANDS = "Direct-to-Consumer CPG Brands", CPG_SUPPLY_CHAIN_DISTRIBUTION = "CPG Supply Chain & Distribution", PRIVATE_LABEL_MANUFACTURING = "Private Label Manufacturing", CPG_RETAIL_INTELLIGENCE = "CPG Retail Intelligence", SUSTAINABLE_CPG_PACKAGING = "Sustainable CPG & Packaging", BEAUTY_COSMETICS_CPG = "Beauty & Cosmetics CPG", HEALTH_WELLNESS_CPG = "Health & Wellness CPG", } ``` ```json JSON theme={null} [ "Defense Systems & Military Hardware", "Aerospace Manufacturing", "Avionics & Navigation Technology", "Subsea & Naval Defense Systems", "Space & Satellite Technology", "Defense IT & Systems Integration", "Software (B2B)", "Software (B2C)", "Cloud Infrastructure & DevOps", "Cybersecurity", "Artificial Intelligence & Machine Learning", "Data Infrastructure & Analytics", "Hardware & Semiconductors", "Fintech Infrastructure", "eCommerce & Marketplace Platforms", "Developer Tools & APIs", "Web3 & Blockchain", "XR & Spatial Computing", "Banking & Lending", "Investment Management & WealthTech", "Insurance & InsurTech", "Payments & Money Movement", "Accounting, Tax & Financial Planning Tools", "Capital Markets & Trading Platforms", "Financial Infrastructure & APIs", "Credit Scoring & Risk Management", "Cryptocurrency & Digital Assets", "BNPL & Alternative Financing", "Healthcare Providers & Services", "Pharmaceuticals & Drug Development", "Medical Devices & Diagnostics", "Biotechnology & Genomics", "Digital Health & Telemedicine", "Health Insurance & Benefits Tech", "Clinical Trials & Research Platforms", "Mental Health & Wellness", "Healthcare IT & EHR Systems", "Consumer Health & Wellness Products", "Online Marketplaces", "Direct-to-Consumer (DTC) Brands", "Retail Tech & Point-of-Sale Systems", "Omnichannel & In-Store Retail", "E-commerce Enablement & Infrastructure", "Subscription & Membership Commerce", "Social Commerce & Influencer Platforms", "Fashion & Apparel Retail", "Food, Beverage & Grocery E-commerce", "Streaming Platforms (Video, Music, Audio)", "Gaming & Interactive Entertainment", "Creator Economy & Influencer Platforms", "Advertising, Adtech & Media Buying", "Film, TV & Production Studios", "Events, Venues & Live Entertainment", "Virtual Worlds & Metaverse Experiences", "K-12 Education Platforms & Tools", "Higher Education & University Tech", "Online Learning & MOOCs", "Test Prep & Certification", "Corporate Training & Upskilling", "Tutoring & Supplemental Learning", "Education Management Systems (LMS/SIS)", "Language Learning", "Creator-Led & Cohort-Based Courses", "Special Education & Accessibility Tools", "Government Technology & Digital Services", "Civic Engagement & Policy Platforms", "International Development & Humanitarian Aid", "Philanthropy & Grantmaking", "Nonprofit Operations & Fundraising Tools", "Public Health & Social Services", "Education & Youth Development Programs", "Environmental & Climate Action Organizations", "Legal Aid & Social Justice Advocacy", "Municipal & Infrastructure Services", "Manufacturing & Industrial Automation", "Energy Production (Oil, Gas, Nuclear)", "Renewable Energy & Cleantech", "Utilities & Grid Infrastructure", "Industrial IoT & Monitoring Systems", "Construction & Heavy Equipment", "Mining & Natural Resources", "Environmental Engineering & Sustainability", "Energy Storage & Battery Technology", "Automotive OEMs & Vehicle Manufacturing", "Electric Vehicles (EVs) & Charging Infrastructure", "Mobility-as-a-Service (MaaS)", "Fleet Management", "Public Transit & Urban Mobility", "Autonomous Vehicles & ADAS", "Aftermarket Parts & Services", "Telematics & Vehicle Connectivity", "Aviation & Aerospace Transport", "Maritime Shipping", "Fitness & Wellness", "Beauty & Personal Care", "Home & Living", "Dating & Relationships", "Hobbies, Crafts & DIY", "Outdoor & Recreational Gear", "Events, Experiences & Ticketing Platforms", "Designer & Luxury Apparel", "Accessories, Jewelry & Watches", "Footwear & Leather Goods", "Beauty, Fragrance & Skincare", "Fashion Marketplaces & Retail Platforms", "Sustainable & Ethical Fashion", "Resale, Vintage & Circular Fashion", "Fashion Tech & Virtual Try-Ons", "Streetwear & Emerging Luxury", "Couture & Made-to-Measure", "News Publishing & Journalism", "Digital Media & Content Platforms", "Broadcasting (TV & Radio)", "Podcasting & Audio Media", "News Aggregators & Curation Tools", "Independent & Creator-Led Media", "Newsletters & Substack-Style Platforms", "Political & Investigative Media", "Trade & Niche Publications", "Media Monitoring & Analytics", "Professional Teams & Leagues", "Sports Media & Broadcasting", "Sports Betting & Fantasy Sports", "Fitness & Athletic Training Platforms", "Sportswear & Equipment", "Esports & Competitive Gaming", "Sports Venues & Event Management", "Athlete Management & Talent Agencies", "Sports Tech & Performance Analytics", "Youth, Amateur & Collegiate Sports", "Real Estate Marketplaces", "Property Management Software", "Rental Platforms", "Mortgage & Lending Tech", "Real Estate Investment Platforms", "Law Firms & Legal Services", "Legal Tech & Automation", "Regulatory Compliance", "E-Discovery & Litigation Tools", "Contract Management", "Governance, Risk & Compliance (GRC)", "IP & Trademark Management", "Legal Research & Intelligence", "Compliance Training & Certification", "Whistleblower & Ethics Reporting", "Mobile & Wireless Networks (3G/4G/5G)", "Broadband & Fiber Internet", "Satellite & Space-Based Communications", "Network Equipment & Infrastructure", "Telecom Billing & OSS/BSS Systems", "VoIP & Unified Communications", "Internet Service Providers (ISPs)", "Edge Computing & Network Virtualization", "IoT Connectivity Platforms", "Precision Agriculture & AgTech", "Crop & Livestock Production", "Food & Beverage Manufacturing & Processing", "Food Distribution", "Restaurants & Food Service", "Agricultural Inputs & Equipment", "Sustainable & Regenerative Agriculture", "Seafood & Aquaculture", "Management Consulting", "Marketing & Advertising Agencies", "Design, Branding & Creative Studios", "IT Services & Managed Services", "Staffing, Recruiting & Talent", "Accounting & Tax Firms", "Public Relations & Communications", "Business Process Outsourcing (BPO)", "Professional Training & Coaching", "Specialty Chemicals", "Commodity & Petrochemicals", "Polymers, Plastics & Rubber", "Coatings, Adhesives & Sealants", "Industrial Gases", "Advanced Materials & Composites", "Battery Materials & Energy Storage", "Electronic Materials & Semiconductor Chemicals", "Agrochemicals & Fertilizers", "Freight & Transportation Tech", "Last-Mile Delivery", "Warehouse Automation", "Supply Chain Visibility Platforms", "Logistics Marketplaces", "Shipping & Freight Forwarding", "Cold Chain Logistics", "Reverse Logistics & Returns", "Cross-Border Trade Tech", "Transportation Management Systems (TMS)", "Hotels & Accommodation", "Vacation Rentals & Short-Term Stays", "Restaurant Tech & Management", "Travel Booking Platforms", "Tourism Experiences & Activities", "Cruise Lines & Marine Tourism", "Hospitality Management Systems", "Event & Venue Management", "Corporate Travel Management", "Travel Insurance & Protection", "Construction Management Software", "BIM/CAD & Design Tools", "Construction Marketplaces", "Equipment Rental & Management", "Building Materials & Procurement", "Construction Workforce Management", "Project Estimation & Bidding", "Modular & Prefab Construction", "Construction Safety & Compliance", "Smart Building Technology", "Food & Beverage CPG", "Home & Personal Care CPG", "CPG Analytics & Insights", "Direct-to-Consumer CPG Brands", "CPG Supply Chain & Distribution", "Private Label Manufacturing", "CPG Retail Intelligence", "Sustainable CPG & Packaging", "Beauty & Cosmetics CPG", "Health & Wellness CPG" ] ``` The JSON list contains exactly **220** distinct subindustry strings. The 221st valid pair comes from `"Advertising, Adtech & Media Buying"` being allowed under both **Entertainment** and **News & Media**. ## Industry → subindustry map (JSON) The full `industry → subindustry[]` map. Use the copy button on the code block to grab the entire object in one click: drop it straight into your codebase as an enum source, validation map, or routing table. ```json eic.json theme={null} { "Aerospace & Defense": [ "Defense Systems & Military Hardware", "Aerospace Manufacturing", "Avionics & Navigation Technology", "Subsea & Naval Defense Systems", "Space & Satellite Technology", "Defense IT & Systems Integration" ], "Technology": [ "Software (B2B)", "Software (B2C)", "Cloud Infrastructure & DevOps", "Cybersecurity", "Artificial Intelligence & Machine Learning", "Data Infrastructure & Analytics", "Hardware & Semiconductors", "Fintech Infrastructure", "eCommerce & Marketplace Platforms", "Developer Tools & APIs", "Web3 & Blockchain", "XR & Spatial Computing" ], "Finance": [ "Banking & Lending", "Investment Management & WealthTech", "Insurance & InsurTech", "Payments & Money Movement", "Accounting, Tax & Financial Planning Tools", "Capital Markets & Trading Platforms", "Financial Infrastructure & APIs", "Credit Scoring & Risk Management", "Cryptocurrency & Digital Assets", "BNPL & Alternative Financing" ], "Healthcare": [ "Healthcare Providers & Services", "Pharmaceuticals & Drug Development", "Medical Devices & Diagnostics", "Biotechnology & Genomics", "Digital Health & Telemedicine", "Health Insurance & Benefits Tech", "Clinical Trials & Research Platforms", "Mental Health & Wellness", "Healthcare IT & EHR Systems", "Consumer Health & Wellness Products" ], "Retail & E-commerce": [ "Online Marketplaces", "Direct-to-Consumer (DTC) Brands", "Retail Tech & Point-of-Sale Systems", "Omnichannel & In-Store Retail", "E-commerce Enablement & Infrastructure", "Subscription & Membership Commerce", "Social Commerce & Influencer Platforms", "Fashion & Apparel Retail", "Food, Beverage & Grocery E-commerce" ], "Entertainment": [ "Streaming Platforms (Video, Music, Audio)", "Gaming & Interactive Entertainment", "Creator Economy & Influencer Platforms", "Advertising, Adtech & Media Buying", "Film, TV & Production Studios", "Events, Venues & Live Entertainment", "Virtual Worlds & Metaverse Experiences" ], "Education": [ "K-12 Education Platforms & Tools", "Higher Education & University Tech", "Online Learning & MOOCs", "Test Prep & Certification", "Corporate Training & Upskilling", "Tutoring & Supplemental Learning", "Education Management Systems (LMS/SIS)", "Language Learning", "Creator-Led & Cohort-Based Courses", "Special Education & Accessibility Tools" ], "Government & Nonprofit": [ "Government Technology & Digital Services", "Civic Engagement & Policy Platforms", "International Development & Humanitarian Aid", "Philanthropy & Grantmaking", "Nonprofit Operations & Fundraising Tools", "Public Health & Social Services", "Education & Youth Development Programs", "Environmental & Climate Action Organizations", "Legal Aid & Social Justice Advocacy", "Municipal & Infrastructure Services" ], "Industrial & Energy": [ "Manufacturing & Industrial Automation", "Energy Production (Oil, Gas, Nuclear)", "Renewable Energy & Cleantech", "Utilities & Grid Infrastructure", "Industrial IoT & Monitoring Systems", "Construction & Heavy Equipment", "Mining & Natural Resources", "Environmental Engineering & Sustainability", "Energy Storage & Battery Technology" ], "Automotive & Transportation": [ "Automotive OEMs & Vehicle Manufacturing", "Electric Vehicles (EVs) & Charging Infrastructure", "Mobility-as-a-Service (MaaS)", "Fleet Management", "Public Transit & Urban Mobility", "Autonomous Vehicles & ADAS", "Aftermarket Parts & Services", "Telematics & Vehicle Connectivity", "Aviation & Aerospace Transport", "Maritime Shipping" ], "Lifestyle & Leisure": [ "Fitness & Wellness", "Beauty & Personal Care", "Home & Living", "Dating & Relationships", "Hobbies, Crafts & DIY", "Outdoor & Recreational Gear", "Events, Experiences & Ticketing Platforms" ], "Luxury & Fashion": [ "Designer & Luxury Apparel", "Accessories, Jewelry & Watches", "Footwear & Leather Goods", "Beauty, Fragrance & Skincare", "Fashion Marketplaces & Retail Platforms", "Sustainable & Ethical Fashion", "Resale, Vintage & Circular Fashion", "Fashion Tech & Virtual Try-Ons", "Streetwear & Emerging Luxury", "Couture & Made-to-Measure" ], "News & Media": [ "News Publishing & Journalism", "Advertising, Adtech & Media Buying", "Digital Media & Content Platforms", "Broadcasting (TV & Radio)", "Podcasting & Audio Media", "News Aggregators & Curation Tools", "Independent & Creator-Led Media", "Newsletters & Substack-Style Platforms", "Political & Investigative Media", "Trade & Niche Publications", "Media Monitoring & Analytics" ], "Sports": [ "Professional Teams & Leagues", "Sports Media & Broadcasting", "Sports Betting & Fantasy Sports", "Fitness & Athletic Training Platforms", "Sportswear & Equipment", "Esports & Competitive Gaming", "Sports Venues & Event Management", "Athlete Management & Talent Agencies", "Sports Tech & Performance Analytics", "Youth, Amateur & Collegiate Sports" ], "Real Estate & PropTech": [ "Real Estate Marketplaces", "Property Management Software", "Rental Platforms", "Mortgage & Lending Tech", "Real Estate Investment Platforms" ], "Legal & Compliance": [ "Law Firms & Legal Services", "Legal Tech & Automation", "Regulatory Compliance", "E-Discovery & Litigation Tools", "Contract Management", "Governance, Risk & Compliance (GRC)", "IP & Trademark Management", "Legal Research & Intelligence", "Compliance Training & Certification", "Whistleblower & Ethics Reporting" ], "Telecommunications": [ "Mobile & Wireless Networks (3G/4G/5G)", "Broadband & Fiber Internet", "Satellite & Space-Based Communications", "Network Equipment & Infrastructure", "Telecom Billing & OSS/BSS Systems", "VoIP & Unified Communications", "Internet Service Providers (ISPs)", "Edge Computing & Network Virtualization", "IoT Connectivity Platforms" ], "Agriculture & Food": [ "Precision Agriculture & AgTech", "Crop & Livestock Production", "Food & Beverage Manufacturing & Processing", "Food Distribution", "Restaurants & Food Service", "Agricultural Inputs & Equipment", "Sustainable & Regenerative Agriculture", "Seafood & Aquaculture" ], "Professional Services & Agencies": [ "Management Consulting", "Marketing & Advertising Agencies", "Design, Branding & Creative Studios", "IT Services & Managed Services", "Staffing, Recruiting & Talent", "Accounting & Tax Firms", "Public Relations & Communications", "Business Process Outsourcing (BPO)", "Professional Training & Coaching" ], "Chemicals & Materials": [ "Specialty Chemicals", "Commodity & Petrochemicals", "Polymers, Plastics & Rubber", "Coatings, Adhesives & Sealants", "Industrial Gases", "Advanced Materials & Composites", "Battery Materials & Energy Storage", "Electronic Materials & Semiconductor Chemicals", "Agrochemicals & Fertilizers" ], "Logistics & Supply Chain": [ "Freight & Transportation Tech", "Last-Mile Delivery", "Warehouse Automation", "Supply Chain Visibility Platforms", "Logistics Marketplaces", "Shipping & Freight Forwarding", "Cold Chain Logistics", "Reverse Logistics & Returns", "Cross-Border Trade Tech", "Transportation Management Systems (TMS)" ], "Hospitality & Tourism": [ "Hotels & Accommodation", "Vacation Rentals & Short-Term Stays", "Restaurant Tech & Management", "Travel Booking Platforms", "Tourism Experiences & Activities", "Cruise Lines & Marine Tourism", "Hospitality Management Systems", "Event & Venue Management", "Corporate Travel Management", "Travel Insurance & Protection" ], "Construction & Built Environment": [ "Construction Management Software", "BIM/CAD & Design Tools", "Construction Marketplaces", "Equipment Rental & Management", "Building Materials & Procurement", "Construction Workforce Management", "Project Estimation & Bidding", "Modular & Prefab Construction", "Construction Safety & Compliance", "Smart Building Technology" ], "Consumer Packaged Goods (CPG)": [ "Food & Beverage CPG", "Home & Personal Care CPG", "CPG Analytics & Insights", "Direct-to-Consumer CPG Brands", "CPG Supply Chain & Distribution", "Private Label Manufacturing", "CPG Retail Intelligence", "Sustainable CPG & Packaging", "Beauty & Cosmetics CPG", "Health & Wellness CPG" ] } ``` # NAICS Source: https://docs.context.dev/guides/classification/NAICS Classify brands using the 2022 NAICS taxonomy via the /web/naics endpoint NAICS classification is available through a dedicated endpoint: [`GET /web/naics`](/api-reference/web-extraction/classify-naics-industries). Codes follow the **2022 NAICS** taxonomy published by the US Census Bureau. ## NAICS code structure NAICS codes are hierarchical. Each digit narrows the classification: | Level | Digits | Example | | ----------------- | ------ | ------------------------------------------------------- | | Sector | 2 | `54`: Professional, Scientific, and Technical Services | | Subsector | 3 | `541`: Professional, Scientific, and Technical Services | | Industry Group | 4 | `5415`: Computer Systems Design and Related Services | | NAICS Industry | 5 | `54151`: Computer Systems Design and Related Services | | National Industry | 6 | `541511`: Custom Computer Programming Services | Three sectors span multiple 2-digit prefixes: **Manufacturing** (`31-33`), **Retail Trade** (`44-45`), and **Transportation and Warehousing** (`48-49`). The `/web/naics` endpoint returns **6-digit national industry codes**: the most specific level. ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Send a request Pass an `input` (a domain or company title) and read back an array of 6-digit NAICS codes with confidence ratings: ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/naics \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "input=stripe.com" \ --data-urlencode "minResults=1" \ --data-urlencode "maxResults=5" ``` ```typescript TypeScript highlight={5-9} theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.industry.retrieveNaics({ input: "stripe.com", minResults: 1, maxResults: 5, }); console.log(response.codes); ``` ```python Python highlight={6-10} theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.industry.retrieve_naics( input="stripe.com", min_results=1, max_results=5, ) print(response.codes) ``` ```ruby Ruby highlight={5-9} theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.industry.retrieve_naics( input: "stripe.com", min_results: 1, max_results: 5, ) puts response.codes.inspect ``` ```go Go highlight={14-18} theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient(option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY"))) response, err := client.Industry.GetNaics(context.TODO(), contextdev.IndustryGetNaicsParams{ Input: "stripe.com", MinResults: param.NewOpt[int64](1), MaxResults: param.NewOpt[int64](5), }) if err != nil { panic(err) } fmt.Printf("%+v\n", response.Codes) } ``` ```php PHP theme={null} industry->retrieveNaics( input: 'stripe.com', minResults: 1, maxResults: 5, ); print_r($response->codes); ``` 10 credits per successful call ### Request parameters | Parameter | Type | Description | | ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | `input` | string | **Required.** A brand domain or title. If a valid domain is provided, it's used directly; otherwise the resolver searches for the brand by title. | | `minResults` | integer | Minimum number of NAICS codes to return. Range: 1–10. Defaults to `1`. | | `maxResults` | integer | Maximum number of NAICS codes to return. Range: 1–10. Defaults to `5`. | | `timeoutMS` | integer | Optional request timeout (1,000–300,000 ms). Returns 408 if exceeded. | ## Response shape ```json theme={null} { "status": "ok", "domain": "stripe.com", "type": "naics", "codes": [ { "code": "522320", "name": "Financial Transactions Processing, Reserve, and Clearinghouse Activities", "confidence": "high" }, { "code": "541511", "name": "Custom Computer Programming Services", "confidence": "medium" } ] } ``` | Field | Type | Description | | -------------------- | ------ | ------------------------------------------------------------------------------------------------ | | `status` | string | `"ok"` on a 200 response. | | `domain` | string | The resolved domain. Useful when `input` was a title: you get back what the resolver settled on. | | `type` | string | Always `"naics"`. | | `codes[]` | array | Sorted by confidence. | | `codes[].code` | string | The NAICS code. Keep it as a string in storage. | | `codes[].name` | string | The official NAICS title for that code. | | `codes[].confidence` | enum | `high`, `medium`, or `low`. Indicates how well the code matches the company. | Use `minResults` / `maxResults` to control how aggressive the classification is. If you only want the strongest match, set both to `1`. For richer classification across diversified businesses, raise `maxResults` and filter by `confidence === "high"` downstream. For the official taxonomy, see the [US Census NAICS reference](https://www.census.gov/naics/). ## Sectors There are 20 sector groupings in the 2022 NAICS taxonomy: | Code | Sector | | ----- | ------------------------------------------------------------------------ | | 11 | Agriculture, Forestry, Fishing and Hunting | | 21 | Mining, Quarrying, and Oil and Gas Extraction | | 22 | Utilities | | 23 | Construction | | 31-33 | Manufacturing | | 42 | Wholesale Trade | | 44-45 | Retail Trade | | 48-49 | Transportation and Warehousing | | 51 | Information | | 52 | Finance and Insurance | | 53 | Real Estate and Rental and Leasing | | 54 | Professional, Scientific, and Technical Services | | 55 | Management of Companies and Enterprises | | 56 | Administrative and Support and Waste Management and Remediation Services | | 61 | Educational Services | | 62 | Health Care and Social Assistance | | 71 | Arts, Entertainment, and Recreation | | 72 | Accommodation and Food Services | | 81 | Other Services (except Public Administration) | | 92 | Public Administration | ## Full list of 6-digit NAICS codes All **1,012** national-industry (6-digit) codes returned by the API. Use the copy button on either code block to grab the entire list in one click: CSV for spreadsheets, JSON for programmatic use. ```csv NAICS.csv theme={null} code,name 111110,Soybean Farming 111120,Oilseed (except Soybean) Farming 111130,Dry Pea and Bean Farming 111140,Wheat Farming 111150,Corn Farming 111160,Rice Farming 111191,Oilseed and Grain Combination Farming 111199,All Other Grain Farming 111211,Potato Farming 111219,Other Vegetable (except Potato) and Melon Farming 111310,Orange Groves 111320,Citrus (except Orange) Groves 111331,Apple Orchards 111332,Grape Vineyards 111333,Strawberry Farming 111334,Berry (except Strawberry) Farming 111335,Tree Nut Farming 111336,Fruit and Tree Nut Combination Farming 111339,Other Noncitrus Fruit Farming 111411,Mushroom Production 111419,Other Food Crops Grown Under Cover 111421,Nursery and Tree Production 111422,Floriculture Production 111910,Tobacco Farming 111920,Cotton Farming 111930,Sugarcane Farming 111940,Hay Farming 111991,Sugar Beet Farming 111992,Peanut Farming 111998,All Other Miscellaneous Crop Farming 112111,Beef Cattle Ranching and Farming 112112,Cattle Feedlots 112120,Dairy Cattle and Milk Production 112130,Dual-Purpose Cattle Ranching and Farming 112210,Hog and Pig Farming 112310,Chicken Egg Production 112320,Broilers and Other Meat Type Chicken Production 112330,Turkey Production 112340,Poultry Hatcheries 112390,Other Poultry Production 112410,Sheep Farming 112420,Goat Farming 112511,Finfish Farming and Fish Hatcheries 112512,Shellfish Farming 112519,Other Aquaculture 112910,Apiculture 112920,Horses and Other Equine Production 112930,Fur-Bearing Animal and Rabbit Production 112990,All Other Animal Production 113110,Timber Tract Operations 113210,Forest Nurseries and Gathering of Forest Products 113310,Logging 114111,Finfish Fishing 114112,Shellfish Fishing 114119,Other Marine Fishing 114210,Hunting and Trapping 115111,Cotton Ginning 115112,"Soil Preparation, Planting, and Cultivating" 115113,"Crop Harvesting, Primarily by Machine" 115114,Postharvest Crop Activities (except Cotton Ginning) 115115,Farm Labor Contractors and Crew Leaders 115116,Farm Management Services 115210,Support Activities for Animal Production 115310,Support Activities for Forestry 211120,Crude Petroleum Extraction 211130,Natural Gas Extraction 212114,Surface Coal Mining 212115,Underground Coal Mining 212210,Iron Ore Mining 212220,Gold Ore and Silver Ore Mining 212230,"Copper, Nickel, Lead, and Zinc Mining" 212290,Other Metal Ore Mining 212311,Dimension Stone Mining and Quarrying 212312,Crushed and Broken Limestone Mining and Quarrying 212313,Crushed and Broken Granite Mining and Quarrying 212319,Other Crushed and Broken Stone Mining and Quarrying 212321,Construction Sand and Gravel Mining 212322,Industrial Sand Mining 212323,"Kaolin, Clay, and Ceramic and Refractory Minerals Mining" 212390,Other Nonmetallic Mineral Mining and Quarrying 213111,Drilling Oil and Gas Wells 213112,Support Activities for Oil and Gas Operations 213113,Support Activities for Coal Mining 213114,Support Activities for Metal Mining 213115,Support Activities for Nonmetallic Minerals (except Fuels) Mining 221111,Hydroelectric Power Generation 221112,Fossil Fuel Electric Power Generation 221113,Nuclear Electric Power Generation 221114,Solar Electric Power Generation 221115,Wind Electric Power Generation 221116,Geothermal Electric Power Generation 221117,Biomass Electric Power Generation 221118,Other Electric Power Generation 221121,Electric Bulk Power Transmission and Control 221122,Electric Power Distribution 221210,Natural Gas Distribution 221310,Water Supply and Irrigation Systems 221320,Sewage Treatment Facilities 221330,Steam and Air-Conditioning Supply 236115,New Single-Family Housing Construction (except For-Sale Builders) 236116,New Multifamily Housing Construction (except For-Sale Builders) 236117,New Housing For-Sale Builders 236118,Residential Remodelers 236210,Industrial Building Construction 236220,Commercial and Institutional Building Construction 237110,Water and Sewer Line and Related Structures Construction 237120,Oil and Gas Pipeline and Related Structures Construction 237130,Power and Communication Line and Related Structures Construction 237210,Land Subdivision 237310,"Highway, Street, and Bridge Construction" 237990,Other Heavy and Civil Engineering Construction 238110,Poured Concrete Foundation and Structure Contractors 238120,Structural Steel and Precast Concrete Contractors 238130,Framing Contractors 238140,Masonry Contractors 238150,Glass and Glazing Contractors 238160,Roofing Contractors 238170,Siding Contractors 238190,"Other Foundation, Structure, and Building Exterior Contractors" 238210,Electrical Contractors and Other Wiring Installation Contractors 238220,"Plumbing, Heating, and Air-Conditioning Contractors" 238290,Other Building Equipment Contractors 238310,Drywall and Insulation Contractors 238320,Painting and Wall Covering Contractors 238330,Flooring Contractors 238340,Tile and Terrazzo Contractors 238350,Finish Carpentry Contractors 238390,Other Building Finishing Contractors 238910,Site Preparation Contractors 238990,All Other Specialty Trade Contractors 311111,Dog and Cat Food Manufacturing 311119,Other Animal Food Manufacturing 311211,Flour Milling 311212,Rice Milling 311213,Malt Manufacturing 311221,Wet Corn Milling and Starch Manufacturing 311224,Soybean and Other Oilseed Processing 311225,Fats and Oils Refining and Blending 311230,Breakfast Cereal Manufacturing 311313,Beet Sugar Manufacturing 311314,Cane Sugar Manufacturing 311340,Nonchocolate Confectionery Manufacturing 311351,Chocolate and Confectionery Manufacturing from Cacao Beans 311352,Confectionery Manufacturing from Purchased Chocolate 311411,"Frozen Fruit, Juice, and Vegetable Manufacturing" 311412,Frozen Specialty Food Manufacturing 311421,Fruit and Vegetable Canning 311422,Specialty Canning 311423,Dried and Dehydrated Food Manufacturing 311511,Fluid Milk Manufacturing 311512,Creamery Butter Manufacturing 311513,Cheese Manufacturing 311514,"Dry, Condensed, and Evaporated Dairy Product Manufacturing" 311520,Ice Cream and Frozen Dessert Manufacturing 311611,Animal (except Poultry) Slaughtering 311612,Meat Processed from Carcasses 311613,Rendering and Meat Byproduct Processing 311615,Poultry Processing 311710,Seafood Product Preparation and Packaging 311811,Retail Bakeries 311812,Commercial Bakeries 311813,"Frozen Cakes, Pies, and Other Pastries Manufacturing" 311821,Cookie and Cracker Manufacturing 311824,"Dry Pasta, Dough, and Flour Mixes Manufacturing from Purchased Flour" 311830,Tortilla Manufacturing 311911,Roasted Nuts and Peanut Butter Manufacturing 311919,Other Snack Food Manufacturing 311920,Coffee and Tea Manufacturing 311930,Flavoring Syrup and Concentrate Manufacturing 311941,"Mayonnaise, Dressing, and Other Prepared Sauce Manufacturing" 311942,Spice and Extract Manufacturing 311991,Perishable Prepared Food Manufacturing 311999,All Other Miscellaneous Food Manufacturing 312111,Soft Drink Manufacturing 312112,Bottled Water Manufacturing 312113,Ice Manufacturing 312120,Breweries 312130,Wineries 312140,Distilleries 312230,Tobacco Manufacturing 313110,"Fiber, Yarn, and Thread Mills" 313210,Broadwoven Fabric Mills 313220,Narrow Fabric Mills and Schiffli Machine Embroidery 313230,Nonwoven Fabric Mills 313240,Knit Fabric Mills 313310,Textile and Fabric Finishing Mills 313320,Fabric Coating Mills 314110,Carpet and Rug Mills 314120,Curtain and Linen Mills 314910,Textile Bag and Canvas Mills 314994,"Rope, Cordage, Twine, Tire Cord, and Tire Fabric Mills" 314999,All Other Miscellaneous Textile Product Mills 315120,Apparel Knitting Mills 315210,Cut and Sew Apparel Contractors 315250,Cut and Sew Apparel Manufacturing (except Contractors) 315990,Apparel Accessories and Other Apparel Manufacturing 316110,Leather and Hide Tanning and Finishing 316210,Footwear Manufacturing 316990,Other Leather and Allied Product Manufacturing 321113,Sawmills 321114,Wood Preservation 321211,Hardwood Veneer and Plywood Manufacturing 321212,Softwood Veneer and Plywood Manufacturing 321215,Engineered Wood Member Manufacturing 321219,Reconstituted Wood Product Manufacturing 321911,Wood Window and Door Manufacturing 321912,"Cut Stock, Resawing Lumber, and Planing" 321918,Other Millwork (including Flooring) 321920,Wood Container and Pallet Manufacturing 321991,Manufactured Home (Mobile Home) Manufacturing 321992,Prefabricated Wood Building Manufacturing 321999,All Other Miscellaneous Wood Product Manufacturing 322110,Pulp Mills 322120,Paper Mills 322130,Paperboard Mills 322211,Corrugated and Solid Fiber Box Manufacturing 322212,Folding Paperboard Box Manufacturing 322219,Other Paperboard Container Manufacturing 322220,Paper Bag and Coated and Treated Paper Manufacturing 322230,Stationery Product Manufacturing 322291,Sanitary Paper Product Manufacturing 322299,All Other Converted Paper Product Manufacturing 323111,Commercial Printing (except Screen and Books) 323113,Commercial Screen Printing 323117,Books Printing 323120,Support Activities for Printing 324110,Petroleum Refineries 324121,Asphalt Paving Mixture and Block Manufacturing 324122,Asphalt Shingle and Coating Materials Manufacturing 324191,Petroleum Lubricating Oil and Grease Manufacturing 324199,All Other Petroleum and Coal Products Manufacturing 325110,Petrochemical Manufacturing 325120,Industrial Gas Manufacturing 325130,Synthetic Dye and Pigment Manufacturing 325180,Other Basic Inorganic Chemical Manufacturing 325193,Ethyl Alcohol Manufacturing 325194,"Cyclic Crude, Intermediate, and Gum and Wood Chemical Manufacturing" 325199,All Other Basic Organic Chemical Manufacturing 325211,Plastics Material and Resin Manufacturing 325212,Synthetic Rubber Manufacturing 325220,Artificial and Synthetic Fibers and Filaments Manufacturing 325311,Nitrogenous Fertilizer Manufacturing 325312,Phosphatic Fertilizer Manufacturing 325314,Fertilizer (Mixing Only) Manufacturing 325315,Compost Manufacturing 325320,Pesticide and Other Agricultural Chemical Manufacturing 325411,Medicinal and Botanical Manufacturing 325412,Pharmaceutical Preparation Manufacturing 325413,In-Vitro Diagnostic Substance Manufacturing 325414,Biological Product (except Diagnostic) Manufacturing 325510,Paint and Coating Manufacturing 325520,Adhesive Manufacturing 325611,Soap and Other Detergent Manufacturing 325612,Polish and Other Sanitation Good Manufacturing 325613,Surface Active Agent Manufacturing 325620,Toilet Preparation Manufacturing 325910,Printing Ink Manufacturing 325920,Explosives Manufacturing 325991,Custom Compounding of Purchased Resins 325992,"Photographic Film, Paper, Plate, Chemical, and Copy Toner Manufacturing" 325998,All Other Miscellaneous Chemical Product and Preparation Manufacturing 326111,Plastics Bag and Pouch Manufacturing 326112,Plastics Packaging Film and Sheet (including Laminated) Manufacturing 326113,Unlaminated Plastics Film and Sheet (except Packaging) Manufacturing 326121,Unlaminated Plastics Profile Shape Manufacturing 326122,Plastics Pipe and Pipe Fitting Manufacturing 326130,"Laminated Plastics Plate, Sheet (except Packaging), and Shape Manufacturing" 326140,Polystyrene Foam Product Manufacturing 326150,Urethane and Other Foam Product (except Polystyrene) Manufacturing 326160,Plastics Bottle Manufacturing 326191,Plastics Plumbing Fixture Manufacturing 326199,All Other Plastics Product Manufacturing 326211,Tire Manufacturing (except Retreading) 326212,Tire Retreading 326220,Rubber and Plastics Hoses and Belting Manufacturing 326291,Rubber Product Manufacturing for Mechanical Use 326299,All Other Rubber Product Manufacturing 327110,"Pottery, Ceramics, and Plumbing Fixture Manufacturing" 327120,Clay Building Material and Refractories Manufacturing 327211,Flat Glass Manufacturing 327212,Other Pressed and Blown Glass and Glassware Manufacturing 327213,Glass Container Manufacturing 327215,Glass Product Manufacturing Made of Purchased Glass 327310,Cement Manufacturing 327320,Ready-Mix Concrete Manufacturing 327331,Concrete Block and Brick Manufacturing 327332,Concrete Pipe Manufacturing 327390,Other Concrete Product Manufacturing 327410,Lime Manufacturing 327420,Gypsum Product Manufacturing 327910,Abrasive Product Manufacturing 327991,Cut Stone and Stone Product Manufacturing 327992,Ground or Treated Mineral and Earth Manufacturing 327993,Mineral Wool Manufacturing 327999,All Other Miscellaneous Nonmetallic Mineral Product Manufacturing 331110,Iron and Steel Mills and Ferroalloy Manufacturing 331210,Iron and Steel Pipe and Tube Manufacturing from Purchased Steel 331221,Rolled Steel Shape Manufacturing 331222,Steel Wire Drawing 331313,Alumina Refining and Primary Aluminum Production 331314,Secondary Smelting and Alloying of Aluminum 331315,"Aluminum Sheet, Plate, and Foil Manufacturing" 331318,"Other Aluminum Rolling, Drawing, and Extruding" 331410,Nonferrous Metal (except Aluminum) Smelting and Refining 331420,"Copper Rolling, Drawing, Extruding, and Alloying" 331491,"Nonferrous Metal (except Copper and Aluminum) Rolling, Drawing, and Extruding" 331492,"Secondary Smelting, Refining, and Alloying of Nonferrous Metal (except Copper and Aluminum)" 331511,Iron Foundries 331512,Steel Investment Foundries 331513,Steel Foundries (except Investment) 331523,Nonferrous Metal Die-Casting Foundries 331524,Aluminum Foundries (except Die-Casting) 331529,Other Nonferrous Metal Foundries (except Die-Casting) 332111,Iron and Steel Forging 332112,Nonferrous Forging 332114,Custom Roll Forming 332117,Powder Metallurgy Part Manufacturing 332119,"Metal Crown, Closure, and Other Metal Stamping (except Automotive)" 332215,"Metal Kitchen Cookware, Utensil, Cutlery, and Flatware (except Precious) Manufacturing" 332216,Saw Blade and Handtool Manufacturing 332311,Prefabricated Metal Building and Component Manufacturing 332312,Fabricated Structural Metal Manufacturing 332313,Plate Work Manufacturing 332321,Metal Window and Door Manufacturing 332322,Sheet Metal Work Manufacturing 332323,Ornamental and Architectural Metal Work Manufacturing 332410,Power Boiler and Heat Exchanger Manufacturing 332420,Metal Tank (Heavy Gauge) Manufacturing 332431,Metal Can Manufacturing 332439,Other Metal Container Manufacturing 332510,Hardware Manufacturing 332613,Spring Manufacturing 332618,Other Fabricated Wire Product Manufacturing 332710,Machine Shops 332721,Precision Turned Product Manufacturing 332722,"Bolt, Nut, Screw, Rivet, and Washer Manufacturing" 332811,Metal Heat Treating 332812,"Metal Coating, Engraving (except Jewelry and Silverware), and Allied Services to Manufacturers" 332813,"Electroplating, Plating, Polishing, Anodizing, and Coloring" 332911,Industrial Valve Manufacturing 332912,Fluid Power Valve and Hose Fitting Manufacturing 332913,Plumbing Fixture Fitting and Trim Manufacturing 332919,Other Metal Valve and Pipe Fitting Manufacturing 332991,Ball and Roller Bearing Manufacturing 332992,Small Arms Ammunition Manufacturing 332993,Ammunition (except Small Arms) Manufacturing 332994,"Small Arms, Ordnance, and Ordnance Accessories Manufacturing" 332996,Fabricated Pipe and Pipe Fitting Manufacturing 332999,All Other Miscellaneous Fabricated Metal Product Manufacturing 333111,Farm Machinery and Equipment Manufacturing 333112,Lawn and Garden Tractor and Home Lawn and Garden Equipment Manufacturing 333120,Construction Machinery Manufacturing 333131,Mining Machinery and Equipment Manufacturing 333132,Oil and Gas Field Machinery and Equipment Manufacturing 333241,Food Product Machinery Manufacturing 333242,Semiconductor Machinery Manufacturing 333243,"Sawmill, Woodworking, and Paper Machinery Manufacturing" 333248,All Other Industrial Machinery Manufacturing 333310,Commercial and Service Industry Machinery Manufacturing 333413,Industrial and Commercial Fan and Blower and Air Purification Equipment Manufacturing 333414,Heating Equipment (except Warm Air Furnaces) Manufacturing 333415,Air-Conditioning and Warm Air Heating Equipment and Commercial and Industrial Refrigeration Equipment Manufacturing 333511,Industrial Mold Manufacturing 333514,"Special Die and Tool, Die Set, Jig, and Fixture Manufacturing" 333515,Cutting Tool and Machine Tool Accessory Manufacturing 333517,Machine Tool Manufacturing 333519,Rolling Mill and Other Metalworking Machinery Manufacturing 333611,Turbine and Turbine Generator Set Units Manufacturing 333612,"Speed Changer, Industrial High-Speed Drive, and Gear Manufacturing" 333613,Mechanical Power Transmission Equipment Manufacturing 333618,Other Engine Equipment Manufacturing 333912,Air and Gas Compressor Manufacturing 333914,"Measuring, Dispensing, and Other Pumping Equipment Manufacturing" 333921,Elevator and Moving Stairway Manufacturing 333922,Conveyor and Conveying Equipment Manufacturing 333923,"Overhead Traveling Crane, Hoist, and Monorail System Manufacturing" 333924,"Industrial Truck, Tractor, Trailer, and Stacker Machinery Manufacturing" 333991,Power-Driven Handtool Manufacturing 333992,Welding and Soldering Equipment Manufacturing 333993,Packaging Machinery Manufacturing 333994,Industrial Process Furnace and Oven Manufacturing 333995,Fluid Power Cylinder and Actuator Manufacturing 333996,Fluid Power Pump and Motor Manufacturing 333998,All Other Miscellaneous General Purpose Machinery Manufacturing 334111,Electronic Computer Manufacturing 334112,Computer Storage Device Manufacturing 334118,Computer Terminal and Other Computer Peripheral Equipment Manufacturing 334210,Telephone Apparatus Manufacturing 334220,Radio and Television Broadcasting and Wireless Communications Equipment Manufacturing 334290,Other Communications Equipment Manufacturing 334310,Audio and Video Equipment Manufacturing 334412,Bare Printed Circuit Board Manufacturing 334413,Semiconductor and Related Device Manufacturing 334416,"Capacitor, Resistor, Coil, Transformer, and Other Inductor Manufacturing" 334417,Electronic Connector Manufacturing 334418,Printed Circuit Assembly (Electronic Assembly) Manufacturing 334419,Other Electronic Component Manufacturing 334510,Electromedical and Electrotherapeutic Apparatus Manufacturing 334511,"Search, Detection, Navigation, Guidance, Aeronautical, and Nautical System and Instrument Manufacturing" 334512,"Automatic Environmental Control Manufacturing for Residential, Commercial, and Appliance Use" 334513,"Instruments and Related Products Manufacturing for Measuring, Displaying, and Controlling Industrial Process Variables" 334514,Totalizing Fluid Meter and Counting Device Manufacturing 334515,Instrument Manufacturing for Measuring and Testing Electricity and Electrical Signals 334516,Analytical Laboratory Instrument Manufacturing 334517,Irradiation Apparatus Manufacturing 334519,Other Measuring and Controlling Device Manufacturing 334610,Manufacturing and Reproducing Magnetic and Optical Media 335131,Residential Electric Lighting Fixture Manufacturing 335132,"Commercial, Industrial, and Institutional Electric Lighting Fixture Manufacturing" 335139,Electric Lamp Bulb and Other Lighting Equipment Manufacturing 335210,Small Electrical Appliance Manufacturing 335220,Major Household Appliance Manufacturing 335311,"Power, Distribution, and Specialty Transformer Manufacturing" 335312,Motor and Generator Manufacturing 335313,Switchgear and Switchboard Apparatus Manufacturing 335314,Relay and Industrial Control Manufacturing 335910,Battery Manufacturing 335921,Fiber Optic Cable Manufacturing 335929,Other Communication and Energy Wire Manufacturing 335931,Current-Carrying Wiring Device Manufacturing 335932,Noncurrent-Carrying Wiring Device Manufacturing 335991,Carbon and Graphite Product Manufacturing 335999,All Other Miscellaneous Electrical Equipment and Component Manufacturing 336110,Automobile and Light Duty Motor Vehicle Manufacturing 336120,Heavy Duty Truck Manufacturing 336211,Motor Vehicle Body Manufacturing 336212,Truck Trailer Manufacturing 336213,Motor Home Manufacturing 336214,Travel Trailer and Camper Manufacturing 336310,Motor Vehicle Gasoline Engine and Engine Parts Manufacturing 336320,Motor Vehicle Electrical and Electronic Equipment Manufacturing 336330,Motor Vehicle Steering and Suspension Components (except Spring) Manufacturing 336340,Motor Vehicle Brake System Manufacturing 336350,Motor Vehicle Transmission and Power Train Parts Manufacturing 336360,Motor Vehicle Seating and Interior Trim Manufacturing 336370,Motor Vehicle Metal Stamping 336390,Other Motor Vehicle Parts Manufacturing 336411,Aircraft Manufacturing 336412,Aircraft Engine and Engine Parts Manufacturing 336413,Other Aircraft Parts and Auxiliary Equipment Manufacturing 336414,Guided Missile and Space Vehicle Manufacturing 336415,Guided Missile and Space Vehicle Propulsion Unit and Propulsion Unit Parts Manufacturing 336419,Other Guided Missile and Space Vehicle Parts and Auxiliary Equipment Manufacturing 336510,Railroad Rolling Stock Manufacturing 336611,Ship Building and Repairing 336612,Boat Building 336991,"Motorcycle, Bicycle, and Parts Manufacturing" 336992,"Military Armored Vehicle, Tank, and Tank Component Manufacturing" 336999,All Other Transportation Equipment Manufacturing 337110,Wood Kitchen Cabinet and Countertop Manufacturing 337121,Upholstered Household Furniture Manufacturing 337122,Nonupholstered Wood Household Furniture Manufacturing 337126,Household Furniture (except Wood and Upholstered) Manufacturing 337127,Institutional Furniture Manufacturing 337211,Wood Office Furniture Manufacturing 337212,Custom Architectural Woodwork and Millwork Manufacturing 337214,Office Furniture (except Wood) Manufacturing 337215,"Showcase, Partition, Shelving, and Locker Manufacturing" 337910,Mattress Manufacturing 337920,Blind and Shade Manufacturing 339112,Surgical and Medical Instrument Manufacturing 339113,Surgical Appliance and Supplies Manufacturing 339114,Dental Equipment and Supplies Manufacturing 339115,Ophthalmic Goods Manufacturing 339116,Dental Laboratories 339910,Jewelry and Silverware Manufacturing 339920,Sporting and Athletic Goods Manufacturing 339930,"Doll, Toy, and Game Manufacturing" 339940,Office Supplies (except Paper) Manufacturing 339950,Sign Manufacturing 339991,"Gasket, Packing, and Sealing Device Manufacturing" 339992,Musical Instrument Manufacturing 339993,"Fastener, Button, Needle, and Pin Manufacturing" 339994,"Broom, Brush, and Mop Manufacturing" 339995,Burial Casket Manufacturing 339999,All Other Miscellaneous Manufacturing 423110,Automobile and Other Motor Vehicle Merchant Wholesalers 423120,Motor Vehicle Supplies and New Parts Merchant Wholesalers 423130,Tire and Tube Merchant Wholesalers 423140,Motor Vehicle Parts (Used) Merchant Wholesalers 423210,Furniture Merchant Wholesalers 423220,Home Furnishing Merchant Wholesalers 423310,"Lumber, Plywood, Millwork, and Wood Panel Merchant Wholesalers" 423320,"Brick, Stone, and Related Construction Material Merchant Wholesalers" 423330,"Roofing, Siding, and Insulation Material Merchant Wholesalers" 423390,Other Construction Material Merchant Wholesalers 423410,Photographic Equipment and Supplies Merchant Wholesalers 423420,Office Equipment Merchant Wholesalers 423430,Computer and Computer Peripheral Equipment and Software Merchant Wholesalers 423440,Other Commercial Equipment Merchant Wholesalers 423450,"Medical, Dental, and Hospital Equipment and Supplies Merchant Wholesalers" 423460,Ophthalmic Goods Merchant Wholesalers 423490,Other Professional Equipment and Supplies Merchant Wholesalers 423510,Metal Service Centers and Other Metal Merchant Wholesalers 423520,Coal and Other Mineral and Ore Merchant Wholesalers 423610,"Electrical Apparatus and Equipment, Wiring Supplies, and Related Equipment Merchant Wholesalers" 423620,"Household Appliances, Electric Housewares, and Consumer Electronics Merchant Wholesalers" 423690,Other Electronic Parts and Equipment Merchant Wholesalers 423710,Hardware Merchant Wholesalers 423720,Plumbing and Heating Equipment and Supplies (Hydronics) Merchant Wholesalers 423730,Warm Air Heating and Air-Conditioning Equipment and Supplies Merchant Wholesalers 423740,Refrigeration Equipment and Supplies Merchant Wholesalers 423810,Construction and Mining (except Oil Well) Machinery and Equipment Merchant Wholesalers 423820,Farm and Garden Machinery and Equipment Merchant Wholesalers 423830,Industrial Machinery and Equipment Merchant Wholesalers 423840,Industrial Supplies Merchant Wholesalers 423850,Service Establishment Equipment and Supplies Merchant Wholesalers 423860,Transportation Equipment and Supplies (except Motor Vehicle) Merchant Wholesalers 423910,Sporting and Recreational Goods and Supplies Merchant Wholesalers 423920,Toy and Hobby Goods and Supplies Merchant Wholesalers 423930,Recyclable Material Merchant Wholesalers 423940,"Jewelry, Watch, Precious Stone, and Precious Metal Merchant Wholesalers" 423990,Other Miscellaneous Durable Goods Merchant Wholesalers 424110,Printing and Writing Paper Merchant Wholesalers 424120,Stationery and Office Supplies Merchant Wholesalers 424130,Industrial and Personal Service Paper Merchant Wholesalers 424210,Drugs and Druggists' Sundries Merchant Wholesalers 424310,"Piece Goods, Notions, and Other Dry Goods Merchant Wholesalers" 424340,Footwear Merchant Wholesalers 424350,Clothing and Clothing Accessories Merchant Wholesalers 424410,General Line Grocery Merchant Wholesalers 424420,Packaged Frozen Food Merchant Wholesalers 424430,Dairy Product (except Dried or Canned) Merchant Wholesalers 424440,Poultry and Poultry Product Merchant Wholesalers 424450,Confectionery Merchant Wholesalers 424460,Fish and Seafood Merchant Wholesalers 424470,Meat and Meat Product Merchant Wholesalers 424480,Fresh Fruit and Vegetable Merchant Wholesalers 424490,Other Grocery and Related Products Merchant Wholesalers 424510,Grain and Field Bean Merchant Wholesalers 424520,Livestock Merchant Wholesalers 424590,Other Farm Product Raw Material Merchant Wholesalers 424610,Plastics Materials and Basic Forms and Shapes Merchant Wholesalers 424690,Other Chemical and Allied Products Merchant Wholesalers 424710,Petroleum Bulk Stations and Terminals 424720,Petroleum and Petroleum Products Merchant Wholesalers (except Bulk Stations and Terminals) 424810,Beer and Ale Merchant Wholesalers 424820,Wine and Distilled Alcoholic Beverage Merchant Wholesalers 424910,Farm Supplies Merchant Wholesalers 424920,"Book, Periodical, and Newspaper Merchant Wholesalers" 424930,"Flower, Nursery Stock, and Florists' Supplies Merchant Wholesalers" 424940,Tobacco Product and Electronic Cigarette Merchant Wholesalers 424950,"Paint, Varnish, and Supplies Merchant Wholesalers" 424990,Other Miscellaneous Nondurable Goods Merchant Wholesalers 425120,Wholesale Trade Agents and Brokers 441110,New Car Dealers 441120,Used Car Dealers 441210,Recreational Vehicle Dealers 441222,Boat Dealers 441227,"Motorcycle, ATV, and All Other Motor Vehicle Dealers" 441330,Automotive Parts and Accessories Retailers 441340,Tire Dealers 444110,Home Centers 444120,Paint and Wallpaper Retailers 444140,Hardware Retailers 444180,Other Building Material Dealers 444230,Outdoor Power Equipment Retailers 444240,"Nursery, Garden Center, and Farm Supply Retailers" 445110,Supermarkets and Other Grocery Retailers (except Convenience Retailers) 445131,Convenience Retailers 445132,Vending Machine Operators 445230,Fruit and Vegetable Retailers 445240,Meat Retailers 445250,Fish and Seafood Retailers 445291,Baked Goods Retailers 445292,Confectionery and Nut Retailers 445298,All Other Specialty Food Retailers 445320,"Beer, Wine, and Liquor Retailers" 449110,Furniture Retailers 449121,Floor Covering Retailers 449122,Window Treatment Retailers 449129,All Other Home Furnishings Retailers 449210,Electronics and Appliance Retailers 455110,Department Stores 455211,Warehouse Clubs and Supercenters 455219,All Other General Merchandise Retailers 456110,Pharmacies and Drug Retailers 456120,"Cosmetics, Beauty Supplies, and Perfume Retailers" 456130,Optical Goods Retailers 456191,Food (Health) Supplement Retailers 456199,All Other Health and Personal Care Retailers 457110,Gasoline Stations with Convenience Stores 457120,Other Gasoline Stations 457210,Fuel Dealers 458110,Clothing and Clothing Accessories Retailers 458210,Shoe Retailers 458310,Jewelry Retailers 458320,Luggage and Leather Goods Retailers 459110,Sporting Goods Retailers 459120,"Hobby, Toy, and Game Retailers" 459130,"Sewing, Needlework, and Piece Goods Retailers" 459140,Musical Instrument and Supplies Retailers 459210,Book Retailers and News Dealers 459310,Florists 459410,Office Supplies and Stationery Retailers 459420,"Gift, Novelty, and Souvenir Retailers" 459510,Used Merchandise Retailers 459910,Pet and Pet Supplies Retailers 459920,Art Dealers 459930,Manufactured (Mobile) Home Dealers 459991,"Tobacco, Electronic Cigarette, and Other Smoking Supplies Retailers" 459999,All Other Miscellaneous Retailers 481111,Scheduled Passenger Air Transportation 481112,Scheduled Freight Air Transportation 481211,Nonscheduled Chartered Passenger Air Transportation 481212,Nonscheduled Chartered Freight Air Transportation 481219,Other Nonscheduled Air Transportation 482111,Line-Haul Railroads 482112,Short Line Railroads 483111,Deep Sea Freight Transportation 483112,Deep Sea Passenger Transportation 483113,Coastal and Great Lakes Freight Transportation 483114,Coastal and Great Lakes Passenger Transportation 483211,Inland Water Freight Transportation 483212,Inland Water Passenger Transportation 484110,"General Freight Trucking, Local" 484121,"General Freight Trucking, Long-Distance, Truckload" 484122,"General Freight Trucking, Long-Distance, Less Than Truckload" 484210,Used Household and Office Goods Moving 484220,"Specialized Freight (except Used Goods) Trucking, Local" 484230,"Specialized Freight (except Used Goods) Trucking, Long-Distance" 485111,Mixed Mode Transit Systems 485112,Commuter Rail Systems 485113,Bus and Other Motor Vehicle Transit Systems 485119,Other Urban Transit Systems 485210,Interurban and Rural Bus Transportation 485310,Taxi and Ridesharing Services 485320,Limousine Service 485410,School and Employee Bus Transportation 485510,Charter Bus Industry 485991,Special Needs Transportation 485999,All Other Transit and Ground Passenger Transportation 486110,Pipeline Transportation of Crude Oil 486210,Pipeline Transportation of Natural Gas 486910,Pipeline Transportation of Refined Petroleum Products 486990,All Other Pipeline Transportation 487110,"Scenic and Sightseeing Transportation, Land" 487210,"Scenic and Sightseeing Transportation, Water" 487990,"Scenic and Sightseeing Transportation, Other" 488111,Air Traffic Control 488119,Other Airport Operations 488190,Other Support Activities for Air Transportation 488210,Support Activities for Rail Transportation 488310,Port and Harbor Operations 488320,Marine Cargo Handling 488330,Navigational Services to Shipping 488390,Other Support Activities for Water Transportation 488410,Motor Vehicle Towing 488490,Other Support Activities for Road Transportation 488510,Freight Transportation Arrangement 488991,Packing and Crating 488999,All Other Support Activities for Transportation 491110,Postal Service 492110,Couriers and Express Delivery Services 492210,Local Messengers and Local Delivery 493110,General Warehousing and Storage 493120,Refrigerated Warehousing and Storage 493130,Farm Product Warehousing and Storage 493190,Other Warehousing and Storage 512110,Motion Picture and Video Production 512120,Motion Picture and Video Distribution 512131,Motion Picture Theaters (except Drive-Ins) 512132,Drive-In Motion Picture Theaters 512191,Teleproduction and Other Postproduction Services 512199,Other Motion Picture and Video Industries 512230,Music Publishers 512240,Sound Recording Studios 512250,Record Production and Distribution 512290,Other Sound Recording Industries 513110,Newspaper Publishers 513120,Periodical Publishers 513130,Book Publishers 513140,Directory and Mailing List Publishers 513191,Greeting Card Publishers 513199,All Other Publishers 513210,Software Publishers 516110,Radio Broadcasting Stations 516120,Television Broadcasting Stations 516210,"Media Streaming Distribution Services, Social Networks, and Other Media Networks and Content Providers" 517111,Wired Telecommunications Carriers 517112,Wireless Telecommunications Carriers (except Satellite) 517121,Telecommunications Resellers 517122,Agents for Wireless Telecommunications Services 517410,Satellite Telecommunications 517810,All Other Telecommunications 518210,"Computing Infrastructure Providers, Data Processing, Web Hosting, and Related Services" 519210,Libraries and Archives 519290,Web Search Portals and All Other Information Services 521110,Monetary Authorities-Central Bank 522110,Commercial Banking 522130,Credit Unions 522180,Savings Institutions and Other Depository Credit Intermediation 522210,Credit Card Issuing 522220,Sales Financing 522291,Consumer Lending 522292,Real Estate Credit 522299,"International, Secondary Market, and All Other Nondepository Credit Intermediation" 522310,Mortgage and Nonmortgage Loan Brokers 522320,"Financial Transactions Processing, Reserve, and Clearinghouse Activities" 522390,Other Activities Related to Credit Intermediation 523150,Investment Banking and Securities Intermediation 523160,Commodity Contracts Intermediation 523210,Securities and Commodity Exchanges 523910,Miscellaneous Intermediation 523940,Portfolio Management and Investment Advice 523991,"Trust, Fiduciary, and Custody Activities" 523999,Miscellaneous Financial Investment Activities 524113,Direct Life Insurance Carriers 524114,Direct Health and Medical Insurance Carriers 524126,Direct Property and Casualty Insurance Carriers 524127,Direct Title Insurance Carriers 524128,"Other Direct Insurance (except Life, Health, and Medical) Carriers" 524130,Reinsurance Carriers 524210,Insurance Agencies and Brokerages 524291,Claims Adjusting 524292,Pharmacy Benefit Management and Other Third Party Administration of Insurance and Pension Funds 524298,All Other Insurance Related Activities 525110,Pension Funds 525120,Health and Welfare Funds 525190,Other Insurance Funds 525910,Open-End Investment Funds 525920,"Trusts, Estates, and Agency Accounts" 525990,Other Financial Vehicles 531110,Lessors of Residential Buildings and Dwellings 531120,Lessors of Nonresidential Buildings (except Miniwarehouses) 531130,Lessors of Miniwarehouses and Self-Storage Units 531190,Lessors of Other Real Estate Property 531210,Offices of Real Estate Agents and Brokers 531311,Residential Property Managers 531312,Nonresidential Property Managers 531320,Offices of Real Estate Appraisers 531390,Other Activities Related to Real Estate 532111,Passenger Car Rental 532112,Passenger Car Leasing 532120,"Truck, Utility Trailer, and RV (Recreational Vehicle) Rental and Leasing" 532210,Consumer Electronics and Appliances Rental 532281,Formal Wear and Costume Rental 532282,Video Tape and Disc Rental 532283,Home Health Equipment Rental 532284,Recreational Goods Rental 532289,All Other Consumer Goods Rental 532310,General Rental Centers 532411,"Commercial Air, Rail, and Water Transportation Equipment Rental and Leasing" 532412,"Construction, Mining, and Forestry Machinery and Equipment Rental and Leasing" 532420,Office Machinery and Equipment Rental and Leasing 532490,Other Commercial and Industrial Machinery and Equipment Rental and Leasing 533110,Lessors of Nonfinancial Intangible Assets (except Copyrighted Works) 541110,Offices of Lawyers 541120,Offices of Notaries 541191,Title Abstract and Settlement Offices 541199,All Other Legal Services 541211,Offices of Certified Public Accountants 541213,Tax Preparation Services 541214,Payroll Services 541219,Other Accounting Services 541310,Architectural Services 541320,Landscape Architectural Services 541330,Engineering Services 541340,Drafting Services 541350,Building Inspection Services 541360,Geophysical Surveying and Mapping Services 541370,Surveying and Mapping (except Geophysical) Services 541380,Testing Laboratories and Services 541410,Interior Design Services 541420,Industrial Design Services 541430,Graphic Design Services 541490,Other Specialized Design Services 541511,Custom Computer Programming Services 541512,Computer Systems Design Services 541513,Computer Facilities Management Services 541519,Other Computer Related Services 541611,Administrative Management and General Management Consulting Services 541612,Human Resources Consulting Services 541613,Marketing Consulting Services 541614,"Process, Physical Distribution, and Logistics Consulting Services" 541618,Other Management Consulting Services 541620,Environmental Consulting Services 541690,Other Scientific and Technical Consulting Services 541713,Research and Development in Nanotechnology 541714,Research and Development in Biotechnology (except Nanobiotechnology) 541715,"Research and Development in the Physical, Engineering, and Life Sciences (except Nanotechnology and Biotechnology)" 541720,Research and Development in the Social Sciences and Humanities 541810,Advertising Agencies 541820,Public Relations Agencies 541830,Media Buying Agencies 541840,Media Representatives 541850,Indoor and Outdoor Display Advertising 541860,Direct Mail Advertising 541870,Advertising Material Distribution Services 541890,Other Services Related to Advertising 541910,Marketing Research and Public Opinion Polling 541921,"Photography Studios, Portrait" 541922,Commercial Photography 541930,Translation and Interpretation Services 541940,Veterinary Services 541990,"All Other Professional, Scientific, and Technical Services" 551111,Offices of Bank Holding Companies 551112,Offices of Other Holding Companies 551114,"Corporate, Subsidiary, and Regional Managing Offices" 561110,Office Administrative Services 561210,Facilities Support Services 561311,Employment Placement Agencies 561312,Executive Search Services 561320,Temporary Help Services 561330,Professional Employer Organizations 561410,Document Preparation Services 561421,Telephone Answering Services 561422,Telemarketing Bureaus and Other Contact Centers 561431,Private Mail Centers 561439,Other Business Service Centers (including Copy Shops) 561440,Collection Agencies 561450,Credit Bureaus 561491,Repossession Services 561492,Court Reporting and Stenotype Services 561499,All Other Business Support Services 561510,Travel Agencies 561520,Tour Operators 561591,Convention and Visitors Bureaus 561599,All Other Travel Arrangement and Reservation Services 561611,Investigation and Personal Background Check Services 561612,Security Guards and Patrol Services 561613,Armored Car Services 561621,Security Systems Services (except Locksmiths) 561622,Locksmiths 561710,Exterminating and Pest Control Services 561720,Janitorial Services 561730,Landscaping Services 561740,Carpet and Upholstery Cleaning Services 561790,Other Services to Buildings and Dwellings 561910,Packaging and Labeling Services 561920,Convention and Trade Show Organizers 561990,All Other Support Services 562111,Solid Waste Collection 562112,Hazardous Waste Collection 562119,Other Waste Collection 562211,Hazardous Waste Treatment and Disposal 562212,Solid Waste Landfill 562213,Solid Waste Combustors and Incinerators 562219,Other Nonhazardous Waste Treatment and Disposal 562910,Remediation Services 562920,Materials Recovery Facilities 562991,Septic Tank and Related Services 562998,All Other Miscellaneous Waste Management Services 611110,Elementary and Secondary Schools 611210,Junior Colleges 611310,"Colleges, Universities, and Professional Schools" 611410,Business and Secretarial Schools 611420,Computer Training 611430,Professional and Management Development Training 611511,Cosmetology and Barber Schools 611512,Flight Training 611513,Apprenticeship Training 611519,Other Technical and Trade Schools 611610,Fine Arts Schools 611620,Sports and Recreation Instruction 611630,Language Schools 611691,Exam Preparation and Tutoring 611692,Automobile Driving Schools 611699,All Other Miscellaneous Schools and Instruction 611710,Educational Support Services 621111,Offices of Physicians (except Mental Health Specialists) 621112,"Offices of Physicians, Mental Health Specialists" 621210,Offices of Dentists 621310,Offices of Chiropractors 621320,Offices of Optometrists 621330,Offices of Mental Health Practitioners (except Physicians) 621340,"Offices of Physical, Occupational and Speech Therapists, and Audiologists" 621391,Offices of Podiatrists 621399,Offices of All Other Miscellaneous Health Practitioners 621410,Family Planning Centers 621420,Outpatient Mental Health and Substance Abuse Centers 621491,HMO Medical Centers 621492,Kidney Dialysis Centers 621493,Freestanding Ambulatory Surgical and Emergency Centers 621498,All Other Outpatient Care Centers 621511,Medical Laboratories 621512,Diagnostic Imaging Centers 621610,Home Health Care Services 621910,Ambulance Services 621991,Blood and Organ Banks 621999,All Other Miscellaneous Ambulatory Health Care Services 622110,General Medical and Surgical Hospitals 622210,Psychiatric and Substance Abuse Hospitals 622310,Specialty (except Psychiatric and Substance Abuse) Hospitals 623110,Nursing Care Facilities (Skilled Nursing Facilities) 623210,Residential Intellectual and Developmental Disability Facilities 623220,Residential Mental Health and Substance Abuse Facilities 623311,Continuing Care Retirement Communities 623312,Assisted Living Facilities for the Elderly 623990,Other Residential Care Facilities 624110,Child and Youth Services 624120,Services for the Elderly and Persons with Disabilities 624190,Other Individual and Family Services 624210,Community Food Services 624221,Temporary Shelters 624229,Other Community Housing Services 624230,Emergency and Other Relief Services 624310,Vocational Rehabilitation Services 624410,Child Care Services 711110,Theater Companies and Dinner Theaters 711120,Dance Companies 711130,Musical Groups and Artists 711190,Other Performing Arts Companies 711211,Sports Teams and Clubs 711212,Racetracks 711219,Other Spectator Sports 711310,"Promoters of Performing Arts, Sports, and Similar Events with Facilities" 711320,"Promoters of Performing Arts, Sports, and Similar Events without Facilities" 711410,"Agents and Managers for Artists, Athletes, Entertainers, and Other Public Figures" 711510,"Independent Artists, Writers, and Performers" 712110,Museums 712120,Historical Sites 712130,Zoos and Botanical Gardens 712190,Nature Parks and Other Similar Institutions 713110,Amusement and Theme Parks 713120,Amusement Arcades 713210,Casinos (except Casino Hotels) 713290,Other Gambling Industries 713910,Golf Courses and Country Clubs 713920,Skiing Facilities 713930,Marinas 713940,Fitness and Recreational Sports Centers 713950,Bowling Centers 713990,All Other Amusement and Recreation Industries 721110,Hotels (except Casino Hotels) and Motels 721120,Casino Hotels 721191,Bed-and-Breakfast Inns 721199,All Other Traveler Accommodation 721211,RV (Recreational Vehicle) Parks and Campgrounds 721214,Recreational and Vacation Camps (except Campgrounds) 721310,"Rooming and Boarding Houses, Dormitories, and Workers' Camps" 722310,Food Service Contractors 722320,Caterers 722330,Mobile Food Services 722410,Drinking Places (Alcoholic Beverages) 722511,Full-Service Restaurants 722513,Limited-Service Restaurants 722514,"Cafeterias, Grill Buffets, and Buffets" 722515,Snack and Nonalcoholic Beverage Bars 811111,General Automotive Repair 811114,Specialized Automotive Repair 811121,"Automotive Body, Paint, and Interior Repair and Maintenance" 811122,Automotive Glass Replacement Shops 811191,Automotive Oil Change and Lubrication Shops 811192,Car Washes 811198,All Other Automotive Repair and Maintenance 811210,Electronic and Precision Equipment Repair and Maintenance 811310,Commercial and Industrial Machinery and Equipment (except Automotive and Electronic) Repair and Maintenance 811411,Home and Garden Equipment Repair and Maintenance 811412,Appliance Repair and Maintenance 811420,Reupholstery and Furniture Repair 811430,Footwear and Leather Goods Repair 811490,Other Personal and Household Goods Repair and Maintenance 812111,Barber Shops 812112,Beauty Salons 812113,Nail Salons 812191,Diet and Weight Reducing Centers 812199,Other Personal Care Services 812210,Funeral Homes and Funeral Services 812220,Cemeteries and Crematories 812310,Coin-Operated Laundries and Drycleaners 812320,Drycleaning and Laundry Services (except Coin-Operated) 812331,Linen Supply 812332,Industrial Launderers 812910,Pet Care (except Veterinary) Services 812921,Photofinishing Laboratories (except One-Hour) 812922,One-Hour Photofinishing 812930,Parking Lots and Garages 812990,All Other Personal Services 813110,Religious Organizations 813211,Grantmaking Foundations 813212,Voluntary Health Organizations 813219,Other Grantmaking and Giving Services 813311,Human Rights Organizations 813312,"Environment, Conservation and Wildlife Organizations" 813319,Other Social Advocacy Organizations 813410,Civic and Social Organizations 813910,Business Associations 813920,Professional Organizations 813930,Labor Unions and Similar Labor Organizations 813940,Political Organizations 813990,"Other Similar Organizations (except Business, Professional, Labor, and Political Organizations)" 814110,Private Households 921110,Executive Offices 921120,Legislative Bodies 921130,Public Finance Activities 921140,"Executive and Legislative Offices, Combined" 921150,American Indian and Alaska Native Tribal Governments 921190,Other General Government Support 922110,Courts 922120,Police Protection 922130,Legal Counsel and Prosecution 922140,Correctional Institutions 922150,Parole Offices and Probation Offices 922160,Fire Protection 922190,"Other Justice, Public Order, and Safety Activities" 923110,Administration of Education Programs 923120,Administration of Public Health Programs 923130,"Administration of Human Resource Programs (except Education, Public Health, and Veterans' Affairs Programs)" 923140,Administration of Veterans' Affairs 924110,Administration of Air and Water Resource and Solid Waste Management Programs 924120,Administration of Conservation Programs 925110,Administration of Housing Programs 925120,Administration of Urban Planning and Community and Rural Development 926110,Administration of General Economic Programs 926120,Regulation and Administration of Transportation Programs 926130,"Regulation and Administration of Communications, Electric, Gas, and Other Utilities" 926140,Regulation of Agricultural Marketing and Commodities 926150,"Regulation, Licensing, and Inspection of Miscellaneous Commercial Sectors" 927110,Space Research and Technology 928110,National Security 928120,International Affairs ``` ```json NAICS.json theme={null} [ {"code": "111110", "name": "Soybean Farming"}, {"code": "111120", "name": "Oilseed (except Soybean) Farming"}, {"code": "111130", "name": "Dry Pea and Bean Farming"}, {"code": "111140", "name": "Wheat Farming"}, {"code": "111150", "name": "Corn Farming"}, {"code": "111160", "name": "Rice Farming"}, {"code": "111191", "name": "Oilseed and Grain Combination Farming"}, {"code": "111199", "name": "All Other Grain Farming"}, {"code": "111211", "name": "Potato Farming"}, {"code": "111219", "name": "Other Vegetable (except Potato) and Melon Farming"}, {"code": "111310", "name": "Orange Groves"}, {"code": "111320", "name": "Citrus (except Orange) Groves"}, {"code": "111331", "name": "Apple Orchards"}, {"code": "111332", "name": "Grape Vineyards"}, {"code": "111333", "name": "Strawberry Farming"}, {"code": "111334", "name": "Berry (except Strawberry) Farming"}, {"code": "111335", "name": "Tree Nut Farming"}, {"code": "111336", "name": "Fruit and Tree Nut Combination Farming"}, {"code": "111339", "name": "Other Noncitrus Fruit Farming"}, {"code": "111411", "name": "Mushroom Production"}, {"code": "111419", "name": "Other Food Crops Grown Under Cover"}, {"code": "111421", "name": "Nursery and Tree Production"}, {"code": "111422", "name": "Floriculture Production"}, {"code": "111910", "name": "Tobacco Farming"}, {"code": "111920", "name": "Cotton Farming"}, {"code": "111930", "name": "Sugarcane Farming"}, {"code": "111940", "name": "Hay Farming"}, {"code": "111991", "name": "Sugar Beet Farming"}, {"code": "111992", "name": "Peanut Farming"}, {"code": "111998", "name": "All Other Miscellaneous Crop Farming"}, {"code": "112111", "name": "Beef Cattle Ranching and Farming"}, {"code": "112112", "name": "Cattle Feedlots"}, {"code": "112120", "name": "Dairy Cattle and Milk Production"}, {"code": "112130", "name": "Dual-Purpose Cattle Ranching and Farming"}, {"code": "112210", "name": "Hog and Pig Farming"}, {"code": "112310", "name": "Chicken Egg Production"}, {"code": "112320", "name": "Broilers and Other Meat Type Chicken Production"}, {"code": "112330", "name": "Turkey Production"}, {"code": "112340", "name": "Poultry Hatcheries"}, {"code": "112390", "name": "Other Poultry Production"}, {"code": "112410", "name": "Sheep Farming"}, {"code": "112420", "name": "Goat Farming"}, {"code": "112511", "name": "Finfish Farming and Fish Hatcheries"}, {"code": "112512", "name": "Shellfish Farming"}, {"code": "112519", "name": "Other Aquaculture"}, {"code": "112910", "name": "Apiculture"}, {"code": "112920", "name": "Horses and Other Equine Production"}, {"code": "112930", "name": "Fur-Bearing Animal and Rabbit Production"}, {"code": "112990", "name": "All Other Animal Production"}, {"code": "113110", "name": "Timber Tract Operations"}, {"code": "113210", "name": "Forest Nurseries and Gathering of Forest Products"}, {"code": "113310", "name": "Logging"}, {"code": "114111", "name": "Finfish Fishing"}, {"code": "114112", "name": "Shellfish Fishing"}, {"code": "114119", "name": "Other Marine Fishing"}, {"code": "114210", "name": "Hunting and Trapping"}, {"code": "115111", "name": "Cotton Ginning"}, {"code": "115112", "name": "Soil Preparation, Planting, and Cultivating"}, {"code": "115113", "name": "Crop Harvesting, Primarily by Machine"}, {"code": "115114", "name": "Postharvest Crop Activities (except Cotton Ginning)"}, {"code": "115115", "name": "Farm Labor Contractors and Crew Leaders"}, {"code": "115116", "name": "Farm Management Services"}, {"code": "115210", "name": "Support Activities for Animal Production"}, {"code": "115310", "name": "Support Activities for Forestry"}, {"code": "211120", "name": "Crude Petroleum Extraction"}, {"code": "211130", "name": "Natural Gas Extraction"}, {"code": "212114", "name": "Surface Coal Mining"}, {"code": "212115", "name": "Underground Coal Mining"}, {"code": "212210", "name": "Iron Ore Mining"}, {"code": "212220", "name": "Gold Ore and Silver Ore Mining"}, {"code": "212230", "name": "Copper, Nickel, Lead, and Zinc Mining"}, {"code": "212290", "name": "Other Metal Ore Mining"}, {"code": "212311", "name": "Dimension Stone Mining and Quarrying"}, {"code": "212312", "name": "Crushed and Broken Limestone Mining and Quarrying"}, {"code": "212313", "name": "Crushed and Broken Granite Mining and Quarrying"}, {"code": "212319", "name": "Other Crushed and Broken Stone Mining and Quarrying"}, {"code": "212321", "name": "Construction Sand and Gravel Mining"}, {"code": "212322", "name": "Industrial Sand Mining"}, {"code": "212323", "name": "Kaolin, Clay, and Ceramic and Refractory Minerals Mining"}, {"code": "212390", "name": "Other Nonmetallic Mineral Mining and Quarrying"}, {"code": "213111", "name": "Drilling Oil and Gas Wells"}, {"code": "213112", "name": "Support Activities for Oil and Gas Operations"}, {"code": "213113", "name": "Support Activities for Coal Mining"}, {"code": "213114", "name": "Support Activities for Metal Mining"}, {"code": "213115", "name": "Support Activities for Nonmetallic Minerals (except Fuels) Mining"}, {"code": "221111", "name": "Hydroelectric Power Generation"}, {"code": "221112", "name": "Fossil Fuel Electric Power Generation"}, {"code": "221113", "name": "Nuclear Electric Power Generation"}, {"code": "221114", "name": "Solar Electric Power Generation"}, {"code": "221115", "name": "Wind Electric Power Generation"}, {"code": "221116", "name": "Geothermal Electric Power Generation"}, {"code": "221117", "name": "Biomass Electric Power Generation"}, {"code": "221118", "name": "Other Electric Power Generation"}, {"code": "221121", "name": "Electric Bulk Power Transmission and Control"}, {"code": "221122", "name": "Electric Power Distribution"}, {"code": "221210", "name": "Natural Gas Distribution"}, {"code": "221310", "name": "Water Supply and Irrigation Systems"}, {"code": "221320", "name": "Sewage Treatment Facilities"}, {"code": "221330", "name": "Steam and Air-Conditioning Supply"}, {"code": "236115", "name": "New Single-Family Housing Construction (except For-Sale Builders)"}, {"code": "236116", "name": "New Multifamily Housing Construction (except For-Sale Builders)"}, {"code": "236117", "name": "New Housing For-Sale Builders"}, {"code": "236118", "name": "Residential Remodelers"}, {"code": "236210", "name": "Industrial Building Construction"}, {"code": "236220", "name": "Commercial and Institutional Building Construction"}, {"code": "237110", "name": "Water and Sewer Line and Related Structures Construction"}, {"code": "237120", "name": "Oil and Gas Pipeline and Related Structures Construction"}, {"code": "237130", "name": "Power and Communication Line and Related Structures Construction"}, {"code": "237210", "name": "Land Subdivision"}, {"code": "237310", "name": "Highway, Street, and Bridge Construction"}, {"code": "237990", "name": "Other Heavy and Civil Engineering Construction"}, {"code": "238110", "name": "Poured Concrete Foundation and Structure Contractors"}, {"code": "238120", "name": "Structural Steel and Precast Concrete Contractors"}, {"code": "238130", "name": "Framing Contractors"}, {"code": "238140", "name": "Masonry Contractors"}, {"code": "238150", "name": "Glass and Glazing Contractors"}, {"code": "238160", "name": "Roofing Contractors"}, {"code": "238170", "name": "Siding Contractors"}, {"code": "238190", "name": "Other Foundation, Structure, and Building Exterior Contractors"}, {"code": "238210", "name": "Electrical Contractors and Other Wiring Installation Contractors"}, {"code": "238220", "name": "Plumbing, Heating, and Air-Conditioning Contractors"}, {"code": "238290", "name": "Other Building Equipment Contractors"}, {"code": "238310", "name": "Drywall and Insulation Contractors"}, {"code": "238320", "name": "Painting and Wall Covering Contractors"}, {"code": "238330", "name": "Flooring Contractors"}, {"code": "238340", "name": "Tile and Terrazzo Contractors"}, {"code": "238350", "name": "Finish Carpentry Contractors"}, {"code": "238390", "name": "Other Building Finishing Contractors"}, {"code": "238910", "name": "Site Preparation Contractors"}, {"code": "238990", "name": "All Other Specialty Trade Contractors"}, {"code": "311111", "name": "Dog and Cat Food Manufacturing"}, {"code": "311119", "name": "Other Animal Food Manufacturing"}, {"code": "311211", "name": "Flour Milling"}, {"code": "311212", "name": "Rice Milling"}, {"code": "311213", "name": "Malt Manufacturing"}, {"code": "311221", "name": "Wet Corn Milling and Starch Manufacturing"}, {"code": "311224", "name": "Soybean and Other Oilseed Processing"}, {"code": "311225", "name": "Fats and Oils Refining and Blending"}, {"code": "311230", "name": "Breakfast Cereal Manufacturing"}, {"code": "311313", "name": "Beet Sugar Manufacturing"}, {"code": "311314", "name": "Cane Sugar Manufacturing"}, {"code": "311340", "name": "Nonchocolate Confectionery Manufacturing"}, {"code": "311351", "name": "Chocolate and Confectionery Manufacturing from Cacao Beans"}, {"code": "311352", "name": "Confectionery Manufacturing from Purchased Chocolate"}, {"code": "311411", "name": "Frozen Fruit, Juice, and Vegetable Manufacturing"}, {"code": "311412", "name": "Frozen Specialty Food Manufacturing"}, {"code": "311421", "name": "Fruit and Vegetable Canning"}, {"code": "311422", "name": "Specialty Canning"}, {"code": "311423", "name": "Dried and Dehydrated Food Manufacturing"}, {"code": "311511", "name": "Fluid Milk Manufacturing"}, {"code": "311512", "name": "Creamery Butter Manufacturing"}, {"code": "311513", "name": "Cheese Manufacturing"}, {"code": "311514", "name": "Dry, Condensed, and Evaporated Dairy Product Manufacturing"}, {"code": "311520", "name": "Ice Cream and Frozen Dessert Manufacturing"}, {"code": "311611", "name": "Animal (except Poultry) Slaughtering"}, {"code": "311612", "name": "Meat Processed from Carcasses"}, {"code": "311613", "name": "Rendering and Meat Byproduct Processing"}, {"code": "311615", "name": "Poultry Processing"}, {"code": "311710", "name": "Seafood Product Preparation and Packaging"}, {"code": "311811", "name": "Retail Bakeries"}, {"code": "311812", "name": "Commercial Bakeries"}, {"code": "311813", "name": "Frozen Cakes, Pies, and Other Pastries Manufacturing"}, {"code": "311821", "name": "Cookie and Cracker Manufacturing"}, {"code": "311824", "name": "Dry Pasta, Dough, and Flour Mixes Manufacturing from Purchased Flour"}, {"code": "311830", "name": "Tortilla Manufacturing"}, {"code": "311911", "name": "Roasted Nuts and Peanut Butter Manufacturing"}, {"code": "311919", "name": "Other Snack Food Manufacturing"}, {"code": "311920", "name": "Coffee and Tea Manufacturing"}, {"code": "311930", "name": "Flavoring Syrup and Concentrate Manufacturing"}, {"code": "311941", "name": "Mayonnaise, Dressing, and Other Prepared Sauce Manufacturing"}, {"code": "311942", "name": "Spice and Extract Manufacturing"}, {"code": "311991", "name": "Perishable Prepared Food Manufacturing"}, {"code": "311999", "name": "All Other Miscellaneous Food Manufacturing"}, {"code": "312111", "name": "Soft Drink Manufacturing"}, {"code": "312112", "name": "Bottled Water Manufacturing"}, {"code": "312113", "name": "Ice Manufacturing"}, {"code": "312120", "name": "Breweries"}, {"code": "312130", "name": "Wineries"}, {"code": "312140", "name": "Distilleries"}, {"code": "312230", "name": "Tobacco Manufacturing"}, {"code": "313110", "name": "Fiber, Yarn, and Thread Mills"}, {"code": "313210", "name": "Broadwoven Fabric Mills"}, {"code": "313220", "name": "Narrow Fabric Mills and Schiffli Machine Embroidery"}, {"code": "313230", "name": "Nonwoven Fabric Mills"}, {"code": "313240", "name": "Knit Fabric Mills"}, {"code": "313310", "name": "Textile and Fabric Finishing Mills"}, {"code": "313320", "name": "Fabric Coating Mills"}, {"code": "314110", "name": "Carpet and Rug Mills"}, {"code": "314120", "name": "Curtain and Linen Mills"}, {"code": "314910", "name": "Textile Bag and Canvas Mills"}, {"code": "314994", "name": "Rope, Cordage, Twine, Tire Cord, and Tire Fabric Mills"}, {"code": "314999", "name": "All Other Miscellaneous Textile Product Mills"}, {"code": "315120", "name": "Apparel Knitting Mills"}, {"code": "315210", "name": "Cut and Sew Apparel Contractors"}, {"code": "315250", "name": "Cut and Sew Apparel Manufacturing (except Contractors)"}, {"code": "315990", "name": "Apparel Accessories and Other Apparel Manufacturing"}, {"code": "316110", "name": "Leather and Hide Tanning and Finishing"}, {"code": "316210", "name": "Footwear Manufacturing"}, {"code": "316990", "name": "Other Leather and Allied Product Manufacturing"}, {"code": "321113", "name": "Sawmills"}, {"code": "321114", "name": "Wood Preservation"}, {"code": "321211", "name": "Hardwood Veneer and Plywood Manufacturing"}, {"code": "321212", "name": "Softwood Veneer and Plywood Manufacturing"}, {"code": "321215", "name": "Engineered Wood Member Manufacturing"}, {"code": "321219", "name": "Reconstituted Wood Product Manufacturing"}, {"code": "321911", "name": "Wood Window and Door Manufacturing"}, {"code": "321912", "name": "Cut Stock, Resawing Lumber, and Planing"}, {"code": "321918", "name": "Other Millwork (including Flooring)"}, {"code": "321920", "name": "Wood Container and Pallet Manufacturing"}, {"code": "321991", "name": "Manufactured Home (Mobile Home) Manufacturing"}, {"code": "321992", "name": "Prefabricated Wood Building Manufacturing"}, {"code": "321999", "name": "All Other Miscellaneous Wood Product Manufacturing"}, {"code": "322110", "name": "Pulp Mills"}, {"code": "322120", "name": "Paper Mills"}, {"code": "322130", "name": "Paperboard Mills"}, {"code": "322211", "name": "Corrugated and Solid Fiber Box Manufacturing"}, {"code": "322212", "name": "Folding Paperboard Box Manufacturing"}, {"code": "322219", "name": "Other Paperboard Container Manufacturing"}, {"code": "322220", "name": "Paper Bag and Coated and Treated Paper Manufacturing"}, {"code": "322230", "name": "Stationery Product Manufacturing"}, {"code": "322291", "name": "Sanitary Paper Product Manufacturing"}, {"code": "322299", "name": "All Other Converted Paper Product Manufacturing"}, {"code": "323111", "name": "Commercial Printing (except Screen and Books)"}, {"code": "323113", "name": "Commercial Screen Printing"}, {"code": "323117", "name": "Books Printing"}, {"code": "323120", "name": "Support Activities for Printing"}, {"code": "324110", "name": "Petroleum Refineries"}, {"code": "324121", "name": "Asphalt Paving Mixture and Block Manufacturing"}, {"code": "324122", "name": "Asphalt Shingle and Coating Materials Manufacturing"}, {"code": "324191", "name": "Petroleum Lubricating Oil and Grease Manufacturing"}, {"code": "324199", "name": "All Other Petroleum and Coal Products Manufacturing"}, {"code": "325110", "name": "Petrochemical Manufacturing"}, {"code": "325120", "name": "Industrial Gas Manufacturing"}, {"code": "325130", "name": "Synthetic Dye and Pigment Manufacturing"}, {"code": "325180", "name": "Other Basic Inorganic Chemical Manufacturing"}, {"code": "325193", "name": "Ethyl Alcohol Manufacturing"}, {"code": "325194", "name": "Cyclic Crude, Intermediate, and Gum and Wood Chemical Manufacturing"}, {"code": "325199", "name": "All Other Basic Organic Chemical Manufacturing"}, {"code": "325211", "name": "Plastics Material and Resin Manufacturing"}, {"code": "325212", "name": "Synthetic Rubber Manufacturing"}, {"code": "325220", "name": "Artificial and Synthetic Fibers and Filaments Manufacturing"}, {"code": "325311", "name": "Nitrogenous Fertilizer Manufacturing"}, {"code": "325312", "name": "Phosphatic Fertilizer Manufacturing"}, {"code": "325314", "name": "Fertilizer (Mixing Only) Manufacturing"}, {"code": "325315", "name": "Compost Manufacturing"}, {"code": "325320", "name": "Pesticide and Other Agricultural Chemical Manufacturing"}, {"code": "325411", "name": "Medicinal and Botanical Manufacturing"}, {"code": "325412", "name": "Pharmaceutical Preparation Manufacturing"}, {"code": "325413", "name": "In-Vitro Diagnostic Substance Manufacturing"}, {"code": "325414", "name": "Biological Product (except Diagnostic) Manufacturing"}, {"code": "325510", "name": "Paint and Coating Manufacturing"}, {"code": "325520", "name": "Adhesive Manufacturing"}, {"code": "325611", "name": "Soap and Other Detergent Manufacturing"}, {"code": "325612", "name": "Polish and Other Sanitation Good Manufacturing"}, {"code": "325613", "name": "Surface Active Agent Manufacturing"}, {"code": "325620", "name": "Toilet Preparation Manufacturing"}, {"code": "325910", "name": "Printing Ink Manufacturing"}, {"code": "325920", "name": "Explosives Manufacturing"}, {"code": "325991", "name": "Custom Compounding of Purchased Resins"}, {"code": "325992", "name": "Photographic Film, Paper, Plate, Chemical, and Copy Toner Manufacturing"}, {"code": "325998", "name": "All Other Miscellaneous Chemical Product and Preparation Manufacturing"}, {"code": "326111", "name": "Plastics Bag and Pouch Manufacturing"}, {"code": "326112", "name": "Plastics Packaging Film and Sheet (including Laminated) Manufacturing"}, {"code": "326113", "name": "Unlaminated Plastics Film and Sheet (except Packaging) Manufacturing"}, {"code": "326121", "name": "Unlaminated Plastics Profile Shape Manufacturing"}, {"code": "326122", "name": "Plastics Pipe and Pipe Fitting Manufacturing"}, {"code": "326130", "name": "Laminated Plastics Plate, Sheet (except Packaging), and Shape Manufacturing"}, {"code": "326140", "name": "Polystyrene Foam Product Manufacturing"}, {"code": "326150", "name": "Urethane and Other Foam Product (except Polystyrene) Manufacturing"}, {"code": "326160", "name": "Plastics Bottle Manufacturing"}, {"code": "326191", "name": "Plastics Plumbing Fixture Manufacturing"}, {"code": "326199", "name": "All Other Plastics Product Manufacturing"}, {"code": "326211", "name": "Tire Manufacturing (except Retreading)"}, {"code": "326212", "name": "Tire Retreading"}, {"code": "326220", "name": "Rubber and Plastics Hoses and Belting Manufacturing"}, {"code": "326291", "name": "Rubber Product Manufacturing for Mechanical Use"}, {"code": "326299", "name": "All Other Rubber Product Manufacturing"}, {"code": "327110", "name": "Pottery, Ceramics, and Plumbing Fixture Manufacturing"}, {"code": "327120", "name": "Clay Building Material and Refractories Manufacturing"}, {"code": "327211", "name": "Flat Glass Manufacturing"}, {"code": "327212", "name": "Other Pressed and Blown Glass and Glassware Manufacturing"}, {"code": "327213", "name": "Glass Container Manufacturing"}, {"code": "327215", "name": "Glass Product Manufacturing Made of Purchased Glass"}, {"code": "327310", "name": "Cement Manufacturing"}, {"code": "327320", "name": "Ready-Mix Concrete Manufacturing"}, {"code": "327331", "name": "Concrete Block and Brick Manufacturing"}, {"code": "327332", "name": "Concrete Pipe Manufacturing"}, {"code": "327390", "name": "Other Concrete Product Manufacturing"}, {"code": "327410", "name": "Lime Manufacturing"}, {"code": "327420", "name": "Gypsum Product Manufacturing"}, {"code": "327910", "name": "Abrasive Product Manufacturing"}, {"code": "327991", "name": "Cut Stone and Stone Product Manufacturing"}, {"code": "327992", "name": "Ground or Treated Mineral and Earth Manufacturing"}, {"code": "327993", "name": "Mineral Wool Manufacturing"}, {"code": "327999", "name": "All Other Miscellaneous Nonmetallic Mineral Product Manufacturing"}, {"code": "331110", "name": "Iron and Steel Mills and Ferroalloy Manufacturing"}, {"code": "331210", "name": "Iron and Steel Pipe and Tube Manufacturing from Purchased Steel"}, {"code": "331221", "name": "Rolled Steel Shape Manufacturing"}, {"code": "331222", "name": "Steel Wire Drawing"}, {"code": "331313", "name": "Alumina Refining and Primary Aluminum Production"}, {"code": "331314", "name": "Secondary Smelting and Alloying of Aluminum"}, {"code": "331315", "name": "Aluminum Sheet, Plate, and Foil Manufacturing"}, {"code": "331318", "name": "Other Aluminum Rolling, Drawing, and Extruding"}, {"code": "331410", "name": "Nonferrous Metal (except Aluminum) Smelting and Refining"}, {"code": "331420", "name": "Copper Rolling, Drawing, Extruding, and Alloying"}, {"code": "331491", "name": "Nonferrous Metal (except Copper and Aluminum) Rolling, Drawing, and Extruding"}, {"code": "331492", "name": "Secondary Smelting, Refining, and Alloying of Nonferrous Metal (except Copper and Aluminum)"}, {"code": "331511", "name": "Iron Foundries"}, {"code": "331512", "name": "Steel Investment Foundries"}, {"code": "331513", "name": "Steel Foundries (except Investment)"}, {"code": "331523", "name": "Nonferrous Metal Die-Casting Foundries"}, {"code": "331524", "name": "Aluminum Foundries (except Die-Casting)"}, {"code": "331529", "name": "Other Nonferrous Metal Foundries (except Die-Casting)"}, {"code": "332111", "name": "Iron and Steel Forging"}, {"code": "332112", "name": "Nonferrous Forging"}, {"code": "332114", "name": "Custom Roll Forming"}, {"code": "332117", "name": "Powder Metallurgy Part Manufacturing"}, {"code": "332119", "name": "Metal Crown, Closure, and Other Metal Stamping (except Automotive)"}, {"code": "332215", "name": "Metal Kitchen Cookware, Utensil, Cutlery, and Flatware (except Precious) Manufacturing"}, {"code": "332216", "name": "Saw Blade and Handtool Manufacturing"}, {"code": "332311", "name": "Prefabricated Metal Building and Component Manufacturing"}, {"code": "332312", "name": "Fabricated Structural Metal Manufacturing"}, {"code": "332313", "name": "Plate Work Manufacturing"}, {"code": "332321", "name": "Metal Window and Door Manufacturing"}, {"code": "332322", "name": "Sheet Metal Work Manufacturing"}, {"code": "332323", "name": "Ornamental and Architectural Metal Work Manufacturing"}, {"code": "332410", "name": "Power Boiler and Heat Exchanger Manufacturing"}, {"code": "332420", "name": "Metal Tank (Heavy Gauge) Manufacturing"}, {"code": "332431", "name": "Metal Can Manufacturing"}, {"code": "332439", "name": "Other Metal Container Manufacturing"}, {"code": "332510", "name": "Hardware Manufacturing"}, {"code": "332613", "name": "Spring Manufacturing"}, {"code": "332618", "name": "Other Fabricated Wire Product Manufacturing"}, {"code": "332710", "name": "Machine Shops"}, {"code": "332721", "name": "Precision Turned Product Manufacturing"}, {"code": "332722", "name": "Bolt, Nut, Screw, Rivet, and Washer Manufacturing"}, {"code": "332811", "name": "Metal Heat Treating"}, {"code": "332812", "name": "Metal Coating, Engraving (except Jewelry and Silverware), and Allied Services to Manufacturers"}, {"code": "332813", "name": "Electroplating, Plating, Polishing, Anodizing, and Coloring"}, {"code": "332911", "name": "Industrial Valve Manufacturing"}, {"code": "332912", "name": "Fluid Power Valve and Hose Fitting Manufacturing"}, {"code": "332913", "name": "Plumbing Fixture Fitting and Trim Manufacturing"}, {"code": "332919", "name": "Other Metal Valve and Pipe Fitting Manufacturing"}, {"code": "332991", "name": "Ball and Roller Bearing Manufacturing"}, {"code": "332992", "name": "Small Arms Ammunition Manufacturing"}, {"code": "332993", "name": "Ammunition (except Small Arms) Manufacturing"}, {"code": "332994", "name": "Small Arms, Ordnance, and Ordnance Accessories Manufacturing"}, {"code": "332996", "name": "Fabricated Pipe and Pipe Fitting Manufacturing"}, {"code": "332999", "name": "All Other Miscellaneous Fabricated Metal Product Manufacturing"}, {"code": "333111", "name": "Farm Machinery and Equipment Manufacturing"}, {"code": "333112", "name": "Lawn and Garden Tractor and Home Lawn and Garden Equipment Manufacturing"}, {"code": "333120", "name": "Construction Machinery Manufacturing"}, {"code": "333131", "name": "Mining Machinery and Equipment Manufacturing"}, {"code": "333132", "name": "Oil and Gas Field Machinery and Equipment Manufacturing"}, {"code": "333241", "name": "Food Product Machinery Manufacturing"}, {"code": "333242", "name": "Semiconductor Machinery Manufacturing"}, {"code": "333243", "name": "Sawmill, Woodworking, and Paper Machinery Manufacturing"}, {"code": "333248", "name": "All Other Industrial Machinery Manufacturing"}, {"code": "333310", "name": "Commercial and Service Industry Machinery Manufacturing"}, {"code": "333413", "name": "Industrial and Commercial Fan and Blower and Air Purification Equipment Manufacturing"}, {"code": "333414", "name": "Heating Equipment (except Warm Air Furnaces) Manufacturing"}, {"code": "333415", "name": "Air-Conditioning and Warm Air Heating Equipment and Commercial and Industrial Refrigeration Equipment Manufacturing"}, {"code": "333511", "name": "Industrial Mold Manufacturing"}, {"code": "333514", "name": "Special Die and Tool, Die Set, Jig, and Fixture Manufacturing"}, {"code": "333515", "name": "Cutting Tool and Machine Tool Accessory Manufacturing"}, {"code": "333517", "name": "Machine Tool Manufacturing"}, {"code": "333519", "name": "Rolling Mill and Other Metalworking Machinery Manufacturing"}, {"code": "333611", "name": "Turbine and Turbine Generator Set Units Manufacturing"}, {"code": "333612", "name": "Speed Changer, Industrial High-Speed Drive, and Gear Manufacturing"}, {"code": "333613", "name": "Mechanical Power Transmission Equipment Manufacturing"}, {"code": "333618", "name": "Other Engine Equipment Manufacturing"}, {"code": "333912", "name": "Air and Gas Compressor Manufacturing"}, {"code": "333914", "name": "Measuring, Dispensing, and Other Pumping Equipment Manufacturing"}, {"code": "333921", "name": "Elevator and Moving Stairway Manufacturing"}, {"code": "333922", "name": "Conveyor and Conveying Equipment Manufacturing"}, {"code": "333923", "name": "Overhead Traveling Crane, Hoist, and Monorail System Manufacturing"}, {"code": "333924", "name": "Industrial Truck, Tractor, Trailer, and Stacker Machinery Manufacturing"}, {"code": "333991", "name": "Power-Driven Handtool Manufacturing"}, {"code": "333992", "name": "Welding and Soldering Equipment Manufacturing"}, {"code": "333993", "name": "Packaging Machinery Manufacturing"}, {"code": "333994", "name": "Industrial Process Furnace and Oven Manufacturing"}, {"code": "333995", "name": "Fluid Power Cylinder and Actuator Manufacturing"}, {"code": "333996", "name": "Fluid Power Pump and Motor Manufacturing"}, {"code": "333998", "name": "All Other Miscellaneous General Purpose Machinery Manufacturing"}, {"code": "334111", "name": "Electronic Computer Manufacturing"}, {"code": "334112", "name": "Computer Storage Device Manufacturing"}, {"code": "334118", "name": "Computer Terminal and Other Computer Peripheral Equipment Manufacturing"}, {"code": "334210", "name": "Telephone Apparatus Manufacturing"}, {"code": "334220", "name": "Radio and Television Broadcasting and Wireless Communications Equipment Manufacturing"}, {"code": "334290", "name": "Other Communications Equipment Manufacturing"}, {"code": "334310", "name": "Audio and Video Equipment Manufacturing"}, {"code": "334412", "name": "Bare Printed Circuit Board Manufacturing"}, {"code": "334413", "name": "Semiconductor and Related Device Manufacturing"}, {"code": "334416", "name": "Capacitor, Resistor, Coil, Transformer, and Other Inductor Manufacturing"}, {"code": "334417", "name": "Electronic Connector Manufacturing"}, {"code": "334418", "name": "Printed Circuit Assembly (Electronic Assembly) Manufacturing"}, {"code": "334419", "name": "Other Electronic Component Manufacturing"}, {"code": "334510", "name": "Electromedical and Electrotherapeutic Apparatus Manufacturing"}, {"code": "334511", "name": "Search, Detection, Navigation, Guidance, Aeronautical, and Nautical System and Instrument Manufacturing"}, {"code": "334512", "name": "Automatic Environmental Control Manufacturing for Residential, Commercial, and Appliance Use"}, {"code": "334513", "name": "Instruments and Related Products Manufacturing for Measuring, Displaying, and Controlling Industrial Process Variables"}, {"code": "334514", "name": "Totalizing Fluid Meter and Counting Device Manufacturing"}, {"code": "334515", "name": "Instrument Manufacturing for Measuring and Testing Electricity and Electrical Signals"}, {"code": "334516", "name": "Analytical Laboratory Instrument Manufacturing"}, {"code": "334517", "name": "Irradiation Apparatus Manufacturing"}, {"code": "334519", "name": "Other Measuring and Controlling Device Manufacturing"}, {"code": "334610", "name": "Manufacturing and Reproducing Magnetic and Optical Media"}, {"code": "335131", "name": "Residential Electric Lighting Fixture Manufacturing"}, {"code": "335132", "name": "Commercial, Industrial, and Institutional Electric Lighting Fixture Manufacturing"}, {"code": "335139", "name": "Electric Lamp Bulb and Other Lighting Equipment Manufacturing"}, {"code": "335210", "name": "Small Electrical Appliance Manufacturing"}, {"code": "335220", "name": "Major Household Appliance Manufacturing"}, {"code": "335311", "name": "Power, Distribution, and Specialty Transformer Manufacturing"}, {"code": "335312", "name": "Motor and Generator Manufacturing"}, {"code": "335313", "name": "Switchgear and Switchboard Apparatus Manufacturing"}, {"code": "335314", "name": "Relay and Industrial Control Manufacturing"}, {"code": "335910", "name": "Battery Manufacturing"}, {"code": "335921", "name": "Fiber Optic Cable Manufacturing"}, {"code": "335929", "name": "Other Communication and Energy Wire Manufacturing"}, {"code": "335931", "name": "Current-Carrying Wiring Device Manufacturing"}, {"code": "335932", "name": "Noncurrent-Carrying Wiring Device Manufacturing"}, {"code": "335991", "name": "Carbon and Graphite Product Manufacturing"}, {"code": "335999", "name": "All Other Miscellaneous Electrical Equipment and Component Manufacturing"}, {"code": "336110", "name": "Automobile and Light Duty Motor Vehicle Manufacturing"}, {"code": "336120", "name": "Heavy Duty Truck Manufacturing"}, {"code": "336211", "name": "Motor Vehicle Body Manufacturing"}, {"code": "336212", "name": "Truck Trailer Manufacturing"}, {"code": "336213", "name": "Motor Home Manufacturing"}, {"code": "336214", "name": "Travel Trailer and Camper Manufacturing"}, {"code": "336310", "name": "Motor Vehicle Gasoline Engine and Engine Parts Manufacturing"}, {"code": "336320", "name": "Motor Vehicle Electrical and Electronic Equipment Manufacturing"}, {"code": "336330", "name": "Motor Vehicle Steering and Suspension Components (except Spring) Manufacturing"}, {"code": "336340", "name": "Motor Vehicle Brake System Manufacturing"}, {"code": "336350", "name": "Motor Vehicle Transmission and Power Train Parts Manufacturing"}, {"code": "336360", "name": "Motor Vehicle Seating and Interior Trim Manufacturing"}, {"code": "336370", "name": "Motor Vehicle Metal Stamping"}, {"code": "336390", "name": "Other Motor Vehicle Parts Manufacturing"}, {"code": "336411", "name": "Aircraft Manufacturing"}, {"code": "336412", "name": "Aircraft Engine and Engine Parts Manufacturing"}, {"code": "336413", "name": "Other Aircraft Parts and Auxiliary Equipment Manufacturing"}, {"code": "336414", "name": "Guided Missile and Space Vehicle Manufacturing"}, {"code": "336415", "name": "Guided Missile and Space Vehicle Propulsion Unit and Propulsion Unit Parts Manufacturing"}, {"code": "336419", "name": "Other Guided Missile and Space Vehicle Parts and Auxiliary Equipment Manufacturing"}, {"code": "336510", "name": "Railroad Rolling Stock Manufacturing"}, {"code": "336611", "name": "Ship Building and Repairing"}, {"code": "336612", "name": "Boat Building"}, {"code": "336991", "name": "Motorcycle, Bicycle, and Parts Manufacturing"}, {"code": "336992", "name": "Military Armored Vehicle, Tank, and Tank Component Manufacturing"}, {"code": "336999", "name": "All Other Transportation Equipment Manufacturing"}, {"code": "337110", "name": "Wood Kitchen Cabinet and Countertop Manufacturing"}, {"code": "337121", "name": "Upholstered Household Furniture Manufacturing"}, {"code": "337122", "name": "Nonupholstered Wood Household Furniture Manufacturing"}, {"code": "337126", "name": "Household Furniture (except Wood and Upholstered) Manufacturing"}, {"code": "337127", "name": "Institutional Furniture Manufacturing"}, {"code": "337211", "name": "Wood Office Furniture Manufacturing"}, {"code": "337212", "name": "Custom Architectural Woodwork and Millwork Manufacturing"}, {"code": "337214", "name": "Office Furniture (except Wood) Manufacturing"}, {"code": "337215", "name": "Showcase, Partition, Shelving, and Locker Manufacturing"}, {"code": "337910", "name": "Mattress Manufacturing"}, {"code": "337920", "name": "Blind and Shade Manufacturing"}, {"code": "339112", "name": "Surgical and Medical Instrument Manufacturing"}, {"code": "339113", "name": "Surgical Appliance and Supplies Manufacturing"}, {"code": "339114", "name": "Dental Equipment and Supplies Manufacturing"}, {"code": "339115", "name": "Ophthalmic Goods Manufacturing"}, {"code": "339116", "name": "Dental Laboratories"}, {"code": "339910", "name": "Jewelry and Silverware Manufacturing"}, {"code": "339920", "name": "Sporting and Athletic Goods Manufacturing"}, {"code": "339930", "name": "Doll, Toy, and Game Manufacturing"}, {"code": "339940", "name": "Office Supplies (except Paper) Manufacturing"}, {"code": "339950", "name": "Sign Manufacturing"}, {"code": "339991", "name": "Gasket, Packing, and Sealing Device Manufacturing"}, {"code": "339992", "name": "Musical Instrument Manufacturing"}, {"code": "339993", "name": "Fastener, Button, Needle, and Pin Manufacturing"}, {"code": "339994", "name": "Broom, Brush, and Mop Manufacturing"}, {"code": "339995", "name": "Burial Casket Manufacturing"}, {"code": "339999", "name": "All Other Miscellaneous Manufacturing"}, {"code": "423110", "name": "Automobile and Other Motor Vehicle Merchant Wholesalers"}, {"code": "423120", "name": "Motor Vehicle Supplies and New Parts Merchant Wholesalers"}, {"code": "423130", "name": "Tire and Tube Merchant Wholesalers"}, {"code": "423140", "name": "Motor Vehicle Parts (Used) Merchant Wholesalers"}, {"code": "423210", "name": "Furniture Merchant Wholesalers"}, {"code": "423220", "name": "Home Furnishing Merchant Wholesalers"}, {"code": "423310", "name": "Lumber, Plywood, Millwork, and Wood Panel Merchant Wholesalers"}, {"code": "423320", "name": "Brick, Stone, and Related Construction Material Merchant Wholesalers"}, {"code": "423330", "name": "Roofing, Siding, and Insulation Material Merchant Wholesalers"}, {"code": "423390", "name": "Other Construction Material Merchant Wholesalers"}, {"code": "423410", "name": "Photographic Equipment and Supplies Merchant Wholesalers"}, {"code": "423420", "name": "Office Equipment Merchant Wholesalers"}, {"code": "423430", "name": "Computer and Computer Peripheral Equipment and Software Merchant Wholesalers"}, {"code": "423440", "name": "Other Commercial Equipment Merchant Wholesalers"}, {"code": "423450", "name": "Medical, Dental, and Hospital Equipment and Supplies Merchant Wholesalers"}, {"code": "423460", "name": "Ophthalmic Goods Merchant Wholesalers"}, {"code": "423490", "name": "Other Professional Equipment and Supplies Merchant Wholesalers"}, {"code": "423510", "name": "Metal Service Centers and Other Metal Merchant Wholesalers"}, {"code": "423520", "name": "Coal and Other Mineral and Ore Merchant Wholesalers"}, {"code": "423610", "name": "Electrical Apparatus and Equipment, Wiring Supplies, and Related Equipment Merchant Wholesalers"}, {"code": "423620", "name": "Household Appliances, Electric Housewares, and Consumer Electronics Merchant Wholesalers"}, {"code": "423690", "name": "Other Electronic Parts and Equipment Merchant Wholesalers"}, {"code": "423710", "name": "Hardware Merchant Wholesalers"}, {"code": "423720", "name": "Plumbing and Heating Equipment and Supplies (Hydronics) Merchant Wholesalers"}, {"code": "423730", "name": "Warm Air Heating and Air-Conditioning Equipment and Supplies Merchant Wholesalers"}, {"code": "423740", "name": "Refrigeration Equipment and Supplies Merchant Wholesalers"}, {"code": "423810", "name": "Construction and Mining (except Oil Well) Machinery and Equipment Merchant Wholesalers"}, {"code": "423820", "name": "Farm and Garden Machinery and Equipment Merchant Wholesalers"}, {"code": "423830", "name": "Industrial Machinery and Equipment Merchant Wholesalers"}, {"code": "423840", "name": "Industrial Supplies Merchant Wholesalers"}, {"code": "423850", "name": "Service Establishment Equipment and Supplies Merchant Wholesalers"}, {"code": "423860", "name": "Transportation Equipment and Supplies (except Motor Vehicle) Merchant Wholesalers"}, {"code": "423910", "name": "Sporting and Recreational Goods and Supplies Merchant Wholesalers"}, {"code": "423920", "name": "Toy and Hobby Goods and Supplies Merchant Wholesalers"}, {"code": "423930", "name": "Recyclable Material Merchant Wholesalers"}, {"code": "423940", "name": "Jewelry, Watch, Precious Stone, and Precious Metal Merchant Wholesalers"}, {"code": "423990", "name": "Other Miscellaneous Durable Goods Merchant Wholesalers"}, {"code": "424110", "name": "Printing and Writing Paper Merchant Wholesalers"}, {"code": "424120", "name": "Stationery and Office Supplies Merchant Wholesalers"}, {"code": "424130", "name": "Industrial and Personal Service Paper Merchant Wholesalers"}, {"code": "424210", "name": "Drugs and Druggists' Sundries Merchant Wholesalers"}, {"code": "424310", "name": "Piece Goods, Notions, and Other Dry Goods Merchant Wholesalers"}, {"code": "424340", "name": "Footwear Merchant Wholesalers"}, {"code": "424350", "name": "Clothing and Clothing Accessories Merchant Wholesalers"}, {"code": "424410", "name": "General Line Grocery Merchant Wholesalers"}, {"code": "424420", "name": "Packaged Frozen Food Merchant Wholesalers"}, {"code": "424430", "name": "Dairy Product (except Dried or Canned) Merchant Wholesalers"}, {"code": "424440", "name": "Poultry and Poultry Product Merchant Wholesalers"}, {"code": "424450", "name": "Confectionery Merchant Wholesalers"}, {"code": "424460", "name": "Fish and Seafood Merchant Wholesalers"}, {"code": "424470", "name": "Meat and Meat Product Merchant Wholesalers"}, {"code": "424480", "name": "Fresh Fruit and Vegetable Merchant Wholesalers"}, {"code": "424490", "name": "Other Grocery and Related Products Merchant Wholesalers"}, {"code": "424510", "name": "Grain and Field Bean Merchant Wholesalers"}, {"code": "424520", "name": "Livestock Merchant Wholesalers"}, {"code": "424590", "name": "Other Farm Product Raw Material Merchant Wholesalers"}, {"code": "424610", "name": "Plastics Materials and Basic Forms and Shapes Merchant Wholesalers"}, {"code": "424690", "name": "Other Chemical and Allied Products Merchant Wholesalers"}, {"code": "424710", "name": "Petroleum Bulk Stations and Terminals"}, {"code": "424720", "name": "Petroleum and Petroleum Products Merchant Wholesalers (except Bulk Stations and Terminals)"}, {"code": "424810", "name": "Beer and Ale Merchant Wholesalers"}, {"code": "424820", "name": "Wine and Distilled Alcoholic Beverage Merchant Wholesalers"}, {"code": "424910", "name": "Farm Supplies Merchant Wholesalers"}, {"code": "424920", "name": "Book, Periodical, and Newspaper Merchant Wholesalers"}, {"code": "424930", "name": "Flower, Nursery Stock, and Florists' Supplies Merchant Wholesalers"}, {"code": "424940", "name": "Tobacco Product and Electronic Cigarette Merchant Wholesalers"}, {"code": "424950", "name": "Paint, Varnish, and Supplies Merchant Wholesalers"}, {"code": "424990", "name": "Other Miscellaneous Nondurable Goods Merchant Wholesalers"}, {"code": "425120", "name": "Wholesale Trade Agents and Brokers"}, {"code": "441110", "name": "New Car Dealers"}, {"code": "441120", "name": "Used Car Dealers"}, {"code": "441210", "name": "Recreational Vehicle Dealers"}, {"code": "441222", "name": "Boat Dealers"}, {"code": "441227", "name": "Motorcycle, ATV, and All Other Motor Vehicle Dealers"}, {"code": "441330", "name": "Automotive Parts and Accessories Retailers"}, {"code": "441340", "name": "Tire Dealers"}, {"code": "444110", "name": "Home Centers"}, {"code": "444120", "name": "Paint and Wallpaper Retailers"}, {"code": "444140", "name": "Hardware Retailers"}, {"code": "444180", "name": "Other Building Material Dealers"}, {"code": "444230", "name": "Outdoor Power Equipment Retailers"}, {"code": "444240", "name": "Nursery, Garden Center, and Farm Supply Retailers"}, {"code": "445110", "name": "Supermarkets and Other Grocery Retailers (except Convenience Retailers)"}, {"code": "445131", "name": "Convenience Retailers"}, {"code": "445132", "name": "Vending Machine Operators"}, {"code": "445230", "name": "Fruit and Vegetable Retailers"}, {"code": "445240", "name": "Meat Retailers"}, {"code": "445250", "name": "Fish and Seafood Retailers"}, {"code": "445291", "name": "Baked Goods Retailers"}, {"code": "445292", "name": "Confectionery and Nut Retailers"}, {"code": "445298", "name": "All Other Specialty Food Retailers"}, {"code": "445320", "name": "Beer, Wine, and Liquor Retailers"}, {"code": "449110", "name": "Furniture Retailers"}, {"code": "449121", "name": "Floor Covering Retailers"}, {"code": "449122", "name": "Window Treatment Retailers"}, {"code": "449129", "name": "All Other Home Furnishings Retailers"}, {"code": "449210", "name": "Electronics and Appliance Retailers"}, {"code": "455110", "name": "Department Stores"}, {"code": "455211", "name": "Warehouse Clubs and Supercenters"}, {"code": "455219", "name": "All Other General Merchandise Retailers"}, {"code": "456110", "name": "Pharmacies and Drug Retailers"}, {"code": "456120", "name": "Cosmetics, Beauty Supplies, and Perfume Retailers"}, {"code": "456130", "name": "Optical Goods Retailers"}, {"code": "456191", "name": "Food (Health) Supplement Retailers"}, {"code": "456199", "name": "All Other Health and Personal Care Retailers"}, {"code": "457110", "name": "Gasoline Stations with Convenience Stores"}, {"code": "457120", "name": "Other Gasoline Stations"}, {"code": "457210", "name": "Fuel Dealers"}, {"code": "458110", "name": "Clothing and Clothing Accessories Retailers"}, {"code": "458210", "name": "Shoe Retailers"}, {"code": "458310", "name": "Jewelry Retailers"}, {"code": "458320", "name": "Luggage and Leather Goods Retailers"}, {"code": "459110", "name": "Sporting Goods Retailers"}, {"code": "459120", "name": "Hobby, Toy, and Game Retailers"}, {"code": "459130", "name": "Sewing, Needlework, and Piece Goods Retailers"}, {"code": "459140", "name": "Musical Instrument and Supplies Retailers"}, {"code": "459210", "name": "Book Retailers and News Dealers"}, {"code": "459310", "name": "Florists"}, {"code": "459410", "name": "Office Supplies and Stationery Retailers"}, {"code": "459420", "name": "Gift, Novelty, and Souvenir Retailers"}, {"code": "459510", "name": "Used Merchandise Retailers"}, {"code": "459910", "name": "Pet and Pet Supplies Retailers"}, {"code": "459920", "name": "Art Dealers"}, {"code": "459930", "name": "Manufactured (Mobile) Home Dealers"}, {"code": "459991", "name": "Tobacco, Electronic Cigarette, and Other Smoking Supplies Retailers"}, {"code": "459999", "name": "All Other Miscellaneous Retailers"}, {"code": "481111", "name": "Scheduled Passenger Air Transportation"}, {"code": "481112", "name": "Scheduled Freight Air Transportation"}, {"code": "481211", "name": "Nonscheduled Chartered Passenger Air Transportation"}, {"code": "481212", "name": "Nonscheduled Chartered Freight Air Transportation"}, {"code": "481219", "name": "Other Nonscheduled Air Transportation"}, {"code": "482111", "name": "Line-Haul Railroads"}, {"code": "482112", "name": "Short Line Railroads"}, {"code": "483111", "name": "Deep Sea Freight Transportation"}, {"code": "483112", "name": "Deep Sea Passenger Transportation"}, {"code": "483113", "name": "Coastal and Great Lakes Freight Transportation"}, {"code": "483114", "name": "Coastal and Great Lakes Passenger Transportation"}, {"code": "483211", "name": "Inland Water Freight Transportation"}, {"code": "483212", "name": "Inland Water Passenger Transportation"}, {"code": "484110", "name": "General Freight Trucking, Local"}, {"code": "484121", "name": "General Freight Trucking, Long-Distance, Truckload"}, {"code": "484122", "name": "General Freight Trucking, Long-Distance, Less Than Truckload"}, {"code": "484210", "name": "Used Household and Office Goods Moving"}, {"code": "484220", "name": "Specialized Freight (except Used Goods) Trucking, Local"}, {"code": "484230", "name": "Specialized Freight (except Used Goods) Trucking, Long-Distance"}, {"code": "485111", "name": "Mixed Mode Transit Systems"}, {"code": "485112", "name": "Commuter Rail Systems"}, {"code": "485113", "name": "Bus and Other Motor Vehicle Transit Systems"}, {"code": "485119", "name": "Other Urban Transit Systems"}, {"code": "485210", "name": "Interurban and Rural Bus Transportation"}, {"code": "485310", "name": "Taxi and Ridesharing Services"}, {"code": "485320", "name": "Limousine Service"}, {"code": "485410", "name": "School and Employee Bus Transportation"}, {"code": "485510", "name": "Charter Bus Industry"}, {"code": "485991", "name": "Special Needs Transportation"}, {"code": "485999", "name": "All Other Transit and Ground Passenger Transportation"}, {"code": "486110", "name": "Pipeline Transportation of Crude Oil"}, {"code": "486210", "name": "Pipeline Transportation of Natural Gas"}, {"code": "486910", "name": "Pipeline Transportation of Refined Petroleum Products"}, {"code": "486990", "name": "All Other Pipeline Transportation"}, {"code": "487110", "name": "Scenic and Sightseeing Transportation, Land"}, {"code": "487210", "name": "Scenic and Sightseeing Transportation, Water"}, {"code": "487990", "name": "Scenic and Sightseeing Transportation, Other"}, {"code": "488111", "name": "Air Traffic Control"}, {"code": "488119", "name": "Other Airport Operations"}, {"code": "488190", "name": "Other Support Activities for Air Transportation"}, {"code": "488210", "name": "Support Activities for Rail Transportation"}, {"code": "488310", "name": "Port and Harbor Operations"}, {"code": "488320", "name": "Marine Cargo Handling"}, {"code": "488330", "name": "Navigational Services to Shipping"}, {"code": "488390", "name": "Other Support Activities for Water Transportation"}, {"code": "488410", "name": "Motor Vehicle Towing"}, {"code": "488490", "name": "Other Support Activities for Road Transportation"}, {"code": "488510", "name": "Freight Transportation Arrangement"}, {"code": "488991", "name": "Packing and Crating"}, {"code": "488999", "name": "All Other Support Activities for Transportation"}, {"code": "491110", "name": "Postal Service"}, {"code": "492110", "name": "Couriers and Express Delivery Services"}, {"code": "492210", "name": "Local Messengers and Local Delivery"}, {"code": "493110", "name": "General Warehousing and Storage"}, {"code": "493120", "name": "Refrigerated Warehousing and Storage"}, {"code": "493130", "name": "Farm Product Warehousing and Storage"}, {"code": "493190", "name": "Other Warehousing and Storage"}, {"code": "512110", "name": "Motion Picture and Video Production"}, {"code": "512120", "name": "Motion Picture and Video Distribution"}, {"code": "512131", "name": "Motion Picture Theaters (except Drive-Ins)"}, {"code": "512132", "name": "Drive-In Motion Picture Theaters"}, {"code": "512191", "name": "Teleproduction and Other Postproduction Services"}, {"code": "512199", "name": "Other Motion Picture and Video Industries"}, {"code": "512230", "name": "Music Publishers"}, {"code": "512240", "name": "Sound Recording Studios"}, {"code": "512250", "name": "Record Production and Distribution"}, {"code": "512290", "name": "Other Sound Recording Industries"}, {"code": "513110", "name": "Newspaper Publishers"}, {"code": "513120", "name": "Periodical Publishers"}, {"code": "513130", "name": "Book Publishers"}, {"code": "513140", "name": "Directory and Mailing List Publishers"}, {"code": "513191", "name": "Greeting Card Publishers"}, {"code": "513199", "name": "All Other Publishers"}, {"code": "513210", "name": "Software Publishers"}, {"code": "516110", "name": "Radio Broadcasting Stations"}, {"code": "516120", "name": "Television Broadcasting Stations"}, {"code": "516210", "name": "Media Streaming Distribution Services, Social Networks, and Other Media Networks and Content Providers"}, {"code": "517111", "name": "Wired Telecommunications Carriers"}, {"code": "517112", "name": "Wireless Telecommunications Carriers (except Satellite)"}, {"code": "517121", "name": "Telecommunications Resellers"}, {"code": "517122", "name": "Agents for Wireless Telecommunications Services"}, {"code": "517410", "name": "Satellite Telecommunications"}, {"code": "517810", "name": "All Other Telecommunications"}, {"code": "518210", "name": "Computing Infrastructure Providers, Data Processing, Web Hosting, and Related Services"}, {"code": "519210", "name": "Libraries and Archives"}, {"code": "519290", "name": "Web Search Portals and All Other Information Services"}, {"code": "521110", "name": "Monetary Authorities-Central Bank"}, {"code": "522110", "name": "Commercial Banking"}, {"code": "522130", "name": "Credit Unions"}, {"code": "522180", "name": "Savings Institutions and Other Depository Credit Intermediation"}, {"code": "522210", "name": "Credit Card Issuing"}, {"code": "522220", "name": "Sales Financing"}, {"code": "522291", "name": "Consumer Lending"}, {"code": "522292", "name": "Real Estate Credit"}, {"code": "522299", "name": "International, Secondary Market, and All Other Nondepository Credit Intermediation"}, {"code": "522310", "name": "Mortgage and Nonmortgage Loan Brokers"}, {"code": "522320", "name": "Financial Transactions Processing, Reserve, and Clearinghouse Activities"}, {"code": "522390", "name": "Other Activities Related to Credit Intermediation"}, {"code": "523150", "name": "Investment Banking and Securities Intermediation"}, {"code": "523160", "name": "Commodity Contracts Intermediation"}, {"code": "523210", "name": "Securities and Commodity Exchanges"}, {"code": "523910", "name": "Miscellaneous Intermediation"}, {"code": "523940", "name": "Portfolio Management and Investment Advice"}, {"code": "523991", "name": "Trust, Fiduciary, and Custody Activities"}, {"code": "523999", "name": "Miscellaneous Financial Investment Activities"}, {"code": "524113", "name": "Direct Life Insurance Carriers"}, {"code": "524114", "name": "Direct Health and Medical Insurance Carriers"}, {"code": "524126", "name": "Direct Property and Casualty Insurance Carriers"}, {"code": "524127", "name": "Direct Title Insurance Carriers"}, {"code": "524128", "name": "Other Direct Insurance (except Life, Health, and Medical) Carriers"}, {"code": "524130", "name": "Reinsurance Carriers"}, {"code": "524210", "name": "Insurance Agencies and Brokerages"}, {"code": "524291", "name": "Claims Adjusting"}, {"code": "524292", "name": "Pharmacy Benefit Management and Other Third Party Administration of Insurance and Pension Funds"}, {"code": "524298", "name": "All Other Insurance Related Activities"}, {"code": "525110", "name": "Pension Funds"}, {"code": "525120", "name": "Health and Welfare Funds"}, {"code": "525190", "name": "Other Insurance Funds"}, {"code": "525910", "name": "Open-End Investment Funds"}, {"code": "525920", "name": "Trusts, Estates, and Agency Accounts"}, {"code": "525990", "name": "Other Financial Vehicles"}, {"code": "531110", "name": "Lessors of Residential Buildings and Dwellings"}, {"code": "531120", "name": "Lessors of Nonresidential Buildings (except Miniwarehouses)"}, {"code": "531130", "name": "Lessors of Miniwarehouses and Self-Storage Units"}, {"code": "531190", "name": "Lessors of Other Real Estate Property"}, {"code": "531210", "name": "Offices of Real Estate Agents and Brokers"}, {"code": "531311", "name": "Residential Property Managers"}, {"code": "531312", "name": "Nonresidential Property Managers"}, {"code": "531320", "name": "Offices of Real Estate Appraisers"}, {"code": "531390", "name": "Other Activities Related to Real Estate"}, {"code": "532111", "name": "Passenger Car Rental"}, {"code": "532112", "name": "Passenger Car Leasing"}, {"code": "532120", "name": "Truck, Utility Trailer, and RV (Recreational Vehicle) Rental and Leasing"}, {"code": "532210", "name": "Consumer Electronics and Appliances Rental"}, {"code": "532281", "name": "Formal Wear and Costume Rental"}, {"code": "532282", "name": "Video Tape and Disc Rental"}, {"code": "532283", "name": "Home Health Equipment Rental"}, {"code": "532284", "name": "Recreational Goods Rental"}, {"code": "532289", "name": "All Other Consumer Goods Rental"}, {"code": "532310", "name": "General Rental Centers"}, {"code": "532411", "name": "Commercial Air, Rail, and Water Transportation Equipment Rental and Leasing"}, {"code": "532412", "name": "Construction, Mining, and Forestry Machinery and Equipment Rental and Leasing"}, {"code": "532420", "name": "Office Machinery and Equipment Rental and Leasing"}, {"code": "532490", "name": "Other Commercial and Industrial Machinery and Equipment Rental and Leasing"}, {"code": "533110", "name": "Lessors of Nonfinancial Intangible Assets (except Copyrighted Works)"}, {"code": "541110", "name": "Offices of Lawyers"}, {"code": "541120", "name": "Offices of Notaries"}, {"code": "541191", "name": "Title Abstract and Settlement Offices"}, {"code": "541199", "name": "All Other Legal Services"}, {"code": "541211", "name": "Offices of Certified Public Accountants"}, {"code": "541213", "name": "Tax Preparation Services"}, {"code": "541214", "name": "Payroll Services"}, {"code": "541219", "name": "Other Accounting Services"}, {"code": "541310", "name": "Architectural Services"}, {"code": "541320", "name": "Landscape Architectural Services"}, {"code": "541330", "name": "Engineering Services"}, {"code": "541340", "name": "Drafting Services"}, {"code": "541350", "name": "Building Inspection Services"}, {"code": "541360", "name": "Geophysical Surveying and Mapping Services"}, {"code": "541370", "name": "Surveying and Mapping (except Geophysical) Services"}, {"code": "541380", "name": "Testing Laboratories and Services"}, {"code": "541410", "name": "Interior Design Services"}, {"code": "541420", "name": "Industrial Design Services"}, {"code": "541430", "name": "Graphic Design Services"}, {"code": "541490", "name": "Other Specialized Design Services"}, {"code": "541511", "name": "Custom Computer Programming Services"}, {"code": "541512", "name": "Computer Systems Design Services"}, {"code": "541513", "name": "Computer Facilities Management Services"}, {"code": "541519", "name": "Other Computer Related Services"}, {"code": "541611", "name": "Administrative Management and General Management Consulting Services"}, {"code": "541612", "name": "Human Resources Consulting Services"}, {"code": "541613", "name": "Marketing Consulting Services"}, {"code": "541614", "name": "Process, Physical Distribution, and Logistics Consulting Services"}, {"code": "541618", "name": "Other Management Consulting Services"}, {"code": "541620", "name": "Environmental Consulting Services"}, {"code": "541690", "name": "Other Scientific and Technical Consulting Services"}, {"code": "541713", "name": "Research and Development in Nanotechnology"}, {"code": "541714", "name": "Research and Development in Biotechnology (except Nanobiotechnology)"}, {"code": "541715", "name": "Research and Development in the Physical, Engineering, and Life Sciences (except Nanotechnology and Biotechnology)"}, {"code": "541720", "name": "Research and Development in the Social Sciences and Humanities"}, {"code": "541810", "name": "Advertising Agencies"}, {"code": "541820", "name": "Public Relations Agencies"}, {"code": "541830", "name": "Media Buying Agencies"}, {"code": "541840", "name": "Media Representatives"}, {"code": "541850", "name": "Indoor and Outdoor Display Advertising"}, {"code": "541860", "name": "Direct Mail Advertising"}, {"code": "541870", "name": "Advertising Material Distribution Services"}, {"code": "541890", "name": "Other Services Related to Advertising"}, {"code": "541910", "name": "Marketing Research and Public Opinion Polling"}, {"code": "541921", "name": "Photography Studios, Portrait"}, {"code": "541922", "name": "Commercial Photography"}, {"code": "541930", "name": "Translation and Interpretation Services"}, {"code": "541940", "name": "Veterinary Services"}, {"code": "541990", "name": "All Other Professional, Scientific, and Technical Services"}, {"code": "551111", "name": "Offices of Bank Holding Companies"}, {"code": "551112", "name": "Offices of Other Holding Companies"}, {"code": "551114", "name": "Corporate, Subsidiary, and Regional Managing Offices"}, {"code": "561110", "name": "Office Administrative Services"}, {"code": "561210", "name": "Facilities Support Services"}, {"code": "561311", "name": "Employment Placement Agencies"}, {"code": "561312", "name": "Executive Search Services"}, {"code": "561320", "name": "Temporary Help Services"}, {"code": "561330", "name": "Professional Employer Organizations"}, {"code": "561410", "name": "Document Preparation Services"}, {"code": "561421", "name": "Telephone Answering Services"}, {"code": "561422", "name": "Telemarketing Bureaus and Other Contact Centers"}, {"code": "561431", "name": "Private Mail Centers"}, {"code": "561439", "name": "Other Business Service Centers (including Copy Shops)"}, {"code": "561440", "name": "Collection Agencies"}, {"code": "561450", "name": "Credit Bureaus"}, {"code": "561491", "name": "Repossession Services"}, {"code": "561492", "name": "Court Reporting and Stenotype Services"}, {"code": "561499", "name": "All Other Business Support Services"}, {"code": "561510", "name": "Travel Agencies"}, {"code": "561520", "name": "Tour Operators"}, {"code": "561591", "name": "Convention and Visitors Bureaus"}, {"code": "561599", "name": "All Other Travel Arrangement and Reservation Services"}, {"code": "561611", "name": "Investigation and Personal Background Check Services"}, {"code": "561612", "name": "Security Guards and Patrol Services"}, {"code": "561613", "name": "Armored Car Services"}, {"code": "561621", "name": "Security Systems Services (except Locksmiths)"}, {"code": "561622", "name": "Locksmiths"}, {"code": "561710", "name": "Exterminating and Pest Control Services"}, {"code": "561720", "name": "Janitorial Services"}, {"code": "561730", "name": "Landscaping Services"}, {"code": "561740", "name": "Carpet and Upholstery Cleaning Services"}, {"code": "561790", "name": "Other Services to Buildings and Dwellings"}, {"code": "561910", "name": "Packaging and Labeling Services"}, {"code": "561920", "name": "Convention and Trade Show Organizers"}, {"code": "561990", "name": "All Other Support Services"}, {"code": "562111", "name": "Solid Waste Collection"}, {"code": "562112", "name": "Hazardous Waste Collection"}, {"code": "562119", "name": "Other Waste Collection"}, {"code": "562211", "name": "Hazardous Waste Treatment and Disposal"}, {"code": "562212", "name": "Solid Waste Landfill"}, {"code": "562213", "name": "Solid Waste Combustors and Incinerators"}, {"code": "562219", "name": "Other Nonhazardous Waste Treatment and Disposal"}, {"code": "562910", "name": "Remediation Services"}, {"code": "562920", "name": "Materials Recovery Facilities"}, {"code": "562991", "name": "Septic Tank and Related Services"}, {"code": "562998", "name": "All Other Miscellaneous Waste Management Services"}, {"code": "611110", "name": "Elementary and Secondary Schools"}, {"code": "611210", "name": "Junior Colleges"}, {"code": "611310", "name": "Colleges, Universities, and Professional Schools"}, {"code": "611410", "name": "Business and Secretarial Schools"}, {"code": "611420", "name": "Computer Training"}, {"code": "611430", "name": "Professional and Management Development Training"}, {"code": "611511", "name": "Cosmetology and Barber Schools"}, {"code": "611512", "name": "Flight Training"}, {"code": "611513", "name": "Apprenticeship Training"}, {"code": "611519", "name": "Other Technical and Trade Schools"}, {"code": "611610", "name": "Fine Arts Schools"}, {"code": "611620", "name": "Sports and Recreation Instruction"}, {"code": "611630", "name": "Language Schools"}, {"code": "611691", "name": "Exam Preparation and Tutoring"}, {"code": "611692", "name": "Automobile Driving Schools"}, {"code": "611699", "name": "All Other Miscellaneous Schools and Instruction"}, {"code": "611710", "name": "Educational Support Services"}, {"code": "621111", "name": "Offices of Physicians (except Mental Health Specialists)"}, {"code": "621112", "name": "Offices of Physicians, Mental Health Specialists"}, {"code": "621210", "name": "Offices of Dentists"}, {"code": "621310", "name": "Offices of Chiropractors"}, {"code": "621320", "name": "Offices of Optometrists"}, {"code": "621330", "name": "Offices of Mental Health Practitioners (except Physicians)"}, {"code": "621340", "name": "Offices of Physical, Occupational and Speech Therapists, and Audiologists"}, {"code": "621391", "name": "Offices of Podiatrists"}, {"code": "621399", "name": "Offices of All Other Miscellaneous Health Practitioners"}, {"code": "621410", "name": "Family Planning Centers"}, {"code": "621420", "name": "Outpatient Mental Health and Substance Abuse Centers"}, {"code": "621491", "name": "HMO Medical Centers"}, {"code": "621492", "name": "Kidney Dialysis Centers"}, {"code": "621493", "name": "Freestanding Ambulatory Surgical and Emergency Centers"}, {"code": "621498", "name": "All Other Outpatient Care Centers"}, {"code": "621511", "name": "Medical Laboratories"}, {"code": "621512", "name": "Diagnostic Imaging Centers"}, {"code": "621610", "name": "Home Health Care Services"}, {"code": "621910", "name": "Ambulance Services"}, {"code": "621991", "name": "Blood and Organ Banks"}, {"code": "621999", "name": "All Other Miscellaneous Ambulatory Health Care Services"}, {"code": "622110", "name": "General Medical and Surgical Hospitals"}, {"code": "622210", "name": "Psychiatric and Substance Abuse Hospitals"}, {"code": "622310", "name": "Specialty (except Psychiatric and Substance Abuse) Hospitals"}, {"code": "623110", "name": "Nursing Care Facilities (Skilled Nursing Facilities)"}, {"code": "623210", "name": "Residential Intellectual and Developmental Disability Facilities"}, {"code": "623220", "name": "Residential Mental Health and Substance Abuse Facilities"}, {"code": "623311", "name": "Continuing Care Retirement Communities"}, {"code": "623312", "name": "Assisted Living Facilities for the Elderly"}, {"code": "623990", "name": "Other Residential Care Facilities"}, {"code": "624110", "name": "Child and Youth Services"}, {"code": "624120", "name": "Services for the Elderly and Persons with Disabilities"}, {"code": "624190", "name": "Other Individual and Family Services"}, {"code": "624210", "name": "Community Food Services"}, {"code": "624221", "name": "Temporary Shelters"}, {"code": "624229", "name": "Other Community Housing Services"}, {"code": "624230", "name": "Emergency and Other Relief Services"}, {"code": "624310", "name": "Vocational Rehabilitation Services"}, {"code": "624410", "name": "Child Care Services"}, {"code": "711110", "name": "Theater Companies and Dinner Theaters"}, {"code": "711120", "name": "Dance Companies"}, {"code": "711130", "name": "Musical Groups and Artists"}, {"code": "711190", "name": "Other Performing Arts Companies"}, {"code": "711211", "name": "Sports Teams and Clubs"}, {"code": "711212", "name": "Racetracks"}, {"code": "711219", "name": "Other Spectator Sports"}, {"code": "711310", "name": "Promoters of Performing Arts, Sports, and Similar Events with Facilities"}, {"code": "711320", "name": "Promoters of Performing Arts, Sports, and Similar Events without Facilities"}, {"code": "711410", "name": "Agents and Managers for Artists, Athletes, Entertainers, and Other Public Figures"}, {"code": "711510", "name": "Independent Artists, Writers, and Performers"}, {"code": "712110", "name": "Museums"}, {"code": "712120", "name": "Historical Sites"}, {"code": "712130", "name": "Zoos and Botanical Gardens"}, {"code": "712190", "name": "Nature Parks and Other Similar Institutions"}, {"code": "713110", "name": "Amusement and Theme Parks"}, {"code": "713120", "name": "Amusement Arcades"}, {"code": "713210", "name": "Casinos (except Casino Hotels)"}, {"code": "713290", "name": "Other Gambling Industries"}, {"code": "713910", "name": "Golf Courses and Country Clubs"}, {"code": "713920", "name": "Skiing Facilities"}, {"code": "713930", "name": "Marinas"}, {"code": "713940", "name": "Fitness and Recreational Sports Centers"}, {"code": "713950", "name": "Bowling Centers"}, {"code": "713990", "name": "All Other Amusement and Recreation Industries"}, {"code": "721110", "name": "Hotels (except Casino Hotels) and Motels"}, {"code": "721120", "name": "Casino Hotels"}, {"code": "721191", "name": "Bed-and-Breakfast Inns"}, {"code": "721199", "name": "All Other Traveler Accommodation"}, {"code": "721211", "name": "RV (Recreational Vehicle) Parks and Campgrounds"}, {"code": "721214", "name": "Recreational and Vacation Camps (except Campgrounds)"}, {"code": "721310", "name": "Rooming and Boarding Houses, Dormitories, and Workers' Camps"}, {"code": "722310", "name": "Food Service Contractors"}, {"code": "722320", "name": "Caterers"}, {"code": "722330", "name": "Mobile Food Services"}, {"code": "722410", "name": "Drinking Places (Alcoholic Beverages)"}, {"code": "722511", "name": "Full-Service Restaurants"}, {"code": "722513", "name": "Limited-Service Restaurants"}, {"code": "722514", "name": "Cafeterias, Grill Buffets, and Buffets"}, {"code": "722515", "name": "Snack and Nonalcoholic Beverage Bars"}, {"code": "811111", "name": "General Automotive Repair"}, {"code": "811114", "name": "Specialized Automotive Repair"}, {"code": "811121", "name": "Automotive Body, Paint, and Interior Repair and Maintenance"}, {"code": "811122", "name": "Automotive Glass Replacement Shops"}, {"code": "811191", "name": "Automotive Oil Change and Lubrication Shops"}, {"code": "811192", "name": "Car Washes"}, {"code": "811198", "name": "All Other Automotive Repair and Maintenance"}, {"code": "811210", "name": "Electronic and Precision Equipment Repair and Maintenance"}, {"code": "811310", "name": "Commercial and Industrial Machinery and Equipment (except Automotive and Electronic) Repair and Maintenance"}, {"code": "811411", "name": "Home and Garden Equipment Repair and Maintenance"}, {"code": "811412", "name": "Appliance Repair and Maintenance"}, {"code": "811420", "name": "Reupholstery and Furniture Repair"}, {"code": "811430", "name": "Footwear and Leather Goods Repair"}, {"code": "811490", "name": "Other Personal and Household Goods Repair and Maintenance"}, {"code": "812111", "name": "Barber Shops"}, {"code": "812112", "name": "Beauty Salons"}, {"code": "812113", "name": "Nail Salons"}, {"code": "812191", "name": "Diet and Weight Reducing Centers"}, {"code": "812199", "name": "Other Personal Care Services"}, {"code": "812210", "name": "Funeral Homes and Funeral Services"}, {"code": "812220", "name": "Cemeteries and Crematories"}, {"code": "812310", "name": "Coin-Operated Laundries and Drycleaners"}, {"code": "812320", "name": "Drycleaning and Laundry Services (except Coin-Operated)"}, {"code": "812331", "name": "Linen Supply"}, {"code": "812332", "name": "Industrial Launderers"}, {"code": "812910", "name": "Pet Care (except Veterinary) Services"}, {"code": "812921", "name": "Photofinishing Laboratories (except One-Hour)"}, {"code": "812922", "name": "One-Hour Photofinishing"}, {"code": "812930", "name": "Parking Lots and Garages"}, {"code": "812990", "name": "All Other Personal Services"}, {"code": "813110", "name": "Religious Organizations"}, {"code": "813211", "name": "Grantmaking Foundations"}, {"code": "813212", "name": "Voluntary Health Organizations"}, {"code": "813219", "name": "Other Grantmaking and Giving Services"}, {"code": "813311", "name": "Human Rights Organizations"}, {"code": "813312", "name": "Environment, Conservation and Wildlife Organizations"}, {"code": "813319", "name": "Other Social Advocacy Organizations"}, {"code": "813410", "name": "Civic and Social Organizations"}, {"code": "813910", "name": "Business Associations"}, {"code": "813920", "name": "Professional Organizations"}, {"code": "813930", "name": "Labor Unions and Similar Labor Organizations"}, {"code": "813940", "name": "Political Organizations"}, {"code": "813990", "name": "Other Similar Organizations (except Business, Professional, Labor, and Political Organizations)"}, {"code": "814110", "name": "Private Households"}, {"code": "921110", "name": "Executive Offices"}, {"code": "921120", "name": "Legislative Bodies"}, {"code": "921130", "name": "Public Finance Activities"}, {"code": "921140", "name": "Executive and Legislative Offices, Combined"}, {"code": "921150", "name": "American Indian and Alaska Native Tribal Governments"}, {"code": "921190", "name": "Other General Government Support"}, {"code": "922110", "name": "Courts"}, {"code": "922120", "name": "Police Protection"}, {"code": "922130", "name": "Legal Counsel and Prosecution"}, {"code": "922140", "name": "Correctional Institutions"}, {"code": "922150", "name": "Parole Offices and Probation Offices"}, {"code": "922160", "name": "Fire Protection"}, {"code": "922190", "name": "Other Justice, Public Order, and Safety Activities"}, {"code": "923110", "name": "Administration of Education Programs"}, {"code": "923120", "name": "Administration of Public Health Programs"}, {"code": "923130", "name": "Administration of Human Resource Programs (except Education, Public Health, and Veterans' Affairs Programs)"}, {"code": "923140", "name": "Administration of Veterans' Affairs"}, {"code": "924110", "name": "Administration of Air and Water Resource and Solid Waste Management Programs"}, {"code": "924120", "name": "Administration of Conservation Programs"}, {"code": "925110", "name": "Administration of Housing Programs"}, {"code": "925120", "name": "Administration of Urban Planning and Community and Rural Development"}, {"code": "926110", "name": "Administration of General Economic Programs"}, {"code": "926120", "name": "Regulation and Administration of Transportation Programs"}, {"code": "926130", "name": "Regulation and Administration of Communications, Electric, Gas, and Other Utilities"}, {"code": "926140", "name": "Regulation of Agricultural Marketing and Commodities"}, {"code": "926150", "name": "Regulation, Licensing, and Inspection of Miscellaneous Commercial Sectors"}, {"code": "927110", "name": "Space Research and Technology"}, {"code": "928110", "name": "National Security"}, {"code": "928120", "name": "International Affairs"} ] ``` ## Next steps Hide cold-hit latency from your users. Backoff strategies, client cache, and prefetch fallbacks. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # SIC Source: https://docs.context.dev/guides/classification/SIC Classify brands using the Standard Industrial Classification (SIC) taxonomy via the /web/sic endpoint SIC classification is available through a dedicated endpoint: [`GET /web/sic`](/api-reference/web-extraction/classify-sic-industries). The endpoint supports two SIC datasets: * **`original_sic`** (default): the **1987 Standard Industrial Classification** system, with 1,004 four-digit codes grouped into 82 two-digit major groups. * **`latest_sec`**: the current SIC list as published by the **U.S. Securities and Exchange Commission**, used for EDGAR filings. 430 codes, each tagged with the SEC review office that handles filings under that code. Choose with the `type` query parameter. ## SIC code structure SIC codes are 4 digits. The leading 2 digits identify the **major group**; the leading 3 digits identify the **industry group**; the full 4 digits identify the **industry**. | Level | Digits | Example | | -------------- | -------- | ---------------------------------------------------------------- | | Division | (letter) | D: Manufacturing | | Major Group | 2 | `35`: Industrial and Commercial Machinery and Computer Equipment | | Industry Group | 3 | `357`: Computer and Office Equipment | | Industry | 4 | `3571`: Electronic Computers | The `/web/sic` endpoint returns **4-digit industry codes**: the most specific level. When `type=original_sic`, each result also carries its parent `majorGroup` (2-digit) and `majorGroupName`. When `type=latest_sec`, each result carries the SEC `office` instead. ## Choosing a classification | Use case | Recommended `type` | | ------------------------------------------------------------------------------------- | ------------------ | | General-purpose industry tagging, broadest coverage | `original_sic` | | Matching a company to its SEC EDGAR filing classification | `latest_sec` | | Mapping to public-company review offices (e.g. "who at the SEC reviews this issuer?") | `latest_sec` | | Working with historical datasets that pre-date NAICS (pre-1997) | `original_sic` | The two lists are **not** drop-in replacements for one another. The SEC list is a curated subset focused on industries that file with EDGAR. The 1987 list is exhaustive across all sectors of the US economy. ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Send a request Pass an `input` (a domain or company title) and an optional `type`. The example below shows both datasets: ```bash cURL theme={null} # original_sic (default) curl -G https://api.context.dev/v1/web/sic \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "input=stripe.com" \ --data-urlencode "maxResults=5" # latest_sec (SEC EDGAR list) curl -G https://api.context.dev/v1/web/sic \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "input=stripe.com" \ --data-urlencode "type=latest_sec" \ --data-urlencode "maxResults=3" ``` ```typescript TypeScript highlight={5-15} theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const original = await client.industry.retrieveSic({ input: "stripe.com", maxResults: 5, }); const sec = await client.industry.retrieveSic({ input: "stripe.com", type: "latest_sec", maxResults: 3, }); console.log(original.codes, sec.codes); ``` ```python Python highlight={6-15} theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) original = client.industry.retrieve_sic( input="stripe.com", max_results=5, ) sec = client.industry.retrieve_sic( input="stripe.com", type="latest_sec", max_results=3, ) print(original.codes, sec.codes) ``` ```ruby Ruby highlight={5-15} theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) original = client.industry.retrieve_sic( input: "stripe.com", max_results: 5, ) sec = client.industry.retrieve_sic( input: "stripe.com", type: :latest_sec, max_results: 3, ) puts original.codes.inspect, sec.codes.inspect ``` ```go Go highlight={14-26} theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient(option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY"))) original, err := client.Industry.GetSic(context.TODO(), contextdev.IndustryGetSicParams{ Input: "stripe.com", MaxResults: param.NewOpt[int64](5), }) if err != nil { panic(err) } sec, err := client.Industry.GetSic(context.TODO(), contextdev.IndustryGetSicParams{ Input: "stripe.com", Type: contextdev.IndustryGetSicParamsTypeLatestSec, MaxResults: param.NewOpt[int64](3), }) if err != nil { panic(err) } fmt.Printf("%+v\n%+v\n", original.Codes, sec.Codes) } ``` ```php PHP theme={null} industry->retrieveSic(input: 'stripe.com', maxResults: 5); $sec = $client->industry->retrieveSic( input: 'stripe.com', type: 'latest_sec', maxResults: 3, ); print_r($original->codes); print_r($sec->codes); ``` 10 credits per successful call ### Request parameters | Parameter | Type | Description | | ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | `input` | string | **Required.** A brand domain or title. If a valid domain is provided, it's used directly; otherwise the resolver searches for the brand by title. | | `type` | string | Which SIC dataset to classify against. One of `original_sic` or `latest_sec`. Defaults to `original_sic`. | | `minResults` | integer | Minimum number of SIC codes to return. Range: 1–10. Defaults to `1`. | | `maxResults` | integer | Maximum number of SIC codes to return. Range: 1–10. Defaults to `5`. | | `timeoutMS` | integer | Optional request timeout (1,000–300,000 ms). Returns 408 if exceeded. | ## Response shape Top-level fields are always present on a 200 response. The shape of each entry in `codes` depends on the requested `type` (echoed back in the response's `classification` field). ### `type=original_sic` ```json theme={null} { "status": "ok", "domain": "stripe.com", "type": "sic", "classification": "original_sic", "codes": [ { "code": "7372", "name": "PREPACKAGED SOFTWARE", "confidence": "high", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "6099", "name": "FUNCTIONS RELATED TO DEPOSIT BANKING, NEC", "confidence": "medium", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" } ] } ``` ### `type=latest_sec` ```json theme={null} { "status": "ok", "domain": "stripe.com", "type": "sic", "classification": "latest_sec", "codes": [ { "code": "7372", "name": "SERVICES-PREPACKAGED SOFTWARE", "confidence": "high", "office": "Office of Technology" } ] } ``` | Field | Type | Description | | ------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success. | | `domain` | string | The resolved domain that was classified. | | `type` | string | Always `"sic"`. | | `classification` | string | The SIC dataset that was used: `original_sic` or `latest_sec`. | | `codes[]` | array | The matched SIC codes, one object per match. | | `codes[].code` | string | The 4-digit SIC code. Keep it as a string in storage to preserve leading zeros (codes like `0111` exist in `original_sic`). | | `codes[].name` | string | The official SIC title for that code. | | `codes[].confidence` | enum | `high`, `medium`, or `low`. Indicates how well the code matches the company. | | `codes[].majorGroup` | string | *`original_sic` only.* 2-digit major group identifier. | | `codes[].majorGroupName` | string | *`original_sic` only.* Description of the 2-digit major group. | | `codes[].office` | string | *`latest_sec` only.* SEC review office responsible for filings under this code. | Use `minResults` / `maxResults` to control how aggressive the classification is. If you only want the strongest match, set both to `1`. For richer classification across diversified businesses, raise `maxResults` and filter by `confidence === "high"` downstream. For the official taxonomies, see: * [OSHA SIC Manual (1987)](https://www.osha.gov/data/sic-manual): `original_sic` * [SEC SIC code list](https://www.sec.gov/info/edgar/siccodes.htm): `latest_sec` ## Major groups (`original_sic`, 1987) All 82 two-digit major groups returned when `type=original_sic`: | Code | Major Group | | ---- | ------------------------------------------------------------ | | 01 | AGRICULTURAL PRODUCTION - CROPS | | 02 | AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES | | 07 | AGRICULTURAL SERVICES | | 08 | FORESTRY | | 09 | FISHING, HUNTING AND TRAPPING | | 10 | METAL MINING | | 12 | COAL MINING | | 13 | OIL AND GAS EXTRACTION | | 14 | MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS | | 15 | BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS | | 16 | HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS | | 17 | CONSTRUCTION - SPECIAL TRADE CONTRACTORS | | 20 | FOOD AND KINDRED PRODUCTS | | 21 | TOBACCO PRODUCTS | | 22 | TEXTILE MILL PRODUCTS | | 23 | APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS | | 24 | LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE | | 25 | FURNITURE AND FIXTURES | | 26 | PAPER AND ALLIED PRODUCTS | | 27 | PRINTING, PUBLISHING AND ALLIED INDUSTRIES | | 28 | CHEMICALS AND ALLIED PRODUCTS | | 29 | PETROLEUM REFINING AND RELATED INDUSTRIES | | 30 | RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS | | 31 | LEATHER AND LEATHER PRODUCTS | | 32 | STONE, CLAY, GLASS, AND CONCRETE PRODUCTS | | 33 | PRIMARY METAL INDUSTRIES | | 34 | FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT | | 35 | INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT | | 36 | ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT | | 37 | TRANSPORTATION EQUIPMENT | | 38 | MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS | | 39 | MISCELLANEOUS MANUFACTURING INDUSTRIES | | 40 | RAILROAD TRANSPORTATION | | 41 | LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT | | 42 | MOTOR FREIGHT TRANSPORTATION | | 43 | UNITED STATES POSTAL SERVICE | | 44 | WATER TRANSPORTATION | | 45 | TRANSPORTATION BY AIR | | 46 | PIPELINES, EXCEPT NATURAL GAS | | 47 | TRANSPORTATION SERVICES | | 48 | COMMUNICATIONS | | 49 | ELECTRIC, GAS AND SANITARY SERVICES | | 50 | WHOLESALE TRADE - DURABLE GOODS | | 51 | WHOLESALE TRADE - NONDURABLE GOODS | | 52 | BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS | | 53 | GENERAL MERCHANDISE STORES | | 54 | FOOD STORES | | 55 | AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS | | 56 | APPAREL AND ACCESSORY STORES | | 57 | HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES | | 58 | EATING AND DRINKING PLACES | | 59 | MISCELLANEOUS RETAIL | | 60 | DEPOSITORY INSTITUTIONS | | 61 | NONDEPOSITORY CREDIT INSTITUTIONS | | 62 | SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES | | 63 | INSURANCE CARRIERS | | 64 | INSURANCE AGENTS, BROKERS AND SERVICE | | 65 | REAL ESTATE | | 67 | HOLDING AND OTHER INVESTMENT OFFICES | | 70 | HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES | | 72 | PERSONAL SERVICES | | 73 | BUSINESS SERVICES | | 75 | AUTOMOTIVE REPAIR, SERVICES AND PARKING | | 76 | MISCELLANEOUS REPAIR SERVICES | | 78 | MOTION PICTURES | | 79 | AMUSEMENT AND RECREATION SERVICES | | 80 | HEALTH SERVICES | | 81 | LEGAL SERVICES | | 82 | EDUCATIONAL SERVICES | | 83 | SOCIAL SERVICES | | 84 | MUSEUMS, ART GALLERIES AND BOTANICAL AND ZOOLOGICAL GARDENS | | 86 | MEMBERSHIP ORGANIZATIONS | | 87 | ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS | | 89 | SERVICES, NOT ELSEWHERE CLASSIFIED | | 91 | EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE | | 92 | JUSTICE, PUBLIC ORDER AND SAFETY | | 93 | PUBLIC FINANCE, TAXATION AND MONETARY POLICY | | 94 | ADMINISTRATION OF HUMAN RESOURCE PROGRAMS | | 95 | ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS | | 96 | ADMINISTRATION OF ECONOMIC PROGRAMS | | 97 | NATIONAL SECURITY AND INTERNATIONAL AFFAIRS | | 99 | NONCLASSIFIABLE ESTABLISHMENTS | ## SEC review offices (`latest_sec`) The 13 SEC review offices that own filings under `type=latest_sec`: | Office | Codes | | --------------------------------------------------------------- | ----- | | Office of Manufacturing | 148 | | Office of Trade & Services | 97 | | Industrial Applications and Services | 48 | | Office of Energy & Transportation | 43 | | Office of Technology | 38 | | Office of Real Estate & Construction | 22 | | Office of Finance | 22 | | Office of Life Sciences | 4 | | Office of International Corp Fin | 3 | | Office of Finance or Office of Crypto Assets | 2 | | Office of Structured Finance | 1 | | Office of Crypto Assets | 1 | | Office of Trade & Services or Office of Energy & Transportation | 1 | ## Full list of `original_sic` codes All **1,004** four-digit codes returned when `type=original_sic`. Use the copy button to grab the full list: CSV for spreadsheets, JSON for programmatic use. ```csv original_sic.csv theme={null} code,name,majorGroup,majorGroupName 0111,WHEAT,01,AGRICULTURAL PRODUCTION - CROPS 0112,RICE,01,AGRICULTURAL PRODUCTION - CROPS 0115,CORN,01,AGRICULTURAL PRODUCTION - CROPS 0116,SOYBEANS,01,AGRICULTURAL PRODUCTION - CROPS 0119,"CASH GRAINS, NEC",01,AGRICULTURAL PRODUCTION - CROPS 0131,COTTON,01,AGRICULTURAL PRODUCTION - CROPS 0132,TOBACCO,01,AGRICULTURAL PRODUCTION - CROPS 0133,SUGARCANE AND SUGAR BEETS,01,AGRICULTURAL PRODUCTION - CROPS 0134,IRISH POTATOES,01,AGRICULTURAL PRODUCTION - CROPS 0139,"FIELD CROPS, EXCEPT CASH GRAIN",01,AGRICULTURAL PRODUCTION - CROPS 0161,VEGETABLES AND MELONS,01,AGRICULTURAL PRODUCTION - CROPS 0171,BERRY CROPS,01,AGRICULTURAL PRODUCTION - CROPS 0172,GRAPES,01,AGRICULTURAL PRODUCTION - CROPS 0173,TREE NUTS,01,AGRICULTURAL PRODUCTION - CROPS 0174,CITRUS FRUITS,01,AGRICULTURAL PRODUCTION - CROPS 0175,DECIDUOUS TREE FRUITS,01,AGRICULTURAL PRODUCTION - CROPS 0179,"FRUITS AND TREE NUTS, NEC",01,AGRICULTURAL PRODUCTION - CROPS 0181,ORNAMENTAL NURSERY PRODUCTS,01,AGRICULTURAL PRODUCTION - CROPS 0182,FOOD CROPS GROWN UNDER COVER,01,AGRICULTURAL PRODUCTION - CROPS 0191,"GENERAL FARMS, PRIMARILY CROP",01,AGRICULTURAL PRODUCTION - CROPS 0211,BEEF CATTLE FEEDLOTS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0212,"BEEF CATTLE, EXCEPT FEEDLOTS",02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0213,HOGS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0214,SHEEP AND GOATS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0219,"GENERAL LIVESTOCK, NEC",02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0241,DAIRY FARMS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0251,"BROILER, FRYER, AND ROASTER CHICKENS",02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0252,CHICKEN EGGS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0253,TURKEYS AND TURKEY EGGS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0254,POULTRY HATCHERIES,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0259,"POULTRY AND EGGS, NEC",02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0271,FUR-BEARING ANIMALS AND RABBITS,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0272,HORSES AND OTHER EQUINES,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0273,ANIMAL AQUACULTURE,02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0279,"ANIMAL SPECIALTIES, NEC",02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0291,"GENERAL FARMS, PRIMARILY ANIMALS",02,AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES 0711,SOIL PREPARATION SERVICES,07,AGRICULTURAL SERVICES 0721,CROP PLANTING AND PROTECTION,07,AGRICULTURAL SERVICES 0722,CROP HARVESTING,07,AGRICULTURAL SERVICES 0723,CROP PREPARATION SERVICES FOR MARKET,07,AGRICULTURAL SERVICES 0724,COTTON GINNING,07,AGRICULTURAL SERVICES 0741,VETERINARY SERVICES FOR LIVESTOCK,07,AGRICULTURAL SERVICES 0742,"VETERINARY SERVICES, SPECIALTIES",07,AGRICULTURAL SERVICES 0751,"LIVESTOCK SERVICES, EXCEPT VETERINARY",07,AGRICULTURAL SERVICES 0752,ANIMAL SPECIALTY SERVICES,07,AGRICULTURAL SERVICES 0761,FARM LABOR CONTRACTORS,07,AGRICULTURAL SERVICES 0762,FARM MANAGEMENT SERVICES,07,AGRICULTURAL SERVICES 0781,LANDSCAPE COUNSELING AND PLANNING,07,AGRICULTURAL SERVICES 0782,LAWN AND GARDEN SERVICES,07,AGRICULTURAL SERVICES 0783,ORNAMENTAL SHRUB AND TREE SERVICES,07,AGRICULTURAL SERVICES 0811,TIMBER TRACTS,08,FORESTRY 0831,FOREST PRODUCTS,08,FORESTRY 0851,FORESTRY SERVICES,08,FORESTRY 0912,FINFISH,09,"FISHING, HUNTING AND TRAPPING" 0913,SHELLFISH,09,"FISHING, HUNTING AND TRAPPING" 0919,MISCELLANEOUS MARINE PRODUCTS,09,"FISHING, HUNTING AND TRAPPING" 0921,FISH HATCHERIES AND PRESERVES,09,"FISHING, HUNTING AND TRAPPING" 0971,"HUNTING, TRAPPING, GAME PROPAGATION",09,"FISHING, HUNTING AND TRAPPING" 1011,IRON ORES,10,METAL MINING 1021,COPPER ORES,10,METAL MINING 1031,LEAD AND ZINC ORES,10,METAL MINING 1041,GOLD ORES,10,METAL MINING 1044,SILVER ORES,10,METAL MINING 1061,"FERROALLOY ORES, EXCEPT VANADIUM",10,METAL MINING 1081,METAL MINING SERVICES,10,METAL MINING 1094,URANIUM-RADIUM-VANADIUM ORES,10,METAL MINING 1099,"METAL ORES, NEC",10,METAL MINING 1221,BITUMINOUS COAL AND LIGNITE-SURFACE MINING,12,COAL MINING 1222,BITUMINOUS COAL-UNDERGROUND MINING,12,COAL MINING 1231,ANTHRACITE MINING,12,COAL MINING 1241,COAL MINING SERVICES,12,COAL MINING 1311,CRUDE PETROLEUM AND NATURAL GAS,13,OIL AND GAS EXTRACTION 1321,NATURAL GAS LIQUIDS,13,OIL AND GAS EXTRACTION 1381,DRILLING OIL AND GAS WELLS,13,OIL AND GAS EXTRACTION 1382,OIL AND GAS EXPLORATION SERVICES,13,OIL AND GAS EXTRACTION 1389,"OIL AND GAS FIELD SERVICES, NEC",13,OIL AND GAS EXTRACTION 1411,DIMENSION STONE,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1422,CRUSHED AND BROKEN LIMESTONE,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1423,CRUSHED AND BROKEN GRANITE,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1429,"CRUSHED AND BROKEN STONE, NEC",14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1442,CONSTRUCTION SAND AND GRAVEL,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1446,INDUSTRIAL SAND,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1455,KAOLIN AND BALL CLAY,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1459,"CLAY AND RELATED MINERALS, NEC",14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1474,"POTASH, SODA, AND BORATE MINERALS",14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1475,PHOSPHATE ROCK,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1479,CHEMICAL AND FERTILIZER MINING,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1481,NONMETALLIC MINERAL SERVICES,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1499,MISCELLANEOUS NONMETALLIC MINING,14,"MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" 1521,SINGLE-FAMILY HOUSING CONSTRUCTION,15,BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS 1522,"RESIDENTIAL CONSTRUCTION, NEC",15,BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS 1531,OPERATIVE BUILDERS,15,BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS 1541,INDUSTRIAL BUILDINGS AND WAREHOUSES,15,BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS 1542,"NONRESIDENTIAL CONSTRUCTION, NEC",15,BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS 1611,HIGHWAY AND STREET CONSTRUCTION,16,"HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" 1622,"BRIDGE, TUNNEL, AND ELEVATED HIGHWAY",16,"HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" 1623,"WATER, SEWER, AND UTILITY LINES",16,"HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" 1629,"HEAVY CONSTRUCTION, NEC",16,"HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" 1711,"PLUMBING, HEATING, AIR-CONDITIONING",17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1721,PAINTING AND PAPER HANGING,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1731,ELECTRICAL WORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1741,MASONRY AND OTHER STONEWORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1742,"PLASTERING, DRYWALL, AND INSULATION",17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1743,"TERRAZZO, TILE, MARBLE, MOSAIC WORK",17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1751,CARPENTRY WORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1752,"FLOOR LAYING AND FLOOR WORK, NEC",17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1761,"ROOFING, SIDING, AND SHEETMETAL WORK",17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1771,CONCRETE WORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1781,WATER WELL DRILLING,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1791,STRUCTURAL STEEL ERECTION,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1793,GLASS AND GLAZING WORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1794,EXCAVATION WORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1795,WRECKING AND DEMOLITION WORK,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1796,INSTALLING BUILDING EQUIPMENT,17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 1799,"SPECIAL TRADE CONTRACTORS, NEC",17,CONSTRUCTION - SPECIAL TRADE CONTRACTORS 2011,MEAT PACKING PLANTS,20,FOOD AND KINDRED PRODUCTS 2013,SAUSAGES AND OTHER PREPARED MEATS,20,FOOD AND KINDRED PRODUCTS 2015,POULTRY SLAUGHTERING AND PROCESSING,20,FOOD AND KINDRED PRODUCTS 2021,CREAMERY BUTTER,20,FOOD AND KINDRED PRODUCTS 2022,CHEESE; NATURAL AND PROCESSED,20,FOOD AND KINDRED PRODUCTS 2023,"DRY, CONDENSED, EVAPORATED PRODUCTS",20,FOOD AND KINDRED PRODUCTS 2024,ICE CREAM AND FROZEN DESERTS,20,FOOD AND KINDRED PRODUCTS 2026,FLUID MILK,20,FOOD AND KINDRED PRODUCTS 2032,CANNED SPECIALTIES,20,FOOD AND KINDRED PRODUCTS 2033,CANNED FRUITS AND SPECIALTIES,20,FOOD AND KINDRED PRODUCTS 2034,"DEHYDRATED FRUITS, VEGETABLES, SOUPS",20,FOOD AND KINDRED PRODUCTS 2035,"PICKLES, SAUCES, AND SALAD DRESSINGS",20,FOOD AND KINDRED PRODUCTS 2037,FROZEN FRUITS AND VEGETABLES,20,FOOD AND KINDRED PRODUCTS 2038,"FROZEN SPECIALTIES, NEC",20,FOOD AND KINDRED PRODUCTS 2041,FLOUR AND OTHER GRAIN MILL PRODUCTS,20,FOOD AND KINDRED PRODUCTS 2043,CEREAL BREAKFAST FOODS,20,FOOD AND KINDRED PRODUCTS 2044,RICE MILLING,20,FOOD AND KINDRED PRODUCTS 2045,PREPARED FLOUR MIXES AND DOUGHS,20,FOOD AND KINDRED PRODUCTS 2046,WET CORN MILLING,20,FOOD AND KINDRED PRODUCTS 2047,DOG AND CAT FOOD,20,FOOD AND KINDRED PRODUCTS 2048,"PREPARED FEEDS, NEC",20,FOOD AND KINDRED PRODUCTS 2051,"BREAD, CAKE, AND RELATED PRODUCTS",20,FOOD AND KINDRED PRODUCTS 2052,COOKIES AND CRACKERS,20,FOOD AND KINDRED PRODUCTS 2053,"FROZEN BAKERY PRODUCTS, EXCEPT BREAD",20,FOOD AND KINDRED PRODUCTS 2061,RAW CANE SUGAR,20,FOOD AND KINDRED PRODUCTS 2062,CANE SUGAR REFINING,20,FOOD AND KINDRED PRODUCTS 2063,BEET SUGAR,20,FOOD AND KINDRED PRODUCTS 2064,CANDY AND OTHER CONFECTIONERY PRODUCTS,20,FOOD AND KINDRED PRODUCTS 2066,CHOCOLATE AND COCOA PRODUCTS,20,FOOD AND KINDRED PRODUCTS 2067,CHEWING GUM,20,FOOD AND KINDRED PRODUCTS 2068,SALTED AND ROASTED NUTS AND SEEDS,20,FOOD AND KINDRED PRODUCTS 2074,COTTONSEED OIL MILLS,20,FOOD AND KINDRED PRODUCTS 2075,SOYBEAN OIL MILLS,20,FOOD AND KINDRED PRODUCTS 2076,"VEGETABLE OIL MILLS, NEC",20,FOOD AND KINDRED PRODUCTS 2077,ANIMAL AND MARINE FATS AND OILS,20,FOOD AND KINDRED PRODUCTS 2079,EDIBLE FATS AND OILS,20,FOOD AND KINDRED PRODUCTS 2082,MALT BEVERAGES,20,FOOD AND KINDRED PRODUCTS 2083,MALT,20,FOOD AND KINDRED PRODUCTS 2084,"WINES, BRANDY, AND BRANDY SPIRITS",20,FOOD AND KINDRED PRODUCTS 2085,DISTILLED AND BLENDED LIQUORS,20,FOOD AND KINDRED PRODUCTS 2086,BOTTLED AND CANNED SOFT DRINKS,20,FOOD AND KINDRED PRODUCTS 2087,"FLAVORING EXTRACTS AND SYRUPS, NEC",20,FOOD AND KINDRED PRODUCTS 2091,CANNED AND CURED FISH AND SEAFOODS,20,FOOD AND KINDRED PRODUCTS 2092,FRESH OR FROZEN PACKAGED FISH,20,FOOD AND KINDRED PRODUCTS 2095,ROASTED COFFEE,20,FOOD AND KINDRED PRODUCTS 2096,POTATO CHIPS AND SIMILAR SNACKS,20,FOOD AND KINDRED PRODUCTS 2097,MANUFACTURED ICE,20,FOOD AND KINDRED PRODUCTS 2098,MACARONI AND SPAGHETTI,20,FOOD AND KINDRED PRODUCTS 2099,"FOOD PREPARATIONS, NEC",20,FOOD AND KINDRED PRODUCTS 2111,CIGARETTES,21,TOBACCO PRODUCTS 2121,CIGARS,21,TOBACCO PRODUCTS 2131,CHEWING AND SMOKING TOBACCO,21,TOBACCO PRODUCTS 2141,TOBACCO STEMMING AND REDRYING,21,TOBACCO PRODUCTS 2211,"BROADWOVEN FABRIC MILLS, COTTON",22,TEXTILE MILL PRODUCTS 2221,"BROADWOVEN FABRIC MILLS, MANMADE",22,TEXTILE MILL PRODUCTS 2231,"BROADWOVEN FABRIC MILLS, WOOL",22,TEXTILE MILL PRODUCTS 2241,NARROW FABRIC MILLS,22,TEXTILE MILL PRODUCTS 2251,"WOMEN'S HOSIERY, EXCEPT SOCKS",22,TEXTILE MILL PRODUCTS 2252,"HOSIERY, NEC",22,TEXTILE MILL PRODUCTS 2253,KNIT OUTERWEAR MILLS,22,TEXTILE MILL PRODUCTS 2254,KNIT UNDERWEAR MILLS,22,TEXTILE MILL PRODUCTS 2257,WEFT KNIT FABRIC MILLS,22,TEXTILE MILL PRODUCTS 2258,LACE AND WARP KNIT FABRIC MILLS,22,TEXTILE MILL PRODUCTS 2259,"KNITTING MILLS, NEC",22,TEXTILE MILL PRODUCTS 2261,"FINISHING PLANTS, COTTON",22,TEXTILE MILL PRODUCTS 2262,"FINISHING PLANTS, MANMADE",22,TEXTILE MILL PRODUCTS 2269,"FINISHING PLANTS, NEC",22,TEXTILE MILL PRODUCTS 2273,CARPETS AND RUGS,22,TEXTILE MILL PRODUCTS 2281,YARN SPINNING MILLS,22,TEXTILE MILL PRODUCTS 2282,THROWING AND WINDING MILLS,22,TEXTILE MILL PRODUCTS 2284,THREAD MILLS,22,TEXTILE MILL PRODUCTS 2295,"COATED FABRICS, NOT RUBBERIZED",22,TEXTILE MILL PRODUCTS 2296,TIRE CORD AND FABRICS,22,TEXTILE MILL PRODUCTS 2297,NONWOVEN FABRICS,22,TEXTILE MILL PRODUCTS 2298,CORDAGE AND TWINE,22,TEXTILE MILL PRODUCTS 2299,"TEXTILE GOODS, NEC",22,TEXTILE MILL PRODUCTS 2311,MEN'S AND BOY'S SUITS AND COATS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2321,MEN'S AND BOY'S FURNISHINGS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2322,MEN'S AND BOY'S UNDERWEAR AND NIGHTWEAR,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2323,MEN'S AND BOY'S NECKWEAR,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2325,MEN'S AND BOY'S TROUSERS AND SLACKS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2326,MEN'S AND BOY'S WORK CLOTHING,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2329,"MEN'S AND BOY'S CLOTHING, NEC",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2331,WOMEN'S AND MISSES' BLOUSES AND SHIRTS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2335,"WOMEN'S, JUNIOR'S, AND MISSES' DRESSES",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2337,WOMEN'S AND MISSES' SUITS AND COATS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2339,"WOMEN'S AND MISSES' OUTERWEAR, NEC",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2341,WOMEN'S AND CHILDREN'S UNDERWEAR,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2342,"BRAS, GIRDLES, AND ALLIED GARMENTS",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2353,"HATS, CAPS, AND MILLINERY",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2361,"GIRL'S AND CHILDREN'S DRESSES, BLOUSES",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2369,"GIRL'S AND CHILDREN'S OUTERWEAR, NEC",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2371,FUR GOODS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2381,FABRIC DRESS AND WORK GLOVES,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2384,ROBES AND DRESSING GOWNS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2385,WATERPROOF OUTERWEAR,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2386,LEATHER AND SHEEP-LINED CLOTHING,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2387,APPAREL BELTS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2389,"APPAREL AND ACCESSORIES, NEC",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2391,CURTAINS AND DRAPERIES,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2392,"HOUSEHOLD FURNISHINGS, NEC",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2393,TEXTILE BAGS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2394,CANVAS AND RELATED PRODUCTS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2395,PLEATING AND STITCHING,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2396,AUTOMOTIVE AND APPAREL TRIMMINGS,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2397,SCHIFFLI MACHINE EMBROIDERIES,23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2399,"FABRICATED TEXTILE PRODUCTS, NEC",23,"APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" 2411,LOGGING,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2421,"SAWMILLS AND PLANING MILLS, GENERAL",24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2426,HARDWOOD DIMENSION AND FLOORING MILLS,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2429,"SPECIAL PRODUCT SAWMILLS, NEC",24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2431,MILLWORK,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2434,WOOD KITCHEN CABINETS,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2435,HARDWOOD VENEER AND PLYWOOD,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2436,SOFTWOOD VENEER AND PLYWOOD,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2439,"STRUCTURAL WOOD MEMBERS, NEC",24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2441,NAILED WOOD BOXES AND SHOOK,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2448,WOOD PALLETS AND SKIDS,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2449,"WOOD CONTAINERS, NEC",24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2451,MOBILE HOMES,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2452,PREFABRICATED WOOD BUILDINGS,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2491,WOOD PRESERVING,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2493,RECONSTITUTED WOOD PRODUCTS,24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2499,"WOOD PRODUCTS, NEC",24,"LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" 2511,WOOD HOUSEHOLD FURNITURE,25,FURNITURE AND FIXTURES 2512,UPHOLSTERED HOUSEHOLD FURNITURE,25,FURNITURE AND FIXTURES 2514,METAL HOUSEHOLD FURNITURE,25,FURNITURE AND FIXTURES 2515,MATTRESSES AND BEDSPRINGS,25,FURNITURE AND FIXTURES 2517,WOOD TELEVISION AND RADIO CABINETS,25,FURNITURE AND FIXTURES 2519,"HOUSEHOLD FURNITURE, NEC",25,FURNITURE AND FIXTURES 2521,WOOD OFFICE FURNITURE,25,FURNITURE AND FIXTURES 2522,"OFFICE FURNITURE, EXCEPT WOOD",25,FURNITURE AND FIXTURES 2531,PUBLIC BUILDING AND RELATED FURNITURE,25,FURNITURE AND FIXTURES 2541,WOOD PARTITIONS AND FIXTURES,25,FURNITURE AND FIXTURES 2542,"PARTITIONS AND FIXTURES, EXCEPT WOOD",25,FURNITURE AND FIXTURES 2591,DRAPERY HARDWARE AND BLINDS AND SHADES,25,FURNITURE AND FIXTURES 2599,"FURNITURE AND FIXTURES, NEC",25,FURNITURE AND FIXTURES 2611,PULP MILLS,26,PAPER AND ALLIED PRODUCTS 2621,PAPER MILLS,26,PAPER AND ALLIED PRODUCTS 2631,PAPERBOARD MILLS,26,PAPER AND ALLIED PRODUCTS 2652,SETUP PAPERBOARD BOXES,26,PAPER AND ALLIED PRODUCTS 2653,CORRUGATED AND SOLID FIBER BOXES,26,PAPER AND ALLIED PRODUCTS 2655,"FIBER CANS, DRUMS, AND SIMILAR PRODUCTS",26,PAPER AND ALLIED PRODUCTS 2656,SANITARY FOOD CONTAINERS,26,PAPER AND ALLIED PRODUCTS 2657,FOLDING PAPERBOARD BOXES,26,PAPER AND ALLIED PRODUCTS 2671,PAPER; COATED AND LAMINATED PACKAGING,26,PAPER AND ALLIED PRODUCTS 2672,"PAPER; COATED AND LAMINATED, NEC",26,PAPER AND ALLIED PRODUCTS 2673,"BAGS: PLASTIC, LAMINATED, AND COATED",26,PAPER AND ALLIED PRODUCTS 2674,BAGS: UNCOATED PAPER AND MULTIWALL,26,PAPER AND ALLIED PRODUCTS 2675,DIE-CUT PAPER AND BOARD,26,PAPER AND ALLIED PRODUCTS 2676,SANITARY PAPER PRODUCTS,26,PAPER AND ALLIED PRODUCTS 2677,ENVELOPES,26,PAPER AND ALLIED PRODUCTS 2678,STATIONERY PRODUCTS,26,PAPER AND ALLIED PRODUCTS 2679,"CONVERTED PAPER PRODUCTS, NEC",26,PAPER AND ALLIED PRODUCTS 2711,NEWSPAPERS,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2721,PERIODICALS,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2731,BOOK PUBLISHING,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2732,BOOK PRINTING,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2741,MISCELLANEOUS PUBLISHING,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2752,"COMMERCIAL PRINTING, LITHOGRAPHIC",27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2754,"COMMERCIAL PRINTING, GRAVURE",27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2759,"COMMERCIAL PRINTING, NEC",27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2761,MANIFOLD BUSINESS FORMS,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2771,GREETING CARDS,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2782,BLANKBOOKS AND LOOSELEAF BINDERS,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2789,BOOKBINDING AND RELATED WORK,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2791,TYPESETTING,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2796,PLATEMAKING SERVICES,27,"PRINTING, PUBLISHING AND ALLIED INDUSTRIES" 2812,ALKALIES AND CHLORINE,28,CHEMICALS AND ALLIED PRODUCTS 2813,INDUSTRIAL GASES,28,CHEMICALS AND ALLIED PRODUCTS 2816,INORGANIC PIGMENTS,28,CHEMICALS AND ALLIED PRODUCTS 2819,"INDUSTRIAL INORGANIC CHEMICALS, NEC",28,CHEMICALS AND ALLIED PRODUCTS 2821,PLASTICS MATERIALS AND RESINS,28,CHEMICALS AND ALLIED PRODUCTS 2822,SYNTHETIC RUBBER,28,CHEMICALS AND ALLIED PRODUCTS 2823,CELLULOSIC MANMADE FIBERS,28,CHEMICALS AND ALLIED PRODUCTS 2824,"ORGANIC FIBERS, NONCELLULOSIC",28,CHEMICALS AND ALLIED PRODUCTS 2833,MEDICINALS AND BOTANICALS,28,CHEMICALS AND ALLIED PRODUCTS 2834,PHARMACEUTICAL PREPARATIONS,28,CHEMICALS AND ALLIED PRODUCTS 2835,DIAGNOSTIC SUBSTANCES,28,CHEMICALS AND ALLIED PRODUCTS 2836,"BIOLOGICAL PRODUCTS, EXCEPT DIAGNOSTIC",28,CHEMICALS AND ALLIED PRODUCTS 2841,SOAP AND OTHER DETERGENTS,28,CHEMICALS AND ALLIED PRODUCTS 2842,POLISHES AND SANITATION GOODS,28,CHEMICALS AND ALLIED PRODUCTS 2843,SURFACE ACTIVE AGENTS,28,CHEMICALS AND ALLIED PRODUCTS 2844,TOILET PREPARATIONS,28,CHEMICALS AND ALLIED PRODUCTS 2851,PAINTS AND ALLIED PRODUCTS,28,CHEMICALS AND ALLIED PRODUCTS 2861,GUM AND WOOD CHEMICALS,28,CHEMICALS AND ALLIED PRODUCTS 2865,CYCLIC CRUDES AND INTERMEDIATES,28,CHEMICALS AND ALLIED PRODUCTS 2869,"INDUSTRIAL ORGANIC CHEMICALS, NEC",28,CHEMICALS AND ALLIED PRODUCTS 2873,NITROGENOUS FERTILIZERS,28,CHEMICALS AND ALLIED PRODUCTS 2874,PHOSPHATIC FERTILIZERS,28,CHEMICALS AND ALLIED PRODUCTS 2875,"FERTILIZERS, MIXING ONLY",28,CHEMICALS AND ALLIED PRODUCTS 2879,"AGRICULTURAL CHEMICALS, NEC",28,CHEMICALS AND ALLIED PRODUCTS 2891,ADHESIVES AND SEALANTS,28,CHEMICALS AND ALLIED PRODUCTS 2892,EXPLOSIVES,28,CHEMICALS AND ALLIED PRODUCTS 2893,PRINTING INK,28,CHEMICALS AND ALLIED PRODUCTS 2895,CARBON BLACK,28,CHEMICALS AND ALLIED PRODUCTS 2899,"CHEMICAL PREPARATIONS, NEC",28,CHEMICALS AND ALLIED PRODUCTS 2911,PETROLEUM REFINING,29,PETROLEUM REFINING AND RELATED INDUSTRIES 2951,ASPHALT PAVING MIXTURES AND BLOCKS,29,PETROLEUM REFINING AND RELATED INDUSTRIES 2952,ASPHALT FELTS AND COATINGS,29,PETROLEUM REFINING AND RELATED INDUSTRIES 2992,LUBRICATING OILS AND GREASES,29,PETROLEUM REFINING AND RELATED INDUSTRIES 2999,"PETROLEUM AND COAL PRODUCTS, NEC",29,PETROLEUM REFINING AND RELATED INDUSTRIES 3011,TIRES AND INNER TUBES,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3021,RUBBER AND PLASTICS FOOTWEAR,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3052,RUBBER AND PLASTICS HOSE AND BELTINGS,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3053,GASKETS; PACKING AND SEALING DEVICES,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3061,MECHANICAL RUBBER GOODS,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3069,"FABRICATED RUBBER PRODUCTS, NEC",30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3081,UNSUPPORTED PLASTICS FILM AND SHEET,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3082,UNSUPPORTED PLASTICS PROFILE SHAPES,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3083,LAMINATED PLASTICS PLATE AND SHEET,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3084,PLASTICS PIPE,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3085,PLASTICS BOTTLES,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3086,PLASTICS FOAM PRODUCTS,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3087,CUSTOM COMPOUND PURCHASED RESINS,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3088,PLASTICS PLUMBING FIXTURES,30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3089,"PLASTICS PRODUCTS, NEC",30,RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS 3111,LEATHER TANNING AND FINISHING,31,LEATHER AND LEATHER PRODUCTS 3131,FOOTWEAR CUT STOCK,31,LEATHER AND LEATHER PRODUCTS 3142,HOUSE SLIPPERS,31,LEATHER AND LEATHER PRODUCTS 3143,"MEN'S FOOTWEAR, EXCEPT ATHLETIC",31,LEATHER AND LEATHER PRODUCTS 3144,"WOMEN'S FOOTWEAR, EXCEPT ATHLETIC",31,LEATHER AND LEATHER PRODUCTS 3149,"FOOTWEAR, EXCEPT RUBBER, NEC",31,LEATHER AND LEATHER PRODUCTS 3151,LEATHER GLOVES AND MITTENS,31,LEATHER AND LEATHER PRODUCTS 3161,LUGGAGE,31,LEATHER AND LEATHER PRODUCTS 3171,WOMEN'S HANDBAGS AND PURSES,31,LEATHER AND LEATHER PRODUCTS 3172,"PERSONAL LEATHER GOODS, NEC",31,LEATHER AND LEATHER PRODUCTS 3199,"LEATHER GOODS, NEC",31,LEATHER AND LEATHER PRODUCTS 3211,FLAT GLASS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3221,GLASS CONTAINERS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3229,"PRESSED AND BLOWN GLASS, NEC",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3231,PRODUCTS OF PURCHASED GLASS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3241,"CEMENT, HYDRAULIC",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3251,BRICK AND STRUCTURAL CLAY TILE,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3253,CERAMIC WALL AND FLOOR TILE,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3255,CLAY REFRACTORIES,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3259,"STRUCTURAL CLAY PRODUCTS, NEC",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3261,VITREOUS PLUMBING FIXTURES,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3262,VITREOUS CHINA TABLE AND KITCHENWARE,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3263,SEMIVITREOUS TABLE AND KITCHENWARE,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3264,PORCELAIN ELECTRICAL SUPPLIES,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3269,"POTTERY PRODUCTS, NEC",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3271,CONCRETE BLOCK AND BRICK,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3272,"CONCRETE PRODUCTS, NEC",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3273,READY-MIXED CONCRETE,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3274,LIME,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3275,GYPSUM PRODUCTS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3281,CUT STONE AND STONE PRODUCTS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3291,ABRASIVE PRODUCTS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3292,ASBESTOS PRODUCTS,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3295,"MINERALS, GROUND OR TREATED",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3296,MINERAL WOOL,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3297,NONCLAY REFRACTORIES,32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3299,"NONMETALLIC MINERAL PRODUCTS,",32,"STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" 3312,BLAST FURNACES AND STEEL MILLS,33,PRIMARY METAL INDUSTRIES 3313,ELECTROMETALLURGICAL PRODUCTS,33,PRIMARY METAL INDUSTRIES 3315,STEEL WIRE AND RELATED PRODUCTS,33,PRIMARY METAL INDUSTRIES 3316,COLD FINISHING OF STEEL SHAPES,33,PRIMARY METAL INDUSTRIES 3317,STEEL PIPE AND TUBES,33,PRIMARY METAL INDUSTRIES 3321,GRAY AND DUCTILE IRON FOUNDRIES,33,PRIMARY METAL INDUSTRIES 3322,MALLEABLE IRON FOUNDRIES,33,PRIMARY METAL INDUSTRIES 3324,STEEL INVESTMENT FOUNDRIES,33,PRIMARY METAL INDUSTRIES 3325,"STEEL FOUNDRIES, NEC",33,PRIMARY METAL INDUSTRIES 3331,PRIMARY COPPER,33,PRIMARY METAL INDUSTRIES 3334,PRIMARY ALUMINUM,33,PRIMARY METAL INDUSTRIES 3339,"PRIMARY NONFERROUS METALS, NEC",33,PRIMARY METAL INDUSTRIES 3341,SECONDARY NONFERROUS METALS,33,PRIMARY METAL INDUSTRIES 3351,COPPER ROLLING AND DRAWING,33,PRIMARY METAL INDUSTRIES 3353,"ALUMINUM SHEET, PLATE, AND FOIL",33,PRIMARY METAL INDUSTRIES 3354,ALUMINUM EXTRUDED PRODUCTS,33,PRIMARY METAL INDUSTRIES 3355,"ALUMINUM ROLLING AND DRAWING, NEC",33,PRIMARY METAL INDUSTRIES 3356,"NONFERROUS ROLLING AND DRAWING, NEC",33,PRIMARY METAL INDUSTRIES 3357,NONFERROUS WIREDRAWING AND INSULATING,33,PRIMARY METAL INDUSTRIES 3363,ALUMINUM DIE-CASTINGS,33,PRIMARY METAL INDUSTRIES 3364,NONFERROUS DIE-CASTINGS EXCEPT ALUMINUM,33,PRIMARY METAL INDUSTRIES 3365,ALUMINUM FOUNDRIES,33,PRIMARY METAL INDUSTRIES 3366,COPPER FOUNDRIES,33,PRIMARY METAL INDUSTRIES 3369,"NONFERROUS FOUNDRIES, NEC",33,PRIMARY METAL INDUSTRIES 3398,METAL HEAT TREATING,33,PRIMARY METAL INDUSTRIES 3399,PRIMARY METAL PRODUCTS,33,PRIMARY METAL INDUSTRIES 3411,METAL CANS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3412,"METAL BARRELS, DRUMS, AND PAILS",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3421,CUTLERY,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3423,"HAND AND EDGE TOOLS, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3425,SAW BLADES AND HANDSAWS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3429,"HARDWARE, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3431,METAL SANITARY WARE,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3432,PLUMBING FIXTURE FITTINGS AND TRIM,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3433,"HEATING EQUIPMENT, EXCEPT ELECTRIC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3441,FABRICATED STRUCTURAL METAL,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3442,"METAL DOORS, SASH, AND TRIM",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3443,FABRICATED PLATE WORK (BOILER SHOP),34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3444,SHEET METALWORK,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3446,ARCHITECTURAL METALWORK,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3448,PREFABRICATED METAL BUILDINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3449,MISCELLANEOUS METALWORK,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3451,SCREW MACHINE PRODUCTS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3452,"BOLTS, NUTS, RIVETS, AND WASHERS",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3462,IRON AND STEEL FORGINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3463,NONFERROUS FORGINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3465,AUTOMOTIVE STAMPINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3466,CROWNS AND CLOSURES,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3469,"METAL STAMPINGS, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3471,PLATING AND POLISHING,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3479,METAL COATING AND ALLIED SERVICES,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3482,SMALL ARMS AMMUNITION,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3483,"AMMUNITION, EXCEPT FOR SMALL ARMS, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3484,SMALL ARMS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3489,"ORDNANCE AND ACCESSORIES, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3491,INDUSTRIAL VALVES,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3492,FLUID POWER VALVES AND HOSE FITTINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3493,"STEEL SPRINGS, EXCEPT WIRE",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3494,"VALVES AND PIPE FITTINGS, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3495,WIRE SPRINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3496,MISCELLANEOUS FABRICATED WIRE PRODUCTS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3497,METAL FOIL AND LEAF,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3498,FABRICATED PIPE AND FITTINGS,34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3499,"FABRICATED METAL PRODUCTS, NEC",34,"FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" 3511,TURBINES AND TURBINE GENERATOR SETS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3519,"INTERNAL COMBUSTION ENGINES, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3523,FARM MACHINERY AND EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3524,LAWN AND GARDEN EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3531,CONSTRUCTION MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3532,MINING MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3533,OIL AND GAS FIELD MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3534,ELEVATORS AND MOVING STAIRWAYS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3535,CONVEYORS AND CONVEYING EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3536,"HOISTS, CRANES, AND MONORAILS",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3537,INDUSTRIAL TRUCKS AND TRACTORS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3541,"MACHINE TOOLS, METAL CUTTING TYPE",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3542,"MACHINE TOOLS, METAL FORMING TYPE",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3543,INDUSTRIAL PATTERNS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3544,"SPECIAL DIES, TOOLS, JIGS, AND FIXTURES",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3545,MACHINE TOOL ACCESSORIES,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3546,POWER-DRIVEN HANDTOOLS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3547,ROLLING MILL MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3548,WELDING APPARATUS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3549,"METALWORKING MACHINERY, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3552,TEXTILE MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3553,WOODWORKING MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3554,PAPER INDUSTRIES MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3555,PRINTING TRADES MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3556,FOOD PRODUCTS MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3559,"SPECIAL INDUSTRY MACHINERY, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3561,PUMPS AND PUMPING EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3562,BALL AND ROLLER BEARINGS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3563,AIR AND GAS COMPRESSORS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3564,BLOWERS AND FANS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3565,PACKAGING MACHINERY,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3566,"SPEED CHANGERS, DRIVES, AND GEARS",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3567,INDUSTRIAL FURNACES AND OVENS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3568,"POWER TRANSMISSION EQUIPMENT, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3569,"GENERAL INDUSTRIAL MACHINERY,",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3571,ELECTRONIC COMPUTERS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3572,COMPUTER STORAGE DEVICES,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3575,COMPUTER TERMINALS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3577,"COMPUTER PERIPHERAL EQUIPMENT, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3578,CALCULATING AND ACCOUNTING EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3579,"OFFICE MACHINES, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3581,AUTOMATIC VENDING MACHINES,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3582,COMMERCIAL LAUNDRY EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3585,REFRIGERATION AND HEATING EQUIPMENT,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3586,MEASURING AND DISPENSING PUMPS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3589,"SERVICE INDUSTRY MACHINERY, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3592,"CARBURETORS, PISTONS, RINGS, VALVES",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3593,FLUID POWER CYLINDERS AND ACTUATORS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3594,FLUID POWER PUMPS AND MOTORS,35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3596,"SCALES AND BALANCES, EXCEPT LABORATORY",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3599,"INDUSTRIAL MACHINERY, NEC",35,INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT 3612,"TRANSFORMERS, EXCEPT ELECTRIC",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3613,SWITCHGEAR AND SWITCHBOARD APPARATUS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3621,MOTORS AND GENERATORS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3624,CARBON AND GRAPHITE PRODUCTS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3625,RELAYS AND INDUSTRIAL CONTROLS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3629,ELECTRICAL INDUSTRIAL APPARATUS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3631,HOUSEHOLD COOKING EQUIPMENT,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3632,HOUSEHOLD REFRIGERATORS AND FREEZERS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3633,HOUSEHOLD LAUNDRY EQUIPMENT,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3634,ELECTRIC HOUSEWARES AND FANS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3635,HOUSEHOLD VACUUM CLEANERS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3639,"HOUSEHOLD APPLIANCES, NEC",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3641,ELECTRIC LAMPS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3643,CURRENT-CARRYING WIRING DEVICES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3644,NONCURRENT-CARRYING WIRING DEVICES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3645,RESIDENTIAL LIGHTING FIXTURES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3646,COMMERCIAL LIGHTING FIXTURES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3647,VEHICULAR LIGHTING EQUIPMENT,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3648,"LIGHTING EQUIPMENT, NEC",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3651,HOUSEHOLD AUDIO AND VIDEO EQUIPMENT,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3652,PRERECORDED RECORDS AND TAPES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3661,TELEPHONE AND TELEGRAPH APPARATUS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3663,RADIO AND T.V. COMMUNICATIONS EQUIPMENT,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3669,"COMMUNICATIONS EQUIPMENT, NEC",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3671,ELECTRON TUBES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3672,PRINTED CIRCUIT BOARDS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3674,SEMICONDUCTORS AND RELATED DEVICES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3675,ELECTRONIC CAPACITORS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3676,ELECTRONIC RESISTORS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3677,ELECTRONIC COILS AND TRANSFORMERS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3678,ELECTRONIC CONNECTORS,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3679,"ELECTRONIC COMPONENTS, NEC",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3691,STORAGE BATTERIES,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3692,"PRIMARY BATTERIES, DRY AND WET",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3694,ENGINE ELECTRICAL EQUIPMENT,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3695,MAGNETIC AND OPTICAL RECORDING MEDIA,36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3699,"ELECTRICAL EQUIPMENT AND SUPPLIES, NEC",36,"ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" 3711,MOTOR VEHICLES AND CAR BODIES,37,TRANSPORTATION EQUIPMENT 3713,TRUCK AND BUS BODIES,37,TRANSPORTATION EQUIPMENT 3714,MOTOR VEHICLE PARTS AND ACCESSORIES,37,TRANSPORTATION EQUIPMENT 3715,TRUCK TRAILERS,37,TRANSPORTATION EQUIPMENT 3716,MOTOR HOMES,37,TRANSPORTATION EQUIPMENT 3721,AIRCRAFT,37,TRANSPORTATION EQUIPMENT 3724,AIRCRAFT ENGINES AND ENGINE PARTS,37,TRANSPORTATION EQUIPMENT 3728,"AIRCRAFT PARTS AND EQUIPMENT, NEC",37,TRANSPORTATION EQUIPMENT 3731,SHIPBUILDING AND REPAIRING,37,TRANSPORTATION EQUIPMENT 3732,BOATBUILDING AND REPAIRING,37,TRANSPORTATION EQUIPMENT 3743,RAILROAD EQUIPMENT,37,TRANSPORTATION EQUIPMENT 3751,"MOTORCYCLES, BICYCLES, AND PARTS",37,TRANSPORTATION EQUIPMENT 3761,GUIDED MISSILES AND SPACE VEHICLES,37,TRANSPORTATION EQUIPMENT 3764,SPACE PROPULSION UNITS AND PARTS,37,TRANSPORTATION EQUIPMENT 3769,"SPACE VEHICLE EQUIPMENT, NEC",37,TRANSPORTATION EQUIPMENT 3792,TRAVEL TRAILERS AND CAMPERS,37,TRANSPORTATION EQUIPMENT 3795,TANKS AND TANK COMPONENTS,37,TRANSPORTATION EQUIPMENT 3799,"TRANSPORTATION EQUIPMENT, NEC",37,TRANSPORTATION EQUIPMENT 3812,SEARCH AND NAVIGATION EQUIPMENT,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3821,LABORATORY APPARATUS AND FURNITURE,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3822,ENVIRONMENTAL CONTROLS,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3823,PROCESS CONTROL INSTRUMENTS,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3824,FLUID METERS AND COUNTING DEVICES,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3825,INSTRUMENTS TO MEASURE ELECTRICITY,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3826,ANALYTICAL INSTRUMENTS,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3827,OPTICAL INSTRUMENTS AND LENSES,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3829,"MEASURING AND CONTROLLING DEVICES, NEC",38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3841,SURGICAL AND MEDICAL INSTRUMENTS,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3842,SURGICAL APPLIANCES AND SUPPLIES,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3843,DENTAL EQUIPMENT AND SUPPLIES,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3844,X-RAY APPARATUS AND TUBES,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3845,ELECTROMEDICAL EQUIPMENT,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3851,OPHTHALMIC GOODS,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3861,PHOTOGRAPHIC EQUIPMENT AND SUPPLIES,38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3873,"WATCHES, CLOCKS, WATCHCASES, AND PARTS",38,MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS 3911,"JEWELRY, PRECIOUS METAL",39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3914,SILVERWARE AND PLATED WARE,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3915,JEWELERS' MATERIALS AND LAPIDARY WORK,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3931,MUSICAL INSTRUMENTS,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3942,DOLLS AND STUFFED TOYS,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3944,"GAMES, TOYS, AND CHILDREN'S VEHICLES",39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3949,"SPORTING AND ATHLETIC GOODS, NEC",39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3951,PENS AND MECHANICAL PENCILS,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3952,LEAD PENCILS AND ART GOODS,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3953,MARKING DEVICES,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3955,CARBON PAPER AND INKED RIBBONS,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3961,COSTUME JEWELRY,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3965,"FASTENERS, BUTTONS, NEEDLES, AND PINS",39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3991,BROOMS AND BRUSHES,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3993,SIGNS AND ADVERTISING SPECIALTIES,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3995,BURIAL CASKETS,39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3996,"HARD SURFACE FLOOR COVERINGS, NEC",39,MISCELLANEOUS MANUFACTURING INDUSTRIES 3999,"MANUFACTURING INDUSTRIES, NEC",39,MISCELLANEOUS MANUFACTURING INDUSTRIES 4011,"RAILROADS, LINE-HAUL OPERATING",40,RAILROAD TRANSPORTATION 4013,SWITCHING AND TERMINAL SERVICES,40,RAILROAD TRANSPORTATION 4111,LOCAL AND SUBURBAN TRANSIT,41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4119,"LOCAL PASSENGER TRANSPORTATION, NEC",41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4121,TAXICABS,41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4131,INTERCITY AND RURAL BUS TRANSPORTATION,41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4141,LOCAL BUS CHARTER SERVICE,41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4142,"BUS CHARTER SERVICE, EXCEPT LOCAL",41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4151,SCHOOL BUSES,41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4173,BUS TERMINAL AND SERVICE FACILITIES,41,"LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" 4212,"LOCAL TRUCKING, WITHOUT STORAGE",42,MOTOR FREIGHT TRANSPORTATION 4213,"TRUCKING, EXCEPT LOCAL",42,MOTOR FREIGHT TRANSPORTATION 4214,LOCAL TRUCKING WITH STORAGE,42,MOTOR FREIGHT TRANSPORTATION 4215,"COURIER SERVICES, EXCEPT BY AIR",42,MOTOR FREIGHT TRANSPORTATION 4221,FARM PRODUCT WAREHOUSING AND STORAGE,42,MOTOR FREIGHT TRANSPORTATION 4222,REFRIGERATED WAREHOUSING AND STORAGE,42,MOTOR FREIGHT TRANSPORTATION 4225,GENERAL WAREHOUSING AND STORAGE,42,MOTOR FREIGHT TRANSPORTATION 4226,"SPECIAL WAREHOUSING AND STORAGE, NEC",42,MOTOR FREIGHT TRANSPORTATION 4231,TRUCKING TERMINAL FACILITIES,42,MOTOR FREIGHT TRANSPORTATION 4311,U.S. POSTAL SERVICE,43,UNITED STATES POSTAL SERVICE 4412,DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT,44,WATER TRANSPORTATION 4424,DEEP SEA DOMESTIC TRANSPORTATION OF FREIGHT,44,WATER TRANSPORTATION 4432,FREIGHT TRANSPORTATION ON THE GREAT LAKES,44,WATER TRANSPORTATION 4449,WATER TRANSPORTATION OF FREIGHT,44,WATER TRANSPORTATION 4481,"DEEP SEA PASSENGER TRANSPORTATION, EXCEPT FERRY",44,WATER TRANSPORTATION 4482,FERRIES,44,WATER TRANSPORTATION 4489,WATER PASSENGER TRANSPORTATION,44,WATER TRANSPORTATION 4491,MARINE CARGO HANDLING,44,WATER TRANSPORTATION 4492,TOWING AND TUGBOAT SERVICE,44,WATER TRANSPORTATION 4493,MARINAS,44,WATER TRANSPORTATION 4499,"WATER TRANSPORTATION SERVICES, NEC",44,WATER TRANSPORTATION 4512,"AIR TRANSPORTATION, SCHEDULED",45,TRANSPORTATION BY AIR 4513,AIR COURIER SERVICES,45,TRANSPORTATION BY AIR 4522,"AIR TRANSPORTATION, NONSCHEDULED",45,TRANSPORTATION BY AIR 4581,"AIRPORTS, FLYING FIELDS, AND SERVICES",45,TRANSPORTATION BY AIR 4612,CRUDE PETROLEUM PIPELINES,46,"PIPELINES, EXCEPT NATURAL GAS" 4613,REFINED PETROLEUM PIPELINES,46,"PIPELINES, EXCEPT NATURAL GAS" 4619,"PIPELINES, NEC",46,"PIPELINES, EXCEPT NATURAL GAS" 4724,TRAVEL AGENCIES,47,TRANSPORTATION SERVICES 4725,TOUR OPERATORS,47,TRANSPORTATION SERVICES 4729,PASSENGER TRANSPORTATION ARRANGEMENT,47,TRANSPORTATION SERVICES 4731,FREIGHT TRANSPORTATION ARRANGEMENT,47,TRANSPORTATION SERVICES 4741,RENTAL OF RAILROAD CARS,47,TRANSPORTATION SERVICES 4783,PACKING AND CRATING,47,TRANSPORTATION SERVICES 4785,INSPECTION AND FIXED FACILITIES,47,TRANSPORTATION SERVICES 4789,"TRANSPORTATION SERVICES, NEC",47,TRANSPORTATION SERVICES 4812,RADIOTELEPHONE COMMUNICATION,48,COMMUNICATIONS 4813,"TELEPHONE COMMUNICATION, EXCEPT RADIO",48,COMMUNICATIONS 4822,TELEGRAPH AND OTHER COMMUNICATIONS,48,COMMUNICATIONS 4832,RADIO BROADCASTING STATIONS,48,COMMUNICATIONS 4833,TELEVISION BROADCASTING STATIONS,48,COMMUNICATIONS 4841,CABLE AND OTHER PAY TELEVISION SERVICES,48,COMMUNICATIONS 4899,"COMMUNICATION SERVICES, NEC",48,COMMUNICATIONS 4911,ELECTRIC SERVICES,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4922,NATURAL GAS TRANSMISSION,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4923,GAS TRANSMISSION AND DISTRIBUTION,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4924,NATURAL GAS DISTRIBUTION,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4925,GAS PRODUCTION AND/OR DISTRIBUTION,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4931,ELECTRIC AND OTHER SERVICES COMBINED,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4932,GAS AND OTHER SERVICES COMBINED,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4939,"COMBINATION UTILITIES, NEC",49,"ELECTRIC, GAS AND SANITARY SERVICES" 4941,WATER SUPPLY,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4952,SEWERAGE SYSTEMS,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4953,REFUSE SYSTEMS,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4959,"SANITARY SERVICES, NEC",49,"ELECTRIC, GAS AND SANITARY SERVICES" 4961,STEAM AND AIR-CONDITIONING SUPPLY,49,"ELECTRIC, GAS AND SANITARY SERVICES" 4971,IRRIGATION SYSTEMS,49,"ELECTRIC, GAS AND SANITARY SERVICES" 5012,AUTOMOBILES AND OTHER MOTOR VEHICLES,50,WHOLESALE TRADE - DURABLE GOODS 5013,MOTOR VEHICLE SUPPLIES AND NEW PARTS,50,WHOLESALE TRADE - DURABLE GOODS 5014,TIRES AND TUBES,50,WHOLESALE TRADE - DURABLE GOODS 5015,"MOTOR VEHICLE PARTS, USED",50,WHOLESALE TRADE - DURABLE GOODS 5021,FURNITURE,50,WHOLESALE TRADE - DURABLE GOODS 5023,HOMEFURNISHINGS,50,WHOLESALE TRADE - DURABLE GOODS 5031,"LUMBER, PLYWOOD, AND MILLWORK",50,WHOLESALE TRADE - DURABLE GOODS 5032,"BRICK, STONE, AND RELATED MATERIAL",50,WHOLESALE TRADE - DURABLE GOODS 5033,"ROOFING, SIDING, AND INSULATION",50,WHOLESALE TRADE - DURABLE GOODS 5039,"CONSTRUCTION MATERIALS, NEC",50,WHOLESALE TRADE - DURABLE GOODS 5043,PHOTOGRAPHIC EQUIPMENT AND SUPPLIES,50,WHOLESALE TRADE - DURABLE GOODS 5044,OFFICE EQUIPMENT,50,WHOLESALE TRADE - DURABLE GOODS 5045,"COMPUTERS, PERIPHERALS, AND SOFTWARE",50,WHOLESALE TRADE - DURABLE GOODS 5046,"COMMERCIAL EQUIPMENT, NEC",50,WHOLESALE TRADE - DURABLE GOODS 5047,MEDICAL AND HOSPITAL EQUIPMENT,50,WHOLESALE TRADE - DURABLE GOODS 5048,OPHTHALMIC GOODS,50,WHOLESALE TRADE - DURABLE GOODS 5049,"PROFESSIONAL EQUIPMENT, NEC",50,WHOLESALE TRADE - DURABLE GOODS 5051,METALS SERVICE CENTERS AND OFFICES,50,WHOLESALE TRADE - DURABLE GOODS 5052,COAL AND OTHER MINERALS AND ORES,50,WHOLESALE TRADE - DURABLE GOODS 5063,ELECTRICAL APPARATUS AND EQUIPMENT,50,WHOLESALE TRADE - DURABLE GOODS 5064,"ELECTRICAL APPLIANCES, TELEVISION AND RADIO",50,WHOLESALE TRADE - DURABLE GOODS 5065,"ELECTRONIC PARTS AND EQUIPMENT, NEC",50,WHOLESALE TRADE - DURABLE GOODS 5072,HARDWARE,50,WHOLESALE TRADE - DURABLE GOODS 5074,PLUMBING AND HYDRONIC HEATING SUPPLIES,50,WHOLESALE TRADE - DURABLE GOODS 5075,WARM AIR HEATING AND AIR CONDITIONING,50,WHOLESALE TRADE - DURABLE GOODS 5078,REFRIGERATION EQUIPMENT AND SUPPLIES,50,WHOLESALE TRADE - DURABLE GOODS 5082,CONSTRUCTION AND MINING MACHINERY,50,WHOLESALE TRADE - DURABLE GOODS 5083,FARM AND GARDEN MACHINERY,50,WHOLESALE TRADE - DURABLE GOODS 5084,INDUSTRIAL MACHINERY AND EQUIPMENT,50,WHOLESALE TRADE - DURABLE GOODS 5085,INDUSTRIAL SUPPLIES,50,WHOLESALE TRADE - DURABLE GOODS 5087,SERVICE ESTABLISHMENT EQUIPMENT,50,WHOLESALE TRADE - DURABLE GOODS 5088,TRANSPORTATION EQUIPMENT AND SUPPLIES,50,WHOLESALE TRADE - DURABLE GOODS 5091,SPORTING AND RECREATION GOODS,50,WHOLESALE TRADE - DURABLE GOODS 5092,TOYS AND HOBBY GOODS AND SUPPLIES,50,WHOLESALE TRADE - DURABLE GOODS 5093,SCRAP AND WASTE MATERIALS,50,WHOLESALE TRADE - DURABLE GOODS 5094,JEWELRY AND PRECIOUS STONES,50,WHOLESALE TRADE - DURABLE GOODS 5099,"DURABLE GOODS, NEC",50,WHOLESALE TRADE - DURABLE GOODS 5111,PRINTING AND WRITING PAPER,51,WHOLESALE TRADE - NONDURABLE GOODS 5112,STATIONERY AND OFFICE SUPPLIES,51,WHOLESALE TRADE - NONDURABLE GOODS 5113,INDUSTRIAL AND PERSONAL SERVICE PAPER,51,WHOLESALE TRADE - NONDURABLE GOODS 5122,"DRUGS, PROPRIETARIES, AND SUNDRIES",51,WHOLESALE TRADE - NONDURABLE GOODS 5131,PIECE GOODS AND NOTIONS,51,WHOLESALE TRADE - NONDURABLE GOODS 5136,MEN'S AND BOY'S CLOTHING,51,WHOLESALE TRADE - NONDURABLE GOODS 5137,WOMEN'S AND CHILDREN'S CLOTHING,51,WHOLESALE TRADE - NONDURABLE GOODS 5139,FOOTWEAR,51,WHOLESALE TRADE - NONDURABLE GOODS 5141,"GROCERIES, GENERAL LINE",51,WHOLESALE TRADE - NONDURABLE GOODS 5142,PACKAGED FROZEN GOODS,51,WHOLESALE TRADE - NONDURABLE GOODS 5143,"DAIRY PRODUCTS, EXCEPT DRIED OR CANNED",51,WHOLESALE TRADE - NONDURABLE GOODS 5144,POULTRY AND POULTRY PRODUCTS,51,WHOLESALE TRADE - NONDURABLE GOODS 5145,CONFECTIONERY,51,WHOLESALE TRADE - NONDURABLE GOODS 5146,FISH AND SEAFOODS,51,WHOLESALE TRADE - NONDURABLE GOODS 5147,MEATS AND MEAT PRODUCTS,51,WHOLESALE TRADE - NONDURABLE GOODS 5148,FRESH FRUITS AND VEGETABLES,51,WHOLESALE TRADE - NONDURABLE GOODS 5149,"GROCERIES AND RELATED PRODUCTS, NEC",51,WHOLESALE TRADE - NONDURABLE GOODS 5153,GRAIN AND FIELD BEANS,51,WHOLESALE TRADE - NONDURABLE GOODS 5154,LIVESTOCK,51,WHOLESALE TRADE - NONDURABLE GOODS 5159,"FARM-PRODUCT RAW MATERIALS, NEC",51,WHOLESALE TRADE - NONDURABLE GOODS 5162,PLASTICS MATERIALS AND BASIC SHAPES,51,WHOLESALE TRADE - NONDURABLE GOODS 5169,"CHEMICALS AND ALLIED PRODUCTS, NEC",51,WHOLESALE TRADE - NONDURABLE GOODS 5171,PETROLEUM BULK STATIONS AND TERMINALS,51,WHOLESALE TRADE - NONDURABLE GOODS 5172,"PETROLEUM PRODUCTS, NEC",51,WHOLESALE TRADE - NONDURABLE GOODS 5181,BEER AND ALE,51,WHOLESALE TRADE - NONDURABLE GOODS 5182,WINE AND DISTILLED BEVERAGES,51,WHOLESALE TRADE - NONDURABLE GOODS 5191,FARM SUPPLIES,51,WHOLESALE TRADE - NONDURABLE GOODS 5192,"BOOKS, PERIODICALS, AND NEWSPAPERS",51,WHOLESALE TRADE - NONDURABLE GOODS 5193,FLOWERS AND FLORISTS SUPPLIES,51,WHOLESALE TRADE - NONDURABLE GOODS 5194,TOBACCO AND TOBACCO PRODUCTS,51,WHOLESALE TRADE - NONDURABLE GOODS 5198,"PAINTS, VARNISHES, AND SUPPLIES",51,WHOLESALE TRADE - NONDURABLE GOODS 5199,"NONDURABLE GOODS, NEC",51,WHOLESALE TRADE - NONDURABLE GOODS 5211,LUMBER AND OTHER BUILDING MATERIALS,52,"BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" 5231,"PAINT, GLASS, AND WALLPAPER STORES",52,"BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" 5251,HARDWARE STORES,52,"BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" 5261,RETAIL NURSERIES AND GARDEN STORES,52,"BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" 5271,MOBILE HOME DEALERS,52,"BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" 5311,DEPARTMENT STORES,53,GENERAL MERCHANDISE STORES 5331,VARIETY STORES,53,GENERAL MERCHANDISE STORES 5399,MISCELLANEOUS GENERAL MERCHANDISE,53,GENERAL MERCHANDISE STORES 5411,GROCERY STORES,54,FOOD STORES 5421,MEAT AND FISH MARKETS,54,FOOD STORES 5431,FRUIT AND VEGETABLE MARKETS,54,FOOD STORES 5441,"CANDY, NUT, AND CONFECTIONERY STORES",54,FOOD STORES 5451,DAIRY PRODUCTS STORES,54,FOOD STORES 5461,RETAIL BAKERIES,54,FOOD STORES 5499,MISCELLANEOUS FOOD STORES,54,FOOD STORES 5511,NEW AND USED CAR DEALERS,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5521,USED CAR DEALERS,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5531,AUTO AND HOME SUPPLY STORES,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5541,GASOLINE SERVICE STATIONS,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5551,BOAT DEALERS,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5561,RECREATIONAL VEHICLE DEALERS,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5571,MOTORCYCLE DEALERS,55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5599,"AUTOMOTIVE DEALERS, NEC",55,AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS 5611,MEN'S AND BOYS' CLOTHING STORES,56,APPAREL AND ACCESSORY STORES 5621,WOMEN'S CLOTHING STORES,56,APPAREL AND ACCESSORY STORES 5632,WOMEN'S ACCESSORY AND SPECIALTY STORES,56,APPAREL AND ACCESSORY STORES 5641,CHILDREN'S AND INFANTS' WEAR STORES,56,APPAREL AND ACCESSORY STORES 5651,FAMILY CLOTHING STORES,56,APPAREL AND ACCESSORY STORES 5661,SHOE STORES,56,APPAREL AND ACCESSORY STORES 5699,MISCELLANEOUS APPAREL AND ACCESSORIES,56,APPAREL AND ACCESSORY STORES 5712,FURNITURE STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5713,FLOOR COVERING STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5714,DRAPERY AND UPHOLSTERY STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5719,MISCELLANEOUS HOMEFURNISHINGS,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5722,HOUSEHOLD APPLIANCE STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5731,"RADIO, TELEVISION, AND ELECTRONIC STORES",57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5734,COMPUTER AND SOFTWARE STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5735,RECORD AND PRERECORDED TAPE STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5736,MUSICAL INSTRUMENT STORES,57,"HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" 5812,EATING PLACES,58,EATING AND DRINKING PLACES 5813,DRINKING PLACES,58,EATING AND DRINKING PLACES 5912,DRUG STORES AND PROPRIETARY STORES,59,MISCELLANEOUS RETAIL 5921,LIQUOR STORES,59,MISCELLANEOUS RETAIL 5932,USED MERCHANDISE STORES,59,MISCELLANEOUS RETAIL 5941,SPORTING GOODS AND BICYCLE SHOPS,59,MISCELLANEOUS RETAIL 5942,BOOK STORES,59,MISCELLANEOUS RETAIL 5943,STATIONERY STORES,59,MISCELLANEOUS RETAIL 5944,JEWELRY STORES,59,MISCELLANEOUS RETAIL 5945,"HOBBY, TOY, AND GAME SHOPS",59,MISCELLANEOUS RETAIL 5946,CAMERA AND PHOTOGRAPHIC SUPPLY STORES,59,MISCELLANEOUS RETAIL 5947,"GIFT, NOVELTY, AND SOUVENIR SHOP",59,MISCELLANEOUS RETAIL 5948,LUGGAGE AND LEATHER GOODS STORES,59,MISCELLANEOUS RETAIL 5949,"SEWING, NEEDLEWORK, AND PIECE GOODS",59,MISCELLANEOUS RETAIL 5961,CATALOG AND MAIL-ORDER HOUSES,59,MISCELLANEOUS RETAIL 5962,MERCHANDISING MACHINE OPERATORS,59,MISCELLANEOUS RETAIL 5963,DIRECT SELLING ESTABLISHMENTS,59,MISCELLANEOUS RETAIL 5983,FUEL OIL DEALERS,59,MISCELLANEOUS RETAIL 5984,LIQUEFIED PETROLEUM GAS DEALERS,59,MISCELLANEOUS RETAIL 5989,"FUEL DEALERS, NEC",59,MISCELLANEOUS RETAIL 5992,FLORISTS,59,MISCELLANEOUS RETAIL 5993,TOBACCO STORES AND STANDS,59,MISCELLANEOUS RETAIL 5994,NEWS DEALERS AND NEWSSTANDS,59,MISCELLANEOUS RETAIL 5995,OPTICAL GOODS STORES,59,MISCELLANEOUS RETAIL 5999,"MISCELLANEOUS RETAIL STORES, NEC",59,MISCELLANEOUS RETAIL 6011,FEDERAL RESERVE BANKS,60,DEPOSITORY INSTITUTIONS 6019,"CENTRAL RESERVE DEPOSITORY, NEC",60,DEPOSITORY INSTITUTIONS 6021,NATIONAL COMMERCIAL BANKS,60,DEPOSITORY INSTITUTIONS 6022,STATE COMMERCIAL BANKS,60,DEPOSITORY INSTITUTIONS 6029,"COMMERCIAL BANKS, NEC",60,DEPOSITORY INSTITUTIONS 6035,FEDERAL SAVINGS INSTITUTIONS,60,DEPOSITORY INSTITUTIONS 6036,"SAVINGS INSTITUTIONS, EXCEPT FEDERAL",60,DEPOSITORY INSTITUTIONS 6061,FEDERAL CREDIT UNIONS,60,DEPOSITORY INSTITUTIONS 6062,STATE CREDIT UNIONS,60,DEPOSITORY INSTITUTIONS 6081,FOREIGN BANK AND BRANCHES AND AGENCIES,60,DEPOSITORY INSTITUTIONS 6082,FOREIGN TRADE AND INTERNATIONAL BANKS,60,DEPOSITORY INSTITUTIONS 6091,NONDEPOSIT TRUST FACILITIES,60,DEPOSITORY INSTITUTIONS 6099,FUNCTIONS RELATED TO DEPOSITORY BANKING,60,DEPOSITORY INSTITUTIONS 6111,FEDERAL AND FEDERALLY SPONSORED CREDIT,61,NONDEPOSITORY CREDIT INSTITUTIONS 6141,PERSONAL CREDIT INSTITUTIONS,61,NONDEPOSITORY CREDIT INSTITUTIONS 6153,SHORT-TERM BUSINESS CREDIT,61,NONDEPOSITORY CREDIT INSTITUTIONS 6159,MISCELLANEOUS BUSINESS CREDIT,61,NONDEPOSITORY CREDIT INSTITUTIONS 6162,MORTGAGE BANKERS AND CORRESPONDENTS,61,NONDEPOSITORY CREDIT INSTITUTIONS 6163,LOAN BROKERS,61,NONDEPOSITORY CREDIT INSTITUTIONS 6211,SECURITY BROKERS AND DEALERS,62,"SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" 6221,"COMMODITY CONTRACTS BROKERS, DEALERS",62,"SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" 6231,SECURITY AND COMMODITY EXCHANGES,62,"SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" 6282,INVESTMENT ADVICE,62,"SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" 6289,SECURITY AND COMMODITY SERVICE,62,"SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" 6311,LIFE INSURANCE,63,INSURANCE CARRIERS 6321,ACCIDENT AND HEALTH INSURANCE,63,INSURANCE CARRIERS 6324,HOSPITAL AND MEDICAL SERVICE PLANS,63,INSURANCE CARRIERS 6331,"FIRE, MARINE, AND CASUALTY INSURANCE",63,INSURANCE CARRIERS 6351,SURETY INSURANCE,63,INSURANCE CARRIERS 6361,TITLE INSURANCE,63,INSURANCE CARRIERS 6371,"PENSION, HEALTH, AND WELFARE FUNDS",63,INSURANCE CARRIERS 6399,"INSURANCE CARRIERS, NEC",63,INSURANCE CARRIERS 6411,"INSURANCE AGENTS, BROKERS, AND SERVICE",64,"INSURANCE AGENTS, BROKERS AND SERVICE" 6512,NONRESIDENTIAL BUILDING OPERATORS,65,REAL ESTATE 6513,APARTMENT BUILDING OPERATORS,65,REAL ESTATE 6514,"DWELLING OPERATORS, EXCEPT APARTMENTS",65,REAL ESTATE 6515,MOBILE HOME SITE OPERATORS,65,REAL ESTATE 6517,RAILROAD PROPERTY LESSORS,65,REAL ESTATE 6519,"REAL PROPERTY LESSORS, NEC",65,REAL ESTATE 6531,REAL ESTATE AGENTS AND MANAGERS,65,REAL ESTATE 6541,TITLE ABSTRACT OFFICES,65,REAL ESTATE 6552,"SUBDIVIDERS AND DEVELOPERS, NEC",65,REAL ESTATE 6553,CEMETERY SUBDIVIDERS AND DEVELOPERS,65,REAL ESTATE 6712,BANK HOLDING COMPANIES,67,HOLDING AND OTHER INVESTMENT OFFICES 6719,"HOLDING COMPANIES, NEC",67,HOLDING AND OTHER INVESTMENT OFFICES 6722,"MANAGEMENT INVESTMENT, OPEN-ENDED",67,HOLDING AND OTHER INVESTMENT OFFICES 6726,"INVESTMENT OFFICES, NEC",67,HOLDING AND OTHER INVESTMENT OFFICES 6732,"TRUSTS: EDUCATIONAL, RELIGIOUS, ETC.",67,HOLDING AND OTHER INVESTMENT OFFICES 6733,"TRUSTS, NEC",67,HOLDING AND OTHER INVESTMENT OFFICES 6792,OIL ROYALTY TRADERS,67,HOLDING AND OTHER INVESTMENT OFFICES 6794,PATENT OWNERS AND LESSORS,67,HOLDING AND OTHER INVESTMENT OFFICES 6798,REAL ESTATE INVESTMENT TRUSTS,67,HOLDING AND OTHER INVESTMENT OFFICES 6799,"INVESTORS, NEC",67,HOLDING AND OTHER INVESTMENT OFFICES 7011,HOTELS AND MOTELS,70,"HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" 7021,ROOMING AND BOARDING HOUSES,70,"HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" 7032,SPORTING AND RECREATIONAL CAMPS,70,"HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" 7033,TRAILER PARKS AND CAMPSITES,70,"HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" 7041,MEMBERSHIP-BASIS ORGANIZATION HOTELS,70,"HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" 7211,"POWER LAUNDRIES, FAMILY AND COMMERCIAL",72,PERSONAL SERVICES 7212,GARMENT PRESSING AND CLEANERS' AGENTS,72,PERSONAL SERVICES 7213,LINEN SUPPLY,72,PERSONAL SERVICES 7215,COIN-OPERATED LAUNDRIES AND CLEANING,72,PERSONAL SERVICES 7216,"DRYCLEANING PLANTS, EXCEPT RUGS",72,PERSONAL SERVICES 7217,CARPET AND UPHOLSTERY CLEANING,72,PERSONAL SERVICES 7218,INDUSTRIAL LAUNDERERS,72,PERSONAL SERVICES 7219,"LAUNDRY AND GARMENT SERVICES, NEC",72,PERSONAL SERVICES 7221,"PHOTOGRAPHIC STUDIOS, PORTRAIT",72,PERSONAL SERVICES 7231,BEAUTY SHOPS,72,PERSONAL SERVICES 7241,BARBER SHOPS,72,PERSONAL SERVICES 7251,SHOE REPAIR AND SHOESHINE PARLORS,72,PERSONAL SERVICES 7261,FUNERAL SERVICE AND CREMATORIES,72,PERSONAL SERVICES 7291,TAX RETURN PREPARATION SERVICES,72,PERSONAL SERVICES 7299,MISCELLANEOUS PERSONAL SERVICES,72,PERSONAL SERVICES 7311,ADVERTISING AGENCIES,73,BUSINESS SERVICES 7312,OUTDOOR ADVERTISING SERVICES,73,BUSINESS SERVICES 7313,"RADIO, TELEVISION, PUBLISHER REPRESENTATIVES",73,BUSINESS SERVICES 7319,"ADVERTISING, NEC",73,BUSINESS SERVICES 7322,ADJUSTMENT AND COLLECTION SERVICES,73,BUSINESS SERVICES 7323,CREDIT REPORTING SERVICES,73,BUSINESS SERVICES 7331,DIRECT MAIL ADVERTISING SERVICES,73,BUSINESS SERVICES 7334,PHOTOCOPYING AND DUPLICATING SERVICES,73,BUSINESS SERVICES 7335,COMMERCIAL PHOTOGRAPHY,73,BUSINESS SERVICES 7336,COMMERCIAL ART AND GRAPHIC DESIGN,73,BUSINESS SERVICES 7338,SECRETARIAL AND COURT REPORTING,73,BUSINESS SERVICES 7342,DISINFECTING AND PEST CONTROL SERVICES,73,BUSINESS SERVICES 7349,"BUILDING MAINTENANCE SERVICES, NEC",73,BUSINESS SERVICES 7352,MEDICAL EQUIPMENT RENTAL,73,BUSINESS SERVICES 7353,HEAVY CONSTRUCTION EQUIPMENT RENTAL,73,BUSINESS SERVICES 7359,"EQUIPMENT RENTAL AND LEASING, NEC",73,BUSINESS SERVICES 7361,EMPLOYMENT AGENCIES,73,BUSINESS SERVICES 7363,HELP SUPPLY SERVICES,73,BUSINESS SERVICES 7371,CUSTOM COMPUTER PROGRAMMING SERVICES,73,BUSINESS SERVICES 7372,PREPACKAGED SOFTWARE,73,BUSINESS SERVICES 7373,COMPUTER INTEGRATED SYSTEMS DESIGN,73,BUSINESS SERVICES 7374,DATA PROCESSING AND PREPARATION,73,BUSINESS SERVICES 7375,INFORMATION RETRIEVAL SERVICES,73,BUSINESS SERVICES 7376,COMPUTER FACILITIES MANAGEMENT,73,BUSINESS SERVICES 7377,COMPUTER RENTAL AND LEASING,73,BUSINESS SERVICES 7378,COMPUTER MAINTENANCE AND REPAIR,73,BUSINESS SERVICES 7379,"COMPUTER RELATED SERVICES, NEC",73,BUSINESS SERVICES 7381,DETECTIVE AND ARMORED CAR SERVICES,73,BUSINESS SERVICES 7382,SECURITY SYSTEMS SERVICES,73,BUSINESS SERVICES 7383,NEWS SYNDICATES,73,BUSINESS SERVICES 7384,PHOTOFINISH LABORATORIES,73,BUSINESS SERVICES 7389,"BUSINESS SERVICES, NEC",73,BUSINESS SERVICES 7513,"TRUCK RENTAL AND LEASING, WITHOUT DRIVERS",75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7514,PASSENGER CAR RENTAL,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7515,PASSENGER CAR LEASING,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7519,UTILITY TRAILER RENTAL,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7521,AUTOMOBILE PARKING,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7532,TOP AND BODY REPAIR AND PAINT SHOPS,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7533,AUTO EXHAUST SYSTEM REPAIR SHOPS,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7534,TIRE RETREADING AND REPAIR SHOPS,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7536,AUTOMOTIVE GLASS REPLACEMENT SHOPS,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7537,AUTOMOTIVE TRANSMISSION REPAIR SHOPS,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7538,GENERAL AUTOMOTIVE REPAIR SHOPS,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7539,"AUTOMOTIVE REPAIR SHOPS, NEC",75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7542,CARWASHES,75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7549,"AUTOMOTIVE SERVICES, NEC",75,"AUTOMOTIVE REPAIR, SERVICES AND PARKING" 7622,RADIO AND TELEVISION REPAIR,76,MISCELLANEOUS REPAIR SERVICES 7623,REFRIGERATION SERVICE AND REPAIR,76,MISCELLANEOUS REPAIR SERVICES 7629,ELECTRICAL REPAIR SHOPS,76,MISCELLANEOUS REPAIR SERVICES 7631,"WATCH, CLOCK, AND JEWELRY REPAIR",76,MISCELLANEOUS REPAIR SERVICES 7641,REUPHOLSTERY AND FURNITURE REPAIR,76,MISCELLANEOUS REPAIR SERVICES 7692,WELDING REPAIR,76,MISCELLANEOUS REPAIR SERVICES 7694,ARMATURE REWINDING SHOPS,76,MISCELLANEOUS REPAIR SERVICES 7699,"REPAIR SERVICES, NEC",76,MISCELLANEOUS REPAIR SERVICES 7812,MOTION PICTURE AND VIDEO PRODUCTION,78,MOTION PICTURES 7819,SERVICES ALLIED TO MOTION PICTURES,78,MOTION PICTURES 7822,MOTION PICTURE AND TAPE DISTRIBUTION,78,MOTION PICTURES 7829,MOTION PICTURE DISTRIBUTION SERVICES,78,MOTION PICTURES 7832,"MOTION PICTURE THEATERS, EXCEPT DRIVE-IN",78,MOTION PICTURES 7833,DRIVE-IN MOTION PICTURE THEATERS,78,MOTION PICTURES 7841,VIDEO TAPE RENTAL,78,MOTION PICTURES 7911,"DANCE STUDIOS, SCHOOLS, AND HALLS",79,AMUSEMENT AND RECREATION SERVICES 7922,THEATRICAL PRODUCERS AND SERVICES,79,AMUSEMENT AND RECREATION SERVICES 7929,ENTERTAINERS AND ENTERTAINMENT GROUPS,79,AMUSEMENT AND RECREATION SERVICES 7933,BOWLING CENTERS,79,AMUSEMENT AND RECREATION SERVICES 7941,"SPORTS CLUBS, MANAGERS, AND PROMOTERS",79,AMUSEMENT AND RECREATION SERVICES 7948,"RACING, INCLUDING TRACK OPERATION",79,AMUSEMENT AND RECREATION SERVICES 7991,PHYSICAL FITNESS FACILITIES,79,AMUSEMENT AND RECREATION SERVICES 7992,PUBLIC GOLF COURSES,79,AMUSEMENT AND RECREATION SERVICES 7993,COIN-OPERATED AMUSEMENT DEVICES,79,AMUSEMENT AND RECREATION SERVICES 7996,AMUSEMENT PARKS,79,AMUSEMENT AND RECREATION SERVICES 7997,MEMBERSHIP SPORTS AND RECREATION CLUBS,79,AMUSEMENT AND RECREATION SERVICES 7999,"AMUSEMENT AND RECREATION, NEC",79,AMUSEMENT AND RECREATION SERVICES 8011,OFFICES AND CLINICS OF MEDICAL DOCTORS,80,HEALTH SERVICES 8021,OFFICES AND CLINICS OF DENTISTS,80,HEALTH SERVICES 8031,OFFICES AND CLINICS OF OSTEOPATHIC PHYSICIANS,80,HEALTH SERVICES 8041,OFFICES AND CLINICS OF CHIROPRACTORS,80,HEALTH SERVICES 8042,OFFICES AND CLINICS OF OPTOMETRISTS,80,HEALTH SERVICES 8043,OFFICES AND CLINICS OF PODIATRISTS,80,HEALTH SERVICES 8049,OFFICES OF HEALTH PRACTITIONER,80,HEALTH SERVICES 8051,SKILLED NURSING CARE FACILITIES,80,HEALTH SERVICES 8052,INTERMEDIATE CARE FACILITIES,80,HEALTH SERVICES 8059,"NURSING AND PERSONAL CARE, NEC",80,HEALTH SERVICES 8062,GENERAL MEDICAL AND SURGICAL HOSPITALS,80,HEALTH SERVICES 8063,PSYCHIATRIC HOSPITALS,80,HEALTH SERVICES 8069,"SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC",80,HEALTH SERVICES 8071,MEDICAL LABORATORIES,80,HEALTH SERVICES 8072,DENTAL LABORATORIES,80,HEALTH SERVICES 8082,HOME HEALTH CARE SERVICES,80,HEALTH SERVICES 8092,KIDNEY DIALYSIS CENTERS,80,HEALTH SERVICES 8093,"SPECIALTY OUTPATIENT CLINICS, NEC",80,HEALTH SERVICES 8099,"HEALTH AND ALLIED SERVICES, NEC",80,HEALTH SERVICES 8111,LEGAL SERVICES,81,LEGAL SERVICES 8211,ELEMENTARY AND SECONDARY SCHOOLS,82,EDUCATIONAL SERVICES 8221,COLLEGES AND UNIVERSITIES,82,EDUCATIONAL SERVICES 8222,JUNIOR COLLEGES,82,EDUCATIONAL SERVICES 8231,LIBRARIES,82,EDUCATIONAL SERVICES 8243,DATA PROCESSING SCHOOLS,82,EDUCATIONAL SERVICES 8244,BUSINESS AND SECRETARIAL SCHOOLS,82,EDUCATIONAL SERVICES 8249,"VOCATIONAL SCHOOLS, NEC",82,EDUCATIONAL SERVICES 8299,SCHOOLS AND EDUCATIONAL SERVICES,82,EDUCATIONAL SERVICES 8322,INDIVIDUAL AND FAMILY SERVICES,83,SOCIAL SERVICES 8331,JOB TRAINING AND RELATED SERVICES,83,SOCIAL SERVICES 8351,CHILD DAY CARE SERVICES,83,SOCIAL SERVICES 8361,RESIDENTIAL CARE,83,SOCIAL SERVICES 8399,"SOCIAL SERVICES, NEC",83,SOCIAL SERVICES 8412,MUSEUMS AND ART GALLERIES,84,"MUSEUMS, ART GALLERIES AND BOTANICAL AND ZOOLOGICAL GARDENS" 8422,BOTANICAL AND ZOOLOGICAL GARDENS,84,"MUSEUMS, ART GALLERIES AND BOTANICAL AND ZOOLOGICAL GARDENS" 8611,BUSINESS ASSOCIATIONS,86,MEMBERSHIP ORGANIZATIONS 8621,PROFESSIONAL ORGANIZATIONS,86,MEMBERSHIP ORGANIZATIONS 8631,LABOR ORGANIZATIONS,86,MEMBERSHIP ORGANIZATIONS 8641,CIVIC AND SOCIAL ASSOCIATIONS,86,MEMBERSHIP ORGANIZATIONS 8651,POLITICAL ORGANIZATIONS,86,MEMBERSHIP ORGANIZATIONS 8661,RELIGIOUS ORGANIZATIONS,86,MEMBERSHIP ORGANIZATIONS 8699,"MEMBERSHIP ORGANIZATIONS, NEC",86,MEMBERSHIP ORGANIZATIONS 8711,ENGINEERING SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8712,ARCHITECTURAL SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8713,SURVEYING SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8721,"ACCOUNTING, AUDITING, AND BOOKKEEPING",87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8731,COMMERCIAL PHYSICAL RESEARCH,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8732,COMMERCIAL NONPHYSICAL RESEARCH,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8733,NONCOMMERCIAL RESEARCH ORGANIZATIONS,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8734,TESTING LABORATORIES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8741,MANAGEMENT SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8742,MANAGEMENT CONSULTING SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8743,PUBLIC RELATIONS SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8744,FACILITIES SUPPORT SERVICES,87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8748,"BUSINESS CONSULTING, NEC",87,"ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" 8999,"SERVICES, NEC",89,"SERVICES, NOT ELSEWHERE CLASSIFIED" 9111,EXECUTIVE OFFICES,91,"EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" 9121,LEGISLATIVE BODIES,91,"EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" 9131,EXECUTIVE AND LEGISLATIVE COMBINED,91,"EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" 9199,"GENERAL GOVERNMENT, NEC",91,"EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" 9211,COURTS,92,"JUSTICE, PUBLIC ORDER AND SAFETY" 9221,POLICE PROTECTION,92,"JUSTICE, PUBLIC ORDER AND SAFETY" 9222,LEGAL COUNSEL AND PROSECUTION,92,"JUSTICE, PUBLIC ORDER AND SAFETY" 9223,CORRECTIONAL INSTITUTIONS,92,"JUSTICE, PUBLIC ORDER AND SAFETY" 9224,FIRE PROTECTION,92,"JUSTICE, PUBLIC ORDER AND SAFETY" 9229,"PUBLIC ORDER AND SAFETY, NEC",92,"JUSTICE, PUBLIC ORDER AND SAFETY" 9311,"FINANCE, TAXATION, AND MONETARY POLICY",93,"PUBLIC FINANCE, TAXATION AND MONETARY POLICY" 9411,ADMINISTRATION OF EDUCATIONAL PROGRAMS,94,ADMINISTRATION OF HUMAN RESOURCE PROGRAMS 9431,ADMINISTRATION OF PUBLIC HEALTH PROGRAMS,94,ADMINISTRATION OF HUMAN RESOURCE PROGRAMS 9441,ADMINISTRATION OF SOCIAL AND MANPOWER PROGRAMS,94,ADMINISTRATION OF HUMAN RESOURCE PROGRAMS 9451,ADMINISTRATION OF VETERANS' AFFAIRS,94,ADMINISTRATION OF HUMAN RESOURCE PROGRAMS 9511,"AIR, WATER, AND SOLID WASTE MANAGEMENT",95,ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS 9512,"LAND, MINERAL, AND WILDLIFE CONSERVATION",95,ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS 9531,HOUSING PROGRAMS,95,ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS 9532,URBAN AND COMMUNITY DEVELOPMENT,95,ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS 9611,ADMINISTRATION OF GENERAL ECONOMIC PROGRAMS,96,ADMINISTRATION OF ECONOMIC PROGRAMS 9621,"REGULATION, ADMINISTRATION OF TRANSPORTATION",96,ADMINISTRATION OF ECONOMIC PROGRAMS 9631,"REGULATION, ADMINISTRATION OF UTILITIES",96,ADMINISTRATION OF ECONOMIC PROGRAMS 9641,REGULATION OF AGRICULTURAL MARKETING,96,ADMINISTRATION OF ECONOMIC PROGRAMS 9651,"REGULATION, MISCELLANEOUS COMMERCIAL SECTORS",96,ADMINISTRATION OF ECONOMIC PROGRAMS 9661,SPACE RESEARCH AND TECHNOLOGY,96,ADMINISTRATION OF ECONOMIC PROGRAMS 9711,NATIONAL SECURITY,97,NATIONAL SECURITY AND INTERNATIONAL AFFAIRS 9721,INTERNATIONAL AFFAIRS,97,NATIONAL SECURITY AND INTERNATIONAL AFFAIRS 9999,NONCLASSIFIABLE ESTABLISHMENTS,99,NONCLASSIFIABLE ESTABLISHMENTS ``` ```json original_sic.json theme={null} [ { "code": "0111", "name": "WHEAT", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0112", "name": "RICE", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0115", "name": "CORN", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0116", "name": "SOYBEANS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0119", "name": "CASH GRAINS, NEC", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0131", "name": "COTTON", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0132", "name": "TOBACCO", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0133", "name": "SUGARCANE AND SUGAR BEETS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0134", "name": "IRISH POTATOES", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0139", "name": "FIELD CROPS, EXCEPT CASH GRAIN", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0161", "name": "VEGETABLES AND MELONS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0171", "name": "BERRY CROPS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0172", "name": "GRAPES", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0173", "name": "TREE NUTS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0174", "name": "CITRUS FRUITS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0175", "name": "DECIDUOUS TREE FRUITS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0179", "name": "FRUITS AND TREE NUTS, NEC", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0181", "name": "ORNAMENTAL NURSERY PRODUCTS", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0182", "name": "FOOD CROPS GROWN UNDER COVER", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0191", "name": "GENERAL FARMS, PRIMARILY CROP", "majorGroup": "01", "majorGroupName": "AGRICULTURAL PRODUCTION - CROPS" }, { "code": "0211", "name": "BEEF CATTLE FEEDLOTS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0212", "name": "BEEF CATTLE, EXCEPT FEEDLOTS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0213", "name": "HOGS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0214", "name": "SHEEP AND GOATS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0219", "name": "GENERAL LIVESTOCK, NEC", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0241", "name": "DAIRY FARMS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0251", "name": "BROILER, FRYER, AND ROASTER CHICKENS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0252", "name": "CHICKEN EGGS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0253", "name": "TURKEYS AND TURKEY EGGS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0254", "name": "POULTRY HATCHERIES", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0259", "name": "POULTRY AND EGGS, NEC", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0271", "name": "FUR-BEARING ANIMALS AND RABBITS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0272", "name": "HORSES AND OTHER EQUINES", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0273", "name": "ANIMAL AQUACULTURE", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0279", "name": "ANIMAL SPECIALTIES, NEC", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0291", "name": "GENERAL FARMS, PRIMARILY ANIMALS", "majorGroup": "02", "majorGroupName": "AGRICULTURAL PRODUCTION - LIVESTOCK AND ANIMAL SPECIALTIES" }, { "code": "0711", "name": "SOIL PREPARATION SERVICES", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0721", "name": "CROP PLANTING AND PROTECTION", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0722", "name": "CROP HARVESTING", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0723", "name": "CROP PREPARATION SERVICES FOR MARKET", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0724", "name": "COTTON GINNING", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0741", "name": "VETERINARY SERVICES FOR LIVESTOCK", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0742", "name": "VETERINARY SERVICES, SPECIALTIES", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0751", "name": "LIVESTOCK SERVICES, EXCEPT VETERINARY", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0752", "name": "ANIMAL SPECIALTY SERVICES", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0761", "name": "FARM LABOR CONTRACTORS", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0762", "name": "FARM MANAGEMENT SERVICES", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0781", "name": "LANDSCAPE COUNSELING AND PLANNING", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0782", "name": "LAWN AND GARDEN SERVICES", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0783", "name": "ORNAMENTAL SHRUB AND TREE SERVICES", "majorGroup": "07", "majorGroupName": "AGRICULTURAL SERVICES" }, { "code": "0811", "name": "TIMBER TRACTS", "majorGroup": "08", "majorGroupName": "FORESTRY" }, { "code": "0831", "name": "FOREST PRODUCTS", "majorGroup": "08", "majorGroupName": "FORESTRY" }, { "code": "0851", "name": "FORESTRY SERVICES", "majorGroup": "08", "majorGroupName": "FORESTRY" }, { "code": "0912", "name": "FINFISH", "majorGroup": "09", "majorGroupName": "FISHING, HUNTING AND TRAPPING" }, { "code": "0913", "name": "SHELLFISH", "majorGroup": "09", "majorGroupName": "FISHING, HUNTING AND TRAPPING" }, { "code": "0919", "name": "MISCELLANEOUS MARINE PRODUCTS", "majorGroup": "09", "majorGroupName": "FISHING, HUNTING AND TRAPPING" }, { "code": "0921", "name": "FISH HATCHERIES AND PRESERVES", "majorGroup": "09", "majorGroupName": "FISHING, HUNTING AND TRAPPING" }, { "code": "0971", "name": "HUNTING, TRAPPING, GAME PROPAGATION", "majorGroup": "09", "majorGroupName": "FISHING, HUNTING AND TRAPPING" }, { "code": "1011", "name": "IRON ORES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1021", "name": "COPPER ORES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1031", "name": "LEAD AND ZINC ORES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1041", "name": "GOLD ORES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1044", "name": "SILVER ORES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1061", "name": "FERROALLOY ORES, EXCEPT VANADIUM", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1081", "name": "METAL MINING SERVICES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1094", "name": "URANIUM-RADIUM-VANADIUM ORES", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1099", "name": "METAL ORES, NEC", "majorGroup": "10", "majorGroupName": "METAL MINING" }, { "code": "1221", "name": "BITUMINOUS COAL AND LIGNITE-SURFACE MINING", "majorGroup": "12", "majorGroupName": "COAL MINING" }, { "code": "1222", "name": "BITUMINOUS COAL-UNDERGROUND MINING", "majorGroup": "12", "majorGroupName": "COAL MINING" }, { "code": "1231", "name": "ANTHRACITE MINING", "majorGroup": "12", "majorGroupName": "COAL MINING" }, { "code": "1241", "name": "COAL MINING SERVICES", "majorGroup": "12", "majorGroupName": "COAL MINING" }, { "code": "1311", "name": "CRUDE PETROLEUM AND NATURAL GAS", "majorGroup": "13", "majorGroupName": "OIL AND GAS EXTRACTION" }, { "code": "1321", "name": "NATURAL GAS LIQUIDS", "majorGroup": "13", "majorGroupName": "OIL AND GAS EXTRACTION" }, { "code": "1381", "name": "DRILLING OIL AND GAS WELLS", "majorGroup": "13", "majorGroupName": "OIL AND GAS EXTRACTION" }, { "code": "1382", "name": "OIL AND GAS EXPLORATION SERVICES", "majorGroup": "13", "majorGroupName": "OIL AND GAS EXTRACTION" }, { "code": "1389", "name": "OIL AND GAS FIELD SERVICES, NEC", "majorGroup": "13", "majorGroupName": "OIL AND GAS EXTRACTION" }, { "code": "1411", "name": "DIMENSION STONE", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1422", "name": "CRUSHED AND BROKEN LIMESTONE", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1423", "name": "CRUSHED AND BROKEN GRANITE", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1429", "name": "CRUSHED AND BROKEN STONE, NEC", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1442", "name": "CONSTRUCTION SAND AND GRAVEL", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1446", "name": "INDUSTRIAL SAND", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1455", "name": "KAOLIN AND BALL CLAY", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1459", "name": "CLAY AND RELATED MINERALS, NEC", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1474", "name": "POTASH, SODA, AND BORATE MINERALS", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1475", "name": "PHOSPHATE ROCK", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1479", "name": "CHEMICAL AND FERTILIZER MINING", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1481", "name": "NONMETALLIC MINERAL SERVICES", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1499", "name": "MISCELLANEOUS NONMETALLIC MINING", "majorGroup": "14", "majorGroupName": "MINING AND QUARRYING OF NONMETALLIC MINERALS, EXCEPT FUELS" }, { "code": "1521", "name": "SINGLE-FAMILY HOUSING CONSTRUCTION", "majorGroup": "15", "majorGroupName": "BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS" }, { "code": "1522", "name": "RESIDENTIAL CONSTRUCTION, NEC", "majorGroup": "15", "majorGroupName": "BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS" }, { "code": "1531", "name": "OPERATIVE BUILDERS", "majorGroup": "15", "majorGroupName": "BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS" }, { "code": "1541", "name": "INDUSTRIAL BUILDINGS AND WAREHOUSES", "majorGroup": "15", "majorGroupName": "BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS" }, { "code": "1542", "name": "NONRESIDENTIAL CONSTRUCTION, NEC", "majorGroup": "15", "majorGroupName": "BUILDING CNSTRCTN - GENERAL CONTRACTORS & OPERATIVE BUILDERS" }, { "code": "1611", "name": "HIGHWAY AND STREET CONSTRUCTION", "majorGroup": "16", "majorGroupName": "HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" }, { "code": "1622", "name": "BRIDGE, TUNNEL, AND ELEVATED HIGHWAY", "majorGroup": "16", "majorGroupName": "HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" }, { "code": "1623", "name": "WATER, SEWER, AND UTILITY LINES", "majorGroup": "16", "majorGroupName": "HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" }, { "code": "1629", "name": "HEAVY CONSTRUCTION, NEC", "majorGroup": "16", "majorGroupName": "HEAVY CNSTRCTN, EXCEPT BUILDING CONSTRUCTION - CONTRACTORS" }, { "code": "1711", "name": "PLUMBING, HEATING, AIR-CONDITIONING", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1721", "name": "PAINTING AND PAPER HANGING", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1731", "name": "ELECTRICAL WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1741", "name": "MASONRY AND OTHER STONEWORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1742", "name": "PLASTERING, DRYWALL, AND INSULATION", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1743", "name": "TERRAZZO, TILE, MARBLE, MOSAIC WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1751", "name": "CARPENTRY WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1752", "name": "FLOOR LAYING AND FLOOR WORK, NEC", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1761", "name": "ROOFING, SIDING, AND SHEETMETAL WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1771", "name": "CONCRETE WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1781", "name": "WATER WELL DRILLING", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1791", "name": "STRUCTURAL STEEL ERECTION", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1793", "name": "GLASS AND GLAZING WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1794", "name": "EXCAVATION WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1795", "name": "WRECKING AND DEMOLITION WORK", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1796", "name": "INSTALLING BUILDING EQUIPMENT", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "1799", "name": "SPECIAL TRADE CONTRACTORS, NEC", "majorGroup": "17", "majorGroupName": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS" }, { "code": "2011", "name": "MEAT PACKING PLANTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2013", "name": "SAUSAGES AND OTHER PREPARED MEATS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2015", "name": "POULTRY SLAUGHTERING AND PROCESSING", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2021", "name": "CREAMERY BUTTER", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2022", "name": "CHEESE; NATURAL AND PROCESSED", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2023", "name": "DRY, CONDENSED, EVAPORATED PRODUCTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2024", "name": "ICE CREAM AND FROZEN DESERTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2026", "name": "FLUID MILK", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2032", "name": "CANNED SPECIALTIES", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2033", "name": "CANNED FRUITS AND SPECIALTIES", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2034", "name": "DEHYDRATED FRUITS, VEGETABLES, SOUPS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2035", "name": "PICKLES, SAUCES, AND SALAD DRESSINGS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2037", "name": "FROZEN FRUITS AND VEGETABLES", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2038", "name": "FROZEN SPECIALTIES, NEC", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2041", "name": "FLOUR AND OTHER GRAIN MILL PRODUCTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2043", "name": "CEREAL BREAKFAST FOODS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2044", "name": "RICE MILLING", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2045", "name": "PREPARED FLOUR MIXES AND DOUGHS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2046", "name": "WET CORN MILLING", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2047", "name": "DOG AND CAT FOOD", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2048", "name": "PREPARED FEEDS, NEC", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2051", "name": "BREAD, CAKE, AND RELATED PRODUCTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2052", "name": "COOKIES AND CRACKERS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2053", "name": "FROZEN BAKERY PRODUCTS, EXCEPT BREAD", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2061", "name": "RAW CANE SUGAR", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2062", "name": "CANE SUGAR REFINING", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2063", "name": "BEET SUGAR", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2064", "name": "CANDY AND OTHER CONFECTIONERY PRODUCTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2066", "name": "CHOCOLATE AND COCOA PRODUCTS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2067", "name": "CHEWING GUM", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2068", "name": "SALTED AND ROASTED NUTS AND SEEDS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2074", "name": "COTTONSEED OIL MILLS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2075", "name": "SOYBEAN OIL MILLS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2076", "name": "VEGETABLE OIL MILLS, NEC", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2077", "name": "ANIMAL AND MARINE FATS AND OILS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2079", "name": "EDIBLE FATS AND OILS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2082", "name": "MALT BEVERAGES", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2083", "name": "MALT", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2084", "name": "WINES, BRANDY, AND BRANDY SPIRITS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2085", "name": "DISTILLED AND BLENDED LIQUORS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2086", "name": "BOTTLED AND CANNED SOFT DRINKS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2087", "name": "FLAVORING EXTRACTS AND SYRUPS, NEC", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2091", "name": "CANNED AND CURED FISH AND SEAFOODS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2092", "name": "FRESH OR FROZEN PACKAGED FISH", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2095", "name": "ROASTED COFFEE", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2096", "name": "POTATO CHIPS AND SIMILAR SNACKS", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2097", "name": "MANUFACTURED ICE", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2098", "name": "MACARONI AND SPAGHETTI", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2099", "name": "FOOD PREPARATIONS, NEC", "majorGroup": "20", "majorGroupName": "FOOD AND KINDRED PRODUCTS" }, { "code": "2111", "name": "CIGARETTES", "majorGroup": "21", "majorGroupName": "TOBACCO PRODUCTS" }, { "code": "2121", "name": "CIGARS", "majorGroup": "21", "majorGroupName": "TOBACCO PRODUCTS" }, { "code": "2131", "name": "CHEWING AND SMOKING TOBACCO", "majorGroup": "21", "majorGroupName": "TOBACCO PRODUCTS" }, { "code": "2141", "name": "TOBACCO STEMMING AND REDRYING", "majorGroup": "21", "majorGroupName": "TOBACCO PRODUCTS" }, { "code": "2211", "name": "BROADWOVEN FABRIC MILLS, COTTON", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2221", "name": "BROADWOVEN FABRIC MILLS, MANMADE", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2231", "name": "BROADWOVEN FABRIC MILLS, WOOL", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2241", "name": "NARROW FABRIC MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2251", "name": "WOMEN'S HOSIERY, EXCEPT SOCKS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2252", "name": "HOSIERY, NEC", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2253", "name": "KNIT OUTERWEAR MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2254", "name": "KNIT UNDERWEAR MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2257", "name": "WEFT KNIT FABRIC MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2258", "name": "LACE AND WARP KNIT FABRIC MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2259", "name": "KNITTING MILLS, NEC", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2261", "name": "FINISHING PLANTS, COTTON", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2262", "name": "FINISHING PLANTS, MANMADE", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2269", "name": "FINISHING PLANTS, NEC", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2273", "name": "CARPETS AND RUGS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2281", "name": "YARN SPINNING MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2282", "name": "THROWING AND WINDING MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2284", "name": "THREAD MILLS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2295", "name": "COATED FABRICS, NOT RUBBERIZED", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2296", "name": "TIRE CORD AND FABRICS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2297", "name": "NONWOVEN FABRICS", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2298", "name": "CORDAGE AND TWINE", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2299", "name": "TEXTILE GOODS, NEC", "majorGroup": "22", "majorGroupName": "TEXTILE MILL PRODUCTS" }, { "code": "2311", "name": "MEN'S AND BOY'S SUITS AND COATS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2321", "name": "MEN'S AND BOY'S FURNISHINGS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2322", "name": "MEN'S AND BOY'S UNDERWEAR AND NIGHTWEAR", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2323", "name": "MEN'S AND BOY'S NECKWEAR", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2325", "name": "MEN'S AND BOY'S TROUSERS AND SLACKS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2326", "name": "MEN'S AND BOY'S WORK CLOTHING", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2329", "name": "MEN'S AND BOY'S CLOTHING, NEC", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2331", "name": "WOMEN'S AND MISSES' BLOUSES AND SHIRTS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2335", "name": "WOMEN'S, JUNIOR'S, AND MISSES' DRESSES", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2337", "name": "WOMEN'S AND MISSES' SUITS AND COATS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2339", "name": "WOMEN'S AND MISSES' OUTERWEAR, NEC", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2341", "name": "WOMEN'S AND CHILDREN'S UNDERWEAR", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2342", "name": "BRAS, GIRDLES, AND ALLIED GARMENTS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2353", "name": "HATS, CAPS, AND MILLINERY", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2361", "name": "GIRL'S AND CHILDREN'S DRESSES, BLOUSES", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2369", "name": "GIRL'S AND CHILDREN'S OUTERWEAR, NEC", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2371", "name": "FUR GOODS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2381", "name": "FABRIC DRESS AND WORK GLOVES", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2384", "name": "ROBES AND DRESSING GOWNS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2385", "name": "WATERPROOF OUTERWEAR", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2386", "name": "LEATHER AND SHEEP-LINED CLOTHING", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2387", "name": "APPAREL BELTS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2389", "name": "APPAREL AND ACCESSORIES, NEC", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2391", "name": "CURTAINS AND DRAPERIES", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2392", "name": "HOUSEHOLD FURNISHINGS, NEC", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2393", "name": "TEXTILE BAGS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2394", "name": "CANVAS AND RELATED PRODUCTS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2395", "name": "PLEATING AND STITCHING", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2396", "name": "AUTOMOTIVE AND APPAREL TRIMMINGS", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2397", "name": "SCHIFFLI MACHINE EMBROIDERIES", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2399", "name": "FABRICATED TEXTILE PRODUCTS, NEC", "majorGroup": "23", "majorGroupName": "APPAREL, FINISHED PRDCTS FROM FABRICS & SIMILAR MATERIALS" }, { "code": "2411", "name": "LOGGING", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2421", "name": "SAWMILLS AND PLANING MILLS, GENERAL", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2426", "name": "HARDWOOD DIMENSION AND FLOORING MILLS", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2429", "name": "SPECIAL PRODUCT SAWMILLS, NEC", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2431", "name": "MILLWORK", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2434", "name": "WOOD KITCHEN CABINETS", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2435", "name": "HARDWOOD VENEER AND PLYWOOD", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2436", "name": "SOFTWOOD VENEER AND PLYWOOD", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2439", "name": "STRUCTURAL WOOD MEMBERS, NEC", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2441", "name": "NAILED WOOD BOXES AND SHOOK", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2448", "name": "WOOD PALLETS AND SKIDS", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2449", "name": "WOOD CONTAINERS, NEC", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2451", "name": "MOBILE HOMES", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2452", "name": "PREFABRICATED WOOD BUILDINGS", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2491", "name": "WOOD PRESERVING", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2493", "name": "RECONSTITUTED WOOD PRODUCTS", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2499", "name": "WOOD PRODUCTS, NEC", "majorGroup": "24", "majorGroupName": "LUMBER AND WOOD PRODUCTS, EXCEPT FURNITURE" }, { "code": "2511", "name": "WOOD HOUSEHOLD FURNITURE", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2512", "name": "UPHOLSTERED HOUSEHOLD FURNITURE", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2514", "name": "METAL HOUSEHOLD FURNITURE", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2515", "name": "MATTRESSES AND BEDSPRINGS", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2517", "name": "WOOD TELEVISION AND RADIO CABINETS", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2519", "name": "HOUSEHOLD FURNITURE, NEC", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2521", "name": "WOOD OFFICE FURNITURE", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2522", "name": "OFFICE FURNITURE, EXCEPT WOOD", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2531", "name": "PUBLIC BUILDING AND RELATED FURNITURE", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2541", "name": "WOOD PARTITIONS AND FIXTURES", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2542", "name": "PARTITIONS AND FIXTURES, EXCEPT WOOD", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2591", "name": "DRAPERY HARDWARE AND BLINDS AND SHADES", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2599", "name": "FURNITURE AND FIXTURES, NEC", "majorGroup": "25", "majorGroupName": "FURNITURE AND FIXTURES" }, { "code": "2611", "name": "PULP MILLS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2621", "name": "PAPER MILLS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2631", "name": "PAPERBOARD MILLS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2652", "name": "SETUP PAPERBOARD BOXES", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2653", "name": "CORRUGATED AND SOLID FIBER BOXES", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2655", "name": "FIBER CANS, DRUMS, AND SIMILAR PRODUCTS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2656", "name": "SANITARY FOOD CONTAINERS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2657", "name": "FOLDING PAPERBOARD BOXES", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2671", "name": "PAPER; COATED AND LAMINATED PACKAGING", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2672", "name": "PAPER; COATED AND LAMINATED, NEC", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2673", "name": "BAGS: PLASTIC, LAMINATED, AND COATED", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2674", "name": "BAGS: UNCOATED PAPER AND MULTIWALL", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2675", "name": "DIE-CUT PAPER AND BOARD", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2676", "name": "SANITARY PAPER PRODUCTS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2677", "name": "ENVELOPES", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2678", "name": "STATIONERY PRODUCTS", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2679", "name": "CONVERTED PAPER PRODUCTS, NEC", "majorGroup": "26", "majorGroupName": "PAPER AND ALLIED PRODUCTS" }, { "code": "2711", "name": "NEWSPAPERS", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2721", "name": "PERIODICALS", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2731", "name": "BOOK PUBLISHING", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2732", "name": "BOOK PRINTING", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2741", "name": "MISCELLANEOUS PUBLISHING", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2752", "name": "COMMERCIAL PRINTING, LITHOGRAPHIC", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2754", "name": "COMMERCIAL PRINTING, GRAVURE", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2759", "name": "COMMERCIAL PRINTING, NEC", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2761", "name": "MANIFOLD BUSINESS FORMS", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2771", "name": "GREETING CARDS", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2782", "name": "BLANKBOOKS AND LOOSELEAF BINDERS", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2789", "name": "BOOKBINDING AND RELATED WORK", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2791", "name": "TYPESETTING", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2796", "name": "PLATEMAKING SERVICES", "majorGroup": "27", "majorGroupName": "PRINTING, PUBLISHING AND ALLIED INDUSTRIES" }, { "code": "2812", "name": "ALKALIES AND CHLORINE", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2813", "name": "INDUSTRIAL GASES", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2816", "name": "INORGANIC PIGMENTS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2819", "name": "INDUSTRIAL INORGANIC CHEMICALS, NEC", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2821", "name": "PLASTICS MATERIALS AND RESINS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2822", "name": "SYNTHETIC RUBBER", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2823", "name": "CELLULOSIC MANMADE FIBERS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2824", "name": "ORGANIC FIBERS, NONCELLULOSIC", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2833", "name": "MEDICINALS AND BOTANICALS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2834", "name": "PHARMACEUTICAL PREPARATIONS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2835", "name": "DIAGNOSTIC SUBSTANCES", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2836", "name": "BIOLOGICAL PRODUCTS, EXCEPT DIAGNOSTIC", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2841", "name": "SOAP AND OTHER DETERGENTS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2842", "name": "POLISHES AND SANITATION GOODS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2843", "name": "SURFACE ACTIVE AGENTS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2844", "name": "TOILET PREPARATIONS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2851", "name": "PAINTS AND ALLIED PRODUCTS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2861", "name": "GUM AND WOOD CHEMICALS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2865", "name": "CYCLIC CRUDES AND INTERMEDIATES", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2869", "name": "INDUSTRIAL ORGANIC CHEMICALS, NEC", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2873", "name": "NITROGENOUS FERTILIZERS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2874", "name": "PHOSPHATIC FERTILIZERS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2875", "name": "FERTILIZERS, MIXING ONLY", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2879", "name": "AGRICULTURAL CHEMICALS, NEC", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2891", "name": "ADHESIVES AND SEALANTS", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2892", "name": "EXPLOSIVES", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2893", "name": "PRINTING INK", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2895", "name": "CARBON BLACK", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2899", "name": "CHEMICAL PREPARATIONS, NEC", "majorGroup": "28", "majorGroupName": "CHEMICALS AND ALLIED PRODUCTS" }, { "code": "2911", "name": "PETROLEUM REFINING", "majorGroup": "29", "majorGroupName": "PETROLEUM REFINING AND RELATED INDUSTRIES" }, { "code": "2951", "name": "ASPHALT PAVING MIXTURES AND BLOCKS", "majorGroup": "29", "majorGroupName": "PETROLEUM REFINING AND RELATED INDUSTRIES" }, { "code": "2952", "name": "ASPHALT FELTS AND COATINGS", "majorGroup": "29", "majorGroupName": "PETROLEUM REFINING AND RELATED INDUSTRIES" }, { "code": "2992", "name": "LUBRICATING OILS AND GREASES", "majorGroup": "29", "majorGroupName": "PETROLEUM REFINING AND RELATED INDUSTRIES" }, { "code": "2999", "name": "PETROLEUM AND COAL PRODUCTS, NEC", "majorGroup": "29", "majorGroupName": "PETROLEUM REFINING AND RELATED INDUSTRIES" }, { "code": "3011", "name": "TIRES AND INNER TUBES", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3021", "name": "RUBBER AND PLASTICS FOOTWEAR", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3052", "name": "RUBBER AND PLASTICS HOSE AND BELTINGS", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3053", "name": "GASKETS; PACKING AND SEALING DEVICES", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3061", "name": "MECHANICAL RUBBER GOODS", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3069", "name": "FABRICATED RUBBER PRODUCTS, NEC", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3081", "name": "UNSUPPORTED PLASTICS FILM AND SHEET", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3082", "name": "UNSUPPORTED PLASTICS PROFILE SHAPES", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3083", "name": "LAMINATED PLASTICS PLATE AND SHEET", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3084", "name": "PLASTICS PIPE", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3085", "name": "PLASTICS BOTTLES", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3086", "name": "PLASTICS FOAM PRODUCTS", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3087", "name": "CUSTOM COMPOUND PURCHASED RESINS", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3088", "name": "PLASTICS PLUMBING FIXTURES", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3089", "name": "PLASTICS PRODUCTS, NEC", "majorGroup": "30", "majorGroupName": "RUBBER AND MISCELLANEOUS PLASTIC PRODUCTS" }, { "code": "3111", "name": "LEATHER TANNING AND FINISHING", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3131", "name": "FOOTWEAR CUT STOCK", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3142", "name": "HOUSE SLIPPERS", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3143", "name": "MEN'S FOOTWEAR, EXCEPT ATHLETIC", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3144", "name": "WOMEN'S FOOTWEAR, EXCEPT ATHLETIC", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3149", "name": "FOOTWEAR, EXCEPT RUBBER, NEC", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3151", "name": "LEATHER GLOVES AND MITTENS", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3161", "name": "LUGGAGE", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3171", "name": "WOMEN'S HANDBAGS AND PURSES", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3172", "name": "PERSONAL LEATHER GOODS, NEC", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3199", "name": "LEATHER GOODS, NEC", "majorGroup": "31", "majorGroupName": "LEATHER AND LEATHER PRODUCTS" }, { "code": "3211", "name": "FLAT GLASS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3221", "name": "GLASS CONTAINERS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3229", "name": "PRESSED AND BLOWN GLASS, NEC", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3231", "name": "PRODUCTS OF PURCHASED GLASS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3241", "name": "CEMENT, HYDRAULIC", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3251", "name": "BRICK AND STRUCTURAL CLAY TILE", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3253", "name": "CERAMIC WALL AND FLOOR TILE", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3255", "name": "CLAY REFRACTORIES", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3259", "name": "STRUCTURAL CLAY PRODUCTS, NEC", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3261", "name": "VITREOUS PLUMBING FIXTURES", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3262", "name": "VITREOUS CHINA TABLE AND KITCHENWARE", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3263", "name": "SEMIVITREOUS TABLE AND KITCHENWARE", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3264", "name": "PORCELAIN ELECTRICAL SUPPLIES", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3269", "name": "POTTERY PRODUCTS, NEC", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3271", "name": "CONCRETE BLOCK AND BRICK", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3272", "name": "CONCRETE PRODUCTS, NEC", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3273", "name": "READY-MIXED CONCRETE", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3274", "name": "LIME", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3275", "name": "GYPSUM PRODUCTS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3281", "name": "CUT STONE AND STONE PRODUCTS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3291", "name": "ABRASIVE PRODUCTS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3292", "name": "ASBESTOS PRODUCTS", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3295", "name": "MINERALS, GROUND OR TREATED", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3296", "name": "MINERAL WOOL", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3297", "name": "NONCLAY REFRACTORIES", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3299", "name": "NONMETALLIC MINERAL PRODUCTS,", "majorGroup": "32", "majorGroupName": "STONE, CLAY, GLASS, AND CONCRETE PRODUCTS" }, { "code": "3312", "name": "BLAST FURNACES AND STEEL MILLS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3313", "name": "ELECTROMETALLURGICAL PRODUCTS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3315", "name": "STEEL WIRE AND RELATED PRODUCTS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3316", "name": "COLD FINISHING OF STEEL SHAPES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3317", "name": "STEEL PIPE AND TUBES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3321", "name": "GRAY AND DUCTILE IRON FOUNDRIES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3322", "name": "MALLEABLE IRON FOUNDRIES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3324", "name": "STEEL INVESTMENT FOUNDRIES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3325", "name": "STEEL FOUNDRIES, NEC", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3331", "name": "PRIMARY COPPER", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3334", "name": "PRIMARY ALUMINUM", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3339", "name": "PRIMARY NONFERROUS METALS, NEC", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3341", "name": "SECONDARY NONFERROUS METALS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3351", "name": "COPPER ROLLING AND DRAWING", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3353", "name": "ALUMINUM SHEET, PLATE, AND FOIL", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3354", "name": "ALUMINUM EXTRUDED PRODUCTS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3355", "name": "ALUMINUM ROLLING AND DRAWING, NEC", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3356", "name": "NONFERROUS ROLLING AND DRAWING, NEC", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3357", "name": "NONFERROUS WIREDRAWING AND INSULATING", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3363", "name": "ALUMINUM DIE-CASTINGS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3364", "name": "NONFERROUS DIE-CASTINGS EXCEPT ALUMINUM", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3365", "name": "ALUMINUM FOUNDRIES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3366", "name": "COPPER FOUNDRIES", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3369", "name": "NONFERROUS FOUNDRIES, NEC", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3398", "name": "METAL HEAT TREATING", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3399", "name": "PRIMARY METAL PRODUCTS", "majorGroup": "33", "majorGroupName": "PRIMARY METAL INDUSTRIES" }, { "code": "3411", "name": "METAL CANS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3412", "name": "METAL BARRELS, DRUMS, AND PAILS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3421", "name": "CUTLERY", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3423", "name": "HAND AND EDGE TOOLS, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3425", "name": "SAW BLADES AND HANDSAWS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3429", "name": "HARDWARE, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3431", "name": "METAL SANITARY WARE", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3432", "name": "PLUMBING FIXTURE FITTINGS AND TRIM", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3433", "name": "HEATING EQUIPMENT, EXCEPT ELECTRIC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3441", "name": "FABRICATED STRUCTURAL METAL", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3442", "name": "METAL DOORS, SASH, AND TRIM", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3443", "name": "FABRICATED PLATE WORK (BOILER SHOP)", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3444", "name": "SHEET METALWORK", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3446", "name": "ARCHITECTURAL METALWORK", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3448", "name": "PREFABRICATED METAL BUILDINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3449", "name": "MISCELLANEOUS METALWORK", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3451", "name": "SCREW MACHINE PRODUCTS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3452", "name": "BOLTS, NUTS, RIVETS, AND WASHERS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3462", "name": "IRON AND STEEL FORGINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3463", "name": "NONFERROUS FORGINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3465", "name": "AUTOMOTIVE STAMPINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3466", "name": "CROWNS AND CLOSURES", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3469", "name": "METAL STAMPINGS, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3471", "name": "PLATING AND POLISHING", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3479", "name": "METAL COATING AND ALLIED SERVICES", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3482", "name": "SMALL ARMS AMMUNITION", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3483", "name": "AMMUNITION, EXCEPT FOR SMALL ARMS, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3484", "name": "SMALL ARMS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3489", "name": "ORDNANCE AND ACCESSORIES, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3491", "name": "INDUSTRIAL VALVES", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3492", "name": "FLUID POWER VALVES AND HOSE FITTINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3493", "name": "STEEL SPRINGS, EXCEPT WIRE", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3494", "name": "VALVES AND PIPE FITTINGS, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3495", "name": "WIRE SPRINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3496", "name": "MISCELLANEOUS FABRICATED WIRE PRODUCTS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3497", "name": "METAL FOIL AND LEAF", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3498", "name": "FABRICATED PIPE AND FITTINGS", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3499", "name": "FABRICATED METAL PRODUCTS, NEC", "majorGroup": "34", "majorGroupName": "FABRICATED METAL PRDCTS, EXCEPT MACHINERY & TRANSPORT EQPMNT" }, { "code": "3511", "name": "TURBINES AND TURBINE GENERATOR SETS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3519", "name": "INTERNAL COMBUSTION ENGINES, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3523", "name": "FARM MACHINERY AND EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3524", "name": "LAWN AND GARDEN EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3531", "name": "CONSTRUCTION MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3532", "name": "MINING MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3533", "name": "OIL AND GAS FIELD MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3534", "name": "ELEVATORS AND MOVING STAIRWAYS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3535", "name": "CONVEYORS AND CONVEYING EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3536", "name": "HOISTS, CRANES, AND MONORAILS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3537", "name": "INDUSTRIAL TRUCKS AND TRACTORS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3541", "name": "MACHINE TOOLS, METAL CUTTING TYPE", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3542", "name": "MACHINE TOOLS, METAL FORMING TYPE", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3543", "name": "INDUSTRIAL PATTERNS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3544", "name": "SPECIAL DIES, TOOLS, JIGS, AND FIXTURES", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3545", "name": "MACHINE TOOL ACCESSORIES", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3546", "name": "POWER-DRIVEN HANDTOOLS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3547", "name": "ROLLING MILL MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3548", "name": "WELDING APPARATUS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3549", "name": "METALWORKING MACHINERY, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3552", "name": "TEXTILE MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3553", "name": "WOODWORKING MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3554", "name": "PAPER INDUSTRIES MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3555", "name": "PRINTING TRADES MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3556", "name": "FOOD PRODUCTS MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3559", "name": "SPECIAL INDUSTRY MACHINERY, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3561", "name": "PUMPS AND PUMPING EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3562", "name": "BALL AND ROLLER BEARINGS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3563", "name": "AIR AND GAS COMPRESSORS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3564", "name": "BLOWERS AND FANS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3565", "name": "PACKAGING MACHINERY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3566", "name": "SPEED CHANGERS, DRIVES, AND GEARS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3567", "name": "INDUSTRIAL FURNACES AND OVENS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3568", "name": "POWER TRANSMISSION EQUIPMENT, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3569", "name": "GENERAL INDUSTRIAL MACHINERY,", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3571", "name": "ELECTRONIC COMPUTERS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3572", "name": "COMPUTER STORAGE DEVICES", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3575", "name": "COMPUTER TERMINALS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3577", "name": "COMPUTER PERIPHERAL EQUIPMENT, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3578", "name": "CALCULATING AND ACCOUNTING EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3579", "name": "OFFICE MACHINES, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3581", "name": "AUTOMATIC VENDING MACHINES", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3582", "name": "COMMERCIAL LAUNDRY EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3585", "name": "REFRIGERATION AND HEATING EQUIPMENT", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3586", "name": "MEASURING AND DISPENSING PUMPS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3589", "name": "SERVICE INDUSTRY MACHINERY, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3592", "name": "CARBURETORS, PISTONS, RINGS, VALVES", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3593", "name": "FLUID POWER CYLINDERS AND ACTUATORS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3594", "name": "FLUID POWER PUMPS AND MOTORS", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3596", "name": "SCALES AND BALANCES, EXCEPT LABORATORY", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3599", "name": "INDUSTRIAL MACHINERY, NEC", "majorGroup": "35", "majorGroupName": "INDUSTRIAL AND COMMERCIAL MACHINERY AND COMPUTER EQUIPMENT" }, { "code": "3612", "name": "TRANSFORMERS, EXCEPT ELECTRIC", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3613", "name": "SWITCHGEAR AND SWITCHBOARD APPARATUS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3621", "name": "MOTORS AND GENERATORS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3624", "name": "CARBON AND GRAPHITE PRODUCTS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3625", "name": "RELAYS AND INDUSTRIAL CONTROLS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3629", "name": "ELECTRICAL INDUSTRIAL APPARATUS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3631", "name": "HOUSEHOLD COOKING EQUIPMENT", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3632", "name": "HOUSEHOLD REFRIGERATORS AND FREEZERS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3633", "name": "HOUSEHOLD LAUNDRY EQUIPMENT", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3634", "name": "ELECTRIC HOUSEWARES AND FANS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3635", "name": "HOUSEHOLD VACUUM CLEANERS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3639", "name": "HOUSEHOLD APPLIANCES, NEC", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3641", "name": "ELECTRIC LAMPS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3643", "name": "CURRENT-CARRYING WIRING DEVICES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3644", "name": "NONCURRENT-CARRYING WIRING DEVICES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3645", "name": "RESIDENTIAL LIGHTING FIXTURES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3646", "name": "COMMERCIAL LIGHTING FIXTURES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3647", "name": "VEHICULAR LIGHTING EQUIPMENT", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3648", "name": "LIGHTING EQUIPMENT, NEC", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3651", "name": "HOUSEHOLD AUDIO AND VIDEO EQUIPMENT", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3652", "name": "PRERECORDED RECORDS AND TAPES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3661", "name": "TELEPHONE AND TELEGRAPH APPARATUS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3663", "name": "RADIO AND T.V. COMMUNICATIONS EQUIPMENT", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3669", "name": "COMMUNICATIONS EQUIPMENT, NEC", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3671", "name": "ELECTRON TUBES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3672", "name": "PRINTED CIRCUIT BOARDS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3674", "name": "SEMICONDUCTORS AND RELATED DEVICES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3675", "name": "ELECTRONIC CAPACITORS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3676", "name": "ELECTRONIC RESISTORS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3677", "name": "ELECTRONIC COILS AND TRANSFORMERS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3678", "name": "ELECTRONIC CONNECTORS", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3679", "name": "ELECTRONIC COMPONENTS, NEC", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3691", "name": "STORAGE BATTERIES", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3692", "name": "PRIMARY BATTERIES, DRY AND WET", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3694", "name": "ENGINE ELECTRICAL EQUIPMENT", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3695", "name": "MAGNETIC AND OPTICAL RECORDING MEDIA", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3699", "name": "ELECTRICAL EQUIPMENT AND SUPPLIES, NEC", "majorGroup": "36", "majorGroupName": "ELECTRONIC, ELCTRCL EQPMNT & CMPNTS, EXCPT COMPUTER EQPMNT" }, { "code": "3711", "name": "MOTOR VEHICLES AND CAR BODIES", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3713", "name": "TRUCK AND BUS BODIES", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3714", "name": "MOTOR VEHICLE PARTS AND ACCESSORIES", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3715", "name": "TRUCK TRAILERS", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3716", "name": "MOTOR HOMES", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3721", "name": "AIRCRAFT", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3724", "name": "AIRCRAFT ENGINES AND ENGINE PARTS", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3728", "name": "AIRCRAFT PARTS AND EQUIPMENT, NEC", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3731", "name": "SHIPBUILDING AND REPAIRING", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3732", "name": "BOATBUILDING AND REPAIRING", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3743", "name": "RAILROAD EQUIPMENT", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3751", "name": "MOTORCYCLES, BICYCLES, AND PARTS", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3761", "name": "GUIDED MISSILES AND SPACE VEHICLES", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3764", "name": "SPACE PROPULSION UNITS AND PARTS", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3769", "name": "SPACE VEHICLE EQUIPMENT, NEC", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3792", "name": "TRAVEL TRAILERS AND CAMPERS", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3795", "name": "TANKS AND TANK COMPONENTS", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3799", "name": "TRANSPORTATION EQUIPMENT, NEC", "majorGroup": "37", "majorGroupName": "TRANSPORTATION EQUIPMENT" }, { "code": "3812", "name": "SEARCH AND NAVIGATION EQUIPMENT", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3821", "name": "LABORATORY APPARATUS AND FURNITURE", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3822", "name": "ENVIRONMENTAL CONTROLS", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3823", "name": "PROCESS CONTROL INSTRUMENTS", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3824", "name": "FLUID METERS AND COUNTING DEVICES", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3825", "name": "INSTRUMENTS TO MEASURE ELECTRICITY", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3826", "name": "ANALYTICAL INSTRUMENTS", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3827", "name": "OPTICAL INSTRUMENTS AND LENSES", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3829", "name": "MEASURING AND CONTROLLING DEVICES, NEC", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3841", "name": "SURGICAL AND MEDICAL INSTRUMENTS", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3842", "name": "SURGICAL APPLIANCES AND SUPPLIES", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3843", "name": "DENTAL EQUIPMENT AND SUPPLIES", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3844", "name": "X-RAY APPARATUS AND TUBES", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3845", "name": "ELECTROMEDICAL EQUIPMENT", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3851", "name": "OPHTHALMIC GOODS", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3861", "name": "PHOTOGRAPHIC EQUIPMENT AND SUPPLIES", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3873", "name": "WATCHES, CLOCKS, WATCHCASES, AND PARTS", "majorGroup": "38", "majorGroupName": "MESR/ANLYZ/CNTRL INSTRMNTS; PHOTO/MED/OPT GDS; WATCHS/CLOCKS" }, { "code": "3911", "name": "JEWELRY, PRECIOUS METAL", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3914", "name": "SILVERWARE AND PLATED WARE", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3915", "name": "JEWELERS' MATERIALS AND LAPIDARY WORK", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3931", "name": "MUSICAL INSTRUMENTS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3942", "name": "DOLLS AND STUFFED TOYS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3944", "name": "GAMES, TOYS, AND CHILDREN'S VEHICLES", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3949", "name": "SPORTING AND ATHLETIC GOODS, NEC", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3951", "name": "PENS AND MECHANICAL PENCILS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3952", "name": "LEAD PENCILS AND ART GOODS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3953", "name": "MARKING DEVICES", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3955", "name": "CARBON PAPER AND INKED RIBBONS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3961", "name": "COSTUME JEWELRY", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3965", "name": "FASTENERS, BUTTONS, NEEDLES, AND PINS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3991", "name": "BROOMS AND BRUSHES", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3993", "name": "SIGNS AND ADVERTISING SPECIALTIES", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3995", "name": "BURIAL CASKETS", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3996", "name": "HARD SURFACE FLOOR COVERINGS, NEC", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "3999", "name": "MANUFACTURING INDUSTRIES, NEC", "majorGroup": "39", "majorGroupName": "MISCELLANEOUS MANUFACTURING INDUSTRIES" }, { "code": "4011", "name": "RAILROADS, LINE-HAUL OPERATING", "majorGroup": "40", "majorGroupName": "RAILROAD TRANSPORTATION" }, { "code": "4013", "name": "SWITCHING AND TERMINAL SERVICES", "majorGroup": "40", "majorGroupName": "RAILROAD TRANSPORTATION" }, { "code": "4111", "name": "LOCAL AND SUBURBAN TRANSIT", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4119", "name": "LOCAL PASSENGER TRANSPORTATION, NEC", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4121", "name": "TAXICABS", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4131", "name": "INTERCITY AND RURAL BUS TRANSPORTATION", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4141", "name": "LOCAL BUS CHARTER SERVICE", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4142", "name": "BUS CHARTER SERVICE, EXCEPT LOCAL", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4151", "name": "SCHOOL BUSES", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4173", "name": "BUS TERMINAL AND SERVICE FACILITIES", "majorGroup": "41", "majorGroupName": "LOCAL, SUBURBAN TRANSIT & INTERURBN HGWY PASSENGER TRANSPORT" }, { "code": "4212", "name": "LOCAL TRUCKING, WITHOUT STORAGE", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4213", "name": "TRUCKING, EXCEPT LOCAL", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4214", "name": "LOCAL TRUCKING WITH STORAGE", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4215", "name": "COURIER SERVICES, EXCEPT BY AIR", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4221", "name": "FARM PRODUCT WAREHOUSING AND STORAGE", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4222", "name": "REFRIGERATED WAREHOUSING AND STORAGE", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4225", "name": "GENERAL WAREHOUSING AND STORAGE", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4226", "name": "SPECIAL WAREHOUSING AND STORAGE, NEC", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4231", "name": "TRUCKING TERMINAL FACILITIES", "majorGroup": "42", "majorGroupName": "MOTOR FREIGHT TRANSPORTATION" }, { "code": "4311", "name": "U.S. POSTAL SERVICE", "majorGroup": "43", "majorGroupName": "UNITED STATES POSTAL SERVICE" }, { "code": "4412", "name": "DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4424", "name": "DEEP SEA DOMESTIC TRANSPORTATION OF FREIGHT", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4432", "name": "FREIGHT TRANSPORTATION ON THE GREAT LAKES", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4449", "name": "WATER TRANSPORTATION OF FREIGHT", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4481", "name": "DEEP SEA PASSENGER TRANSPORTATION, EXCEPT FERRY", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4482", "name": "FERRIES", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4489", "name": "WATER PASSENGER TRANSPORTATION", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4491", "name": "MARINE CARGO HANDLING", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4492", "name": "TOWING AND TUGBOAT SERVICE", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4493", "name": "MARINAS", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4499", "name": "WATER TRANSPORTATION SERVICES, NEC", "majorGroup": "44", "majorGroupName": "WATER TRANSPORTATION" }, { "code": "4512", "name": "AIR TRANSPORTATION, SCHEDULED", "majorGroup": "45", "majorGroupName": "TRANSPORTATION BY AIR" }, { "code": "4513", "name": "AIR COURIER SERVICES", "majorGroup": "45", "majorGroupName": "TRANSPORTATION BY AIR" }, { "code": "4522", "name": "AIR TRANSPORTATION, NONSCHEDULED", "majorGroup": "45", "majorGroupName": "TRANSPORTATION BY AIR" }, { "code": "4581", "name": "AIRPORTS, FLYING FIELDS, AND SERVICES", "majorGroup": "45", "majorGroupName": "TRANSPORTATION BY AIR" }, { "code": "4612", "name": "CRUDE PETROLEUM PIPELINES", "majorGroup": "46", "majorGroupName": "PIPELINES, EXCEPT NATURAL GAS" }, { "code": "4613", "name": "REFINED PETROLEUM PIPELINES", "majorGroup": "46", "majorGroupName": "PIPELINES, EXCEPT NATURAL GAS" }, { "code": "4619", "name": "PIPELINES, NEC", "majorGroup": "46", "majorGroupName": "PIPELINES, EXCEPT NATURAL GAS" }, { "code": "4724", "name": "TRAVEL AGENCIES", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4725", "name": "TOUR OPERATORS", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4729", "name": "PASSENGER TRANSPORTATION ARRANGEMENT", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4731", "name": "FREIGHT TRANSPORTATION ARRANGEMENT", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4741", "name": "RENTAL OF RAILROAD CARS", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4783", "name": "PACKING AND CRATING", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4785", "name": "INSPECTION AND FIXED FACILITIES", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4789", "name": "TRANSPORTATION SERVICES, NEC", "majorGroup": "47", "majorGroupName": "TRANSPORTATION SERVICES" }, { "code": "4812", "name": "RADIOTELEPHONE COMMUNICATION", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4813", "name": "TELEPHONE COMMUNICATION, EXCEPT RADIO", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4822", "name": "TELEGRAPH AND OTHER COMMUNICATIONS", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4832", "name": "RADIO BROADCASTING STATIONS", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4833", "name": "TELEVISION BROADCASTING STATIONS", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4841", "name": "CABLE AND OTHER PAY TELEVISION SERVICES", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4899", "name": "COMMUNICATION SERVICES, NEC", "majorGroup": "48", "majorGroupName": "COMMUNICATIONS" }, { "code": "4911", "name": "ELECTRIC SERVICES", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4922", "name": "NATURAL GAS TRANSMISSION", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4923", "name": "GAS TRANSMISSION AND DISTRIBUTION", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4924", "name": "NATURAL GAS DISTRIBUTION", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4925", "name": "GAS PRODUCTION AND/OR DISTRIBUTION", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4931", "name": "ELECTRIC AND OTHER SERVICES COMBINED", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4932", "name": "GAS AND OTHER SERVICES COMBINED", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4939", "name": "COMBINATION UTILITIES, NEC", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4941", "name": "WATER SUPPLY", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4952", "name": "SEWERAGE SYSTEMS", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4953", "name": "REFUSE SYSTEMS", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4959", "name": "SANITARY SERVICES, NEC", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4961", "name": "STEAM AND AIR-CONDITIONING SUPPLY", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "4971", "name": "IRRIGATION SYSTEMS", "majorGroup": "49", "majorGroupName": "ELECTRIC, GAS AND SANITARY SERVICES" }, { "code": "5012", "name": "AUTOMOBILES AND OTHER MOTOR VEHICLES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5013", "name": "MOTOR VEHICLE SUPPLIES AND NEW PARTS", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5014", "name": "TIRES AND TUBES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5015", "name": "MOTOR VEHICLE PARTS, USED", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5021", "name": "FURNITURE", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5023", "name": "HOMEFURNISHINGS", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5031", "name": "LUMBER, PLYWOOD, AND MILLWORK", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5032", "name": "BRICK, STONE, AND RELATED MATERIAL", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5033", "name": "ROOFING, SIDING, AND INSULATION", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5039", "name": "CONSTRUCTION MATERIALS, NEC", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5043", "name": "PHOTOGRAPHIC EQUIPMENT AND SUPPLIES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5044", "name": "OFFICE EQUIPMENT", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5045", "name": "COMPUTERS, PERIPHERALS, AND SOFTWARE", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5046", "name": "COMMERCIAL EQUIPMENT, NEC", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5047", "name": "MEDICAL AND HOSPITAL EQUIPMENT", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5048", "name": "OPHTHALMIC GOODS", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5049", "name": "PROFESSIONAL EQUIPMENT, NEC", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5051", "name": "METALS SERVICE CENTERS AND OFFICES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5052", "name": "COAL AND OTHER MINERALS AND ORES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5063", "name": "ELECTRICAL APPARATUS AND EQUIPMENT", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5064", "name": "ELECTRICAL APPLIANCES, TELEVISION AND RADIO", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5065", "name": "ELECTRONIC PARTS AND EQUIPMENT, NEC", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5072", "name": "HARDWARE", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5074", "name": "PLUMBING AND HYDRONIC HEATING SUPPLIES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5075", "name": "WARM AIR HEATING AND AIR CONDITIONING", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5078", "name": "REFRIGERATION EQUIPMENT AND SUPPLIES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5082", "name": "CONSTRUCTION AND MINING MACHINERY", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5083", "name": "FARM AND GARDEN MACHINERY", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5084", "name": "INDUSTRIAL MACHINERY AND EQUIPMENT", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5085", "name": "INDUSTRIAL SUPPLIES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5087", "name": "SERVICE ESTABLISHMENT EQUIPMENT", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5088", "name": "TRANSPORTATION EQUIPMENT AND SUPPLIES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5091", "name": "SPORTING AND RECREATION GOODS", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5092", "name": "TOYS AND HOBBY GOODS AND SUPPLIES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5093", "name": "SCRAP AND WASTE MATERIALS", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5094", "name": "JEWELRY AND PRECIOUS STONES", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5099", "name": "DURABLE GOODS, NEC", "majorGroup": "50", "majorGroupName": "WHOLESALE TRADE - DURABLE GOODS" }, { "code": "5111", "name": "PRINTING AND WRITING PAPER", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5112", "name": "STATIONERY AND OFFICE SUPPLIES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5113", "name": "INDUSTRIAL AND PERSONAL SERVICE PAPER", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5122", "name": "DRUGS, PROPRIETARIES, AND SUNDRIES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5131", "name": "PIECE GOODS AND NOTIONS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5136", "name": "MEN'S AND BOY'S CLOTHING", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5137", "name": "WOMEN'S AND CHILDREN'S CLOTHING", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5139", "name": "FOOTWEAR", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5141", "name": "GROCERIES, GENERAL LINE", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5142", "name": "PACKAGED FROZEN GOODS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5143", "name": "DAIRY PRODUCTS, EXCEPT DRIED OR CANNED", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5144", "name": "POULTRY AND POULTRY PRODUCTS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5145", "name": "CONFECTIONERY", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5146", "name": "FISH AND SEAFOODS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5147", "name": "MEATS AND MEAT PRODUCTS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5148", "name": "FRESH FRUITS AND VEGETABLES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5149", "name": "GROCERIES AND RELATED PRODUCTS, NEC", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5153", "name": "GRAIN AND FIELD BEANS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5154", "name": "LIVESTOCK", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5159", "name": "FARM-PRODUCT RAW MATERIALS, NEC", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5162", "name": "PLASTICS MATERIALS AND BASIC SHAPES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5169", "name": "CHEMICALS AND ALLIED PRODUCTS, NEC", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5171", "name": "PETROLEUM BULK STATIONS AND TERMINALS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5172", "name": "PETROLEUM PRODUCTS, NEC", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5181", "name": "BEER AND ALE", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5182", "name": "WINE AND DISTILLED BEVERAGES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5191", "name": "FARM SUPPLIES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5192", "name": "BOOKS, PERIODICALS, AND NEWSPAPERS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5193", "name": "FLOWERS AND FLORISTS SUPPLIES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5194", "name": "TOBACCO AND TOBACCO PRODUCTS", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5198", "name": "PAINTS, VARNISHES, AND SUPPLIES", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5199", "name": "NONDURABLE GOODS, NEC", "majorGroup": "51", "majorGroupName": "WHOLESALE TRADE - NONDURABLE GOODS" }, { "code": "5211", "name": "LUMBER AND OTHER BUILDING MATERIALS", "majorGroup": "52", "majorGroupName": "BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" }, { "code": "5231", "name": "PAINT, GLASS, AND WALLPAPER STORES", "majorGroup": "52", "majorGroupName": "BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" }, { "code": "5251", "name": "HARDWARE STORES", "majorGroup": "52", "majorGroupName": "BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" }, { "code": "5261", "name": "RETAIL NURSERIES AND GARDEN STORES", "majorGroup": "52", "majorGroupName": "BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" }, { "code": "5271", "name": "MOBILE HOME DEALERS", "majorGroup": "52", "majorGroupName": "BUILDING MATRIALS, HRDWR, GARDEN SUPPLY & MOBILE HOME DEALRS" }, { "code": "5311", "name": "DEPARTMENT STORES", "majorGroup": "53", "majorGroupName": "GENERAL MERCHANDISE STORES" }, { "code": "5331", "name": "VARIETY STORES", "majorGroup": "53", "majorGroupName": "GENERAL MERCHANDISE STORES" }, { "code": "5399", "name": "MISCELLANEOUS GENERAL MERCHANDISE", "majorGroup": "53", "majorGroupName": "GENERAL MERCHANDISE STORES" }, { "code": "5411", "name": "GROCERY STORES", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5421", "name": "MEAT AND FISH MARKETS", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5431", "name": "FRUIT AND VEGETABLE MARKETS", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5441", "name": "CANDY, NUT, AND CONFECTIONERY STORES", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5451", "name": "DAIRY PRODUCTS STORES", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5461", "name": "RETAIL BAKERIES", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5499", "name": "MISCELLANEOUS FOOD STORES", "majorGroup": "54", "majorGroupName": "FOOD STORES" }, { "code": "5511", "name": "NEW AND USED CAR DEALERS", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5521", "name": "USED CAR DEALERS", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5531", "name": "AUTO AND HOME SUPPLY STORES", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5541", "name": "GASOLINE SERVICE STATIONS", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5551", "name": "BOAT DEALERS", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5561", "name": "RECREATIONAL VEHICLE DEALERS", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5571", "name": "MOTORCYCLE DEALERS", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5599", "name": "AUTOMOTIVE DEALERS, NEC", "majorGroup": "55", "majorGroupName": "AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS" }, { "code": "5611", "name": "MEN'S AND BOYS' CLOTHING STORES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5621", "name": "WOMEN'S CLOTHING STORES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5632", "name": "WOMEN'S ACCESSORY AND SPECIALTY STORES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5641", "name": "CHILDREN'S AND INFANTS' WEAR STORES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5651", "name": "FAMILY CLOTHING STORES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5661", "name": "SHOE STORES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5699", "name": "MISCELLANEOUS APPAREL AND ACCESSORIES", "majorGroup": "56", "majorGroupName": "APPAREL AND ACCESSORY STORES" }, { "code": "5712", "name": "FURNITURE STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5713", "name": "FLOOR COVERING STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5714", "name": "DRAPERY AND UPHOLSTERY STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5719", "name": "MISCELLANEOUS HOMEFURNISHINGS", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5722", "name": "HOUSEHOLD APPLIANCE STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5731", "name": "RADIO, TELEVISION, AND ELECTRONIC STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5734", "name": "COMPUTER AND SOFTWARE STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5735", "name": "RECORD AND PRERECORDED TAPE STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5736", "name": "MUSICAL INSTRUMENT STORES", "majorGroup": "57", "majorGroupName": "HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES" }, { "code": "5812", "name": "EATING PLACES", "majorGroup": "58", "majorGroupName": "EATING AND DRINKING PLACES" }, { "code": "5813", "name": "DRINKING PLACES", "majorGroup": "58", "majorGroupName": "EATING AND DRINKING PLACES" }, { "code": "5912", "name": "DRUG STORES AND PROPRIETARY STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5921", "name": "LIQUOR STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5932", "name": "USED MERCHANDISE STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5941", "name": "SPORTING GOODS AND BICYCLE SHOPS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5942", "name": "BOOK STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5943", "name": "STATIONERY STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5944", "name": "JEWELRY STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5945", "name": "HOBBY, TOY, AND GAME SHOPS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5946", "name": "CAMERA AND PHOTOGRAPHIC SUPPLY STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5947", "name": "GIFT, NOVELTY, AND SOUVENIR SHOP", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5948", "name": "LUGGAGE AND LEATHER GOODS STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5949", "name": "SEWING, NEEDLEWORK, AND PIECE GOODS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5961", "name": "CATALOG AND MAIL-ORDER HOUSES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5962", "name": "MERCHANDISING MACHINE OPERATORS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5963", "name": "DIRECT SELLING ESTABLISHMENTS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5983", "name": "FUEL OIL DEALERS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5984", "name": "LIQUEFIED PETROLEUM GAS DEALERS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5989", "name": "FUEL DEALERS, NEC", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5992", "name": "FLORISTS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5993", "name": "TOBACCO STORES AND STANDS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5994", "name": "NEWS DEALERS AND NEWSSTANDS", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5995", "name": "OPTICAL GOODS STORES", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "5999", "name": "MISCELLANEOUS RETAIL STORES, NEC", "majorGroup": "59", "majorGroupName": "MISCELLANEOUS RETAIL" }, { "code": "6011", "name": "FEDERAL RESERVE BANKS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6019", "name": "CENTRAL RESERVE DEPOSITORY, NEC", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6021", "name": "NATIONAL COMMERCIAL BANKS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6022", "name": "STATE COMMERCIAL BANKS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6029", "name": "COMMERCIAL BANKS, NEC", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6035", "name": "FEDERAL SAVINGS INSTITUTIONS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6036", "name": "SAVINGS INSTITUTIONS, EXCEPT FEDERAL", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6061", "name": "FEDERAL CREDIT UNIONS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6062", "name": "STATE CREDIT UNIONS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6081", "name": "FOREIGN BANK AND BRANCHES AND AGENCIES", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6082", "name": "FOREIGN TRADE AND INTERNATIONAL BANKS", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6091", "name": "NONDEPOSIT TRUST FACILITIES", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6099", "name": "FUNCTIONS RELATED TO DEPOSITORY BANKING", "majorGroup": "60", "majorGroupName": "DEPOSITORY INSTITUTIONS" }, { "code": "6111", "name": "FEDERAL AND FEDERALLY SPONSORED CREDIT", "majorGroup": "61", "majorGroupName": "NONDEPOSITORY CREDIT INSTITUTIONS" }, { "code": "6141", "name": "PERSONAL CREDIT INSTITUTIONS", "majorGroup": "61", "majorGroupName": "NONDEPOSITORY CREDIT INSTITUTIONS" }, { "code": "6153", "name": "SHORT-TERM BUSINESS CREDIT", "majorGroup": "61", "majorGroupName": "NONDEPOSITORY CREDIT INSTITUTIONS" }, { "code": "6159", "name": "MISCELLANEOUS BUSINESS CREDIT", "majorGroup": "61", "majorGroupName": "NONDEPOSITORY CREDIT INSTITUTIONS" }, { "code": "6162", "name": "MORTGAGE BANKERS AND CORRESPONDENTS", "majorGroup": "61", "majorGroupName": "NONDEPOSITORY CREDIT INSTITUTIONS" }, { "code": "6163", "name": "LOAN BROKERS", "majorGroup": "61", "majorGroupName": "NONDEPOSITORY CREDIT INSTITUTIONS" }, { "code": "6211", "name": "SECURITY BROKERS AND DEALERS", "majorGroup": "62", "majorGroupName": "SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" }, { "code": "6221", "name": "COMMODITY CONTRACTS BROKERS, DEALERS", "majorGroup": "62", "majorGroupName": "SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" }, { "code": "6231", "name": "SECURITY AND COMMODITY EXCHANGES", "majorGroup": "62", "majorGroupName": "SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" }, { "code": "6282", "name": "INVESTMENT ADVICE", "majorGroup": "62", "majorGroupName": "SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" }, { "code": "6289", "name": "SECURITY AND COMMODITY SERVICE", "majorGroup": "62", "majorGroupName": "SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES" }, { "code": "6311", "name": "LIFE INSURANCE", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6321", "name": "ACCIDENT AND HEALTH INSURANCE", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6324", "name": "HOSPITAL AND MEDICAL SERVICE PLANS", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6331", "name": "FIRE, MARINE, AND CASUALTY INSURANCE", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6351", "name": "SURETY INSURANCE", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6361", "name": "TITLE INSURANCE", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6371", "name": "PENSION, HEALTH, AND WELFARE FUNDS", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6399", "name": "INSURANCE CARRIERS, NEC", "majorGroup": "63", "majorGroupName": "INSURANCE CARRIERS" }, { "code": "6411", "name": "INSURANCE AGENTS, BROKERS, AND SERVICE", "majorGroup": "64", "majorGroupName": "INSURANCE AGENTS, BROKERS AND SERVICE" }, { "code": "6512", "name": "NONRESIDENTIAL BUILDING OPERATORS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6513", "name": "APARTMENT BUILDING OPERATORS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6514", "name": "DWELLING OPERATORS, EXCEPT APARTMENTS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6515", "name": "MOBILE HOME SITE OPERATORS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6517", "name": "RAILROAD PROPERTY LESSORS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6519", "name": "REAL PROPERTY LESSORS, NEC", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6531", "name": "REAL ESTATE AGENTS AND MANAGERS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6541", "name": "TITLE ABSTRACT OFFICES", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6552", "name": "SUBDIVIDERS AND DEVELOPERS, NEC", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6553", "name": "CEMETERY SUBDIVIDERS AND DEVELOPERS", "majorGroup": "65", "majorGroupName": "REAL ESTATE" }, { "code": "6712", "name": "BANK HOLDING COMPANIES", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6719", "name": "HOLDING COMPANIES, NEC", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6722", "name": "MANAGEMENT INVESTMENT, OPEN-ENDED", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6726", "name": "INVESTMENT OFFICES, NEC", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6732", "name": "TRUSTS: EDUCATIONAL, RELIGIOUS, ETC.", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6733", "name": "TRUSTS, NEC", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6792", "name": "OIL ROYALTY TRADERS", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6794", "name": "PATENT OWNERS AND LESSORS", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6798", "name": "REAL ESTATE INVESTMENT TRUSTS", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "6799", "name": "INVESTORS, NEC", "majorGroup": "67", "majorGroupName": "HOLDING AND OTHER INVESTMENT OFFICES" }, { "code": "7011", "name": "HOTELS AND MOTELS", "majorGroup": "70", "majorGroupName": "HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" }, { "code": "7021", "name": "ROOMING AND BOARDING HOUSES", "majorGroup": "70", "majorGroupName": "HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" }, { "code": "7032", "name": "SPORTING AND RECREATIONAL CAMPS", "majorGroup": "70", "majorGroupName": "HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" }, { "code": "7033", "name": "TRAILER PARKS AND CAMPSITES", "majorGroup": "70", "majorGroupName": "HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" }, { "code": "7041", "name": "MEMBERSHIP-BASIS ORGANIZATION HOTELS", "majorGroup": "70", "majorGroupName": "HOTELS, ROOMING HOUSES, CAMPS, AND OTHER LODGING PLACES" }, { "code": "7211", "name": "POWER LAUNDRIES, FAMILY AND COMMERCIAL", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7212", "name": "GARMENT PRESSING AND CLEANERS' AGENTS", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7213", "name": "LINEN SUPPLY", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7215", "name": "COIN-OPERATED LAUNDRIES AND CLEANING", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7216", "name": "DRYCLEANING PLANTS, EXCEPT RUGS", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7217", "name": "CARPET AND UPHOLSTERY CLEANING", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7218", "name": "INDUSTRIAL LAUNDERERS", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7219", "name": "LAUNDRY AND GARMENT SERVICES, NEC", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7221", "name": "PHOTOGRAPHIC STUDIOS, PORTRAIT", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7231", "name": "BEAUTY SHOPS", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7241", "name": "BARBER SHOPS", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7251", "name": "SHOE REPAIR AND SHOESHINE PARLORS", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7261", "name": "FUNERAL SERVICE AND CREMATORIES", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7291", "name": "TAX RETURN PREPARATION SERVICES", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7299", "name": "MISCELLANEOUS PERSONAL SERVICES", "majorGroup": "72", "majorGroupName": "PERSONAL SERVICES" }, { "code": "7311", "name": "ADVERTISING AGENCIES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7312", "name": "OUTDOOR ADVERTISING SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7313", "name": "RADIO, TELEVISION, PUBLISHER REPRESENTATIVES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7319", "name": "ADVERTISING, NEC", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7322", "name": "ADJUSTMENT AND COLLECTION SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7323", "name": "CREDIT REPORTING SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7331", "name": "DIRECT MAIL ADVERTISING SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7334", "name": "PHOTOCOPYING AND DUPLICATING SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7335", "name": "COMMERCIAL PHOTOGRAPHY", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7336", "name": "COMMERCIAL ART AND GRAPHIC DESIGN", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7338", "name": "SECRETARIAL AND COURT REPORTING", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7342", "name": "DISINFECTING AND PEST CONTROL SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7349", "name": "BUILDING MAINTENANCE SERVICES, NEC", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7352", "name": "MEDICAL EQUIPMENT RENTAL", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7353", "name": "HEAVY CONSTRUCTION EQUIPMENT RENTAL", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7359", "name": "EQUIPMENT RENTAL AND LEASING, NEC", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7361", "name": "EMPLOYMENT AGENCIES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7363", "name": "HELP SUPPLY SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7371", "name": "CUSTOM COMPUTER PROGRAMMING SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7372", "name": "PREPACKAGED SOFTWARE", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7373", "name": "COMPUTER INTEGRATED SYSTEMS DESIGN", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7374", "name": "DATA PROCESSING AND PREPARATION", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7375", "name": "INFORMATION RETRIEVAL SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7376", "name": "COMPUTER FACILITIES MANAGEMENT", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7377", "name": "COMPUTER RENTAL AND LEASING", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7378", "name": "COMPUTER MAINTENANCE AND REPAIR", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7379", "name": "COMPUTER RELATED SERVICES, NEC", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7381", "name": "DETECTIVE AND ARMORED CAR SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7382", "name": "SECURITY SYSTEMS SERVICES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7383", "name": "NEWS SYNDICATES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7384", "name": "PHOTOFINISH LABORATORIES", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7389", "name": "BUSINESS SERVICES, NEC", "majorGroup": "73", "majorGroupName": "BUSINESS SERVICES" }, { "code": "7513", "name": "TRUCK RENTAL AND LEASING, WITHOUT DRIVERS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7514", "name": "PASSENGER CAR RENTAL", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7515", "name": "PASSENGER CAR LEASING", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7519", "name": "UTILITY TRAILER RENTAL", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7521", "name": "AUTOMOBILE PARKING", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7532", "name": "TOP AND BODY REPAIR AND PAINT SHOPS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7533", "name": "AUTO EXHAUST SYSTEM REPAIR SHOPS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7534", "name": "TIRE RETREADING AND REPAIR SHOPS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7536", "name": "AUTOMOTIVE GLASS REPLACEMENT SHOPS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7537", "name": "AUTOMOTIVE TRANSMISSION REPAIR SHOPS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7538", "name": "GENERAL AUTOMOTIVE REPAIR SHOPS", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7539", "name": "AUTOMOTIVE REPAIR SHOPS, NEC", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7542", "name": "CARWASHES", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7549", "name": "AUTOMOTIVE SERVICES, NEC", "majorGroup": "75", "majorGroupName": "AUTOMOTIVE REPAIR, SERVICES AND PARKING" }, { "code": "7622", "name": "RADIO AND TELEVISION REPAIR", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7623", "name": "REFRIGERATION SERVICE AND REPAIR", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7629", "name": "ELECTRICAL REPAIR SHOPS", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7631", "name": "WATCH, CLOCK, AND JEWELRY REPAIR", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7641", "name": "REUPHOLSTERY AND FURNITURE REPAIR", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7692", "name": "WELDING REPAIR", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7694", "name": "ARMATURE REWINDING SHOPS", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7699", "name": "REPAIR SERVICES, NEC", "majorGroup": "76", "majorGroupName": "MISCELLANEOUS REPAIR SERVICES" }, { "code": "7812", "name": "MOTION PICTURE AND VIDEO PRODUCTION", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7819", "name": "SERVICES ALLIED TO MOTION PICTURES", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7822", "name": "MOTION PICTURE AND TAPE DISTRIBUTION", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7829", "name": "MOTION PICTURE DISTRIBUTION SERVICES", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7832", "name": "MOTION PICTURE THEATERS, EXCEPT DRIVE-IN", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7833", "name": "DRIVE-IN MOTION PICTURE THEATERS", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7841", "name": "VIDEO TAPE RENTAL", "majorGroup": "78", "majorGroupName": "MOTION PICTURES" }, { "code": "7911", "name": "DANCE STUDIOS, SCHOOLS, AND HALLS", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7922", "name": "THEATRICAL PRODUCERS AND SERVICES", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7929", "name": "ENTERTAINERS AND ENTERTAINMENT GROUPS", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7933", "name": "BOWLING CENTERS", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7941", "name": "SPORTS CLUBS, MANAGERS, AND PROMOTERS", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7948", "name": "RACING, INCLUDING TRACK OPERATION", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7991", "name": "PHYSICAL FITNESS FACILITIES", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7992", "name": "PUBLIC GOLF COURSES", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7993", "name": "COIN-OPERATED AMUSEMENT DEVICES", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7996", "name": "AMUSEMENT PARKS", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7997", "name": "MEMBERSHIP SPORTS AND RECREATION CLUBS", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "7999", "name": "AMUSEMENT AND RECREATION, NEC", "majorGroup": "79", "majorGroupName": "AMUSEMENT AND RECREATION SERVICES" }, { "code": "8011", "name": "OFFICES AND CLINICS OF MEDICAL DOCTORS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8021", "name": "OFFICES AND CLINICS OF DENTISTS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8031", "name": "OFFICES AND CLINICS OF OSTEOPATHIC PHYSICIANS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8041", "name": "OFFICES AND CLINICS OF CHIROPRACTORS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8042", "name": "OFFICES AND CLINICS OF OPTOMETRISTS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8043", "name": "OFFICES AND CLINICS OF PODIATRISTS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8049", "name": "OFFICES OF HEALTH PRACTITIONER", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8051", "name": "SKILLED NURSING CARE FACILITIES", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8052", "name": "INTERMEDIATE CARE FACILITIES", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8059", "name": "NURSING AND PERSONAL CARE, NEC", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8062", "name": "GENERAL MEDICAL AND SURGICAL HOSPITALS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8063", "name": "PSYCHIATRIC HOSPITALS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8069", "name": "SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8071", "name": "MEDICAL LABORATORIES", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8072", "name": "DENTAL LABORATORIES", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8082", "name": "HOME HEALTH CARE SERVICES", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8092", "name": "KIDNEY DIALYSIS CENTERS", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8093", "name": "SPECIALTY OUTPATIENT CLINICS, NEC", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8099", "name": "HEALTH AND ALLIED SERVICES, NEC", "majorGroup": "80", "majorGroupName": "HEALTH SERVICES" }, { "code": "8111", "name": "LEGAL SERVICES", "majorGroup": "81", "majorGroupName": "LEGAL SERVICES" }, { "code": "8211", "name": "ELEMENTARY AND SECONDARY SCHOOLS", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8221", "name": "COLLEGES AND UNIVERSITIES", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8222", "name": "JUNIOR COLLEGES", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8231", "name": "LIBRARIES", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8243", "name": "DATA PROCESSING SCHOOLS", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8244", "name": "BUSINESS AND SECRETARIAL SCHOOLS", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8249", "name": "VOCATIONAL SCHOOLS, NEC", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8299", "name": "SCHOOLS AND EDUCATIONAL SERVICES", "majorGroup": "82", "majorGroupName": "EDUCATIONAL SERVICES" }, { "code": "8322", "name": "INDIVIDUAL AND FAMILY SERVICES", "majorGroup": "83", "majorGroupName": "SOCIAL SERVICES" }, { "code": "8331", "name": "JOB TRAINING AND RELATED SERVICES", "majorGroup": "83", "majorGroupName": "SOCIAL SERVICES" }, { "code": "8351", "name": "CHILD DAY CARE SERVICES", "majorGroup": "83", "majorGroupName": "SOCIAL SERVICES" }, { "code": "8361", "name": "RESIDENTIAL CARE", "majorGroup": "83", "majorGroupName": "SOCIAL SERVICES" }, { "code": "8399", "name": "SOCIAL SERVICES, NEC", "majorGroup": "83", "majorGroupName": "SOCIAL SERVICES" }, { "code": "8412", "name": "MUSEUMS AND ART GALLERIES", "majorGroup": "84", "majorGroupName": "MUSEUMS, ART GALLERIES AND BOTANICAL AND ZOOLOGICAL GARDENS" }, { "code": "8422", "name": "BOTANICAL AND ZOOLOGICAL GARDENS", "majorGroup": "84", "majorGroupName": "MUSEUMS, ART GALLERIES AND BOTANICAL AND ZOOLOGICAL GARDENS" }, { "code": "8611", "name": "BUSINESS ASSOCIATIONS", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8621", "name": "PROFESSIONAL ORGANIZATIONS", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8631", "name": "LABOR ORGANIZATIONS", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8641", "name": "CIVIC AND SOCIAL ASSOCIATIONS", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8651", "name": "POLITICAL ORGANIZATIONS", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8661", "name": "RELIGIOUS ORGANIZATIONS", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8699", "name": "MEMBERSHIP ORGANIZATIONS, NEC", "majorGroup": "86", "majorGroupName": "MEMBERSHIP ORGANIZATIONS" }, { "code": "8711", "name": "ENGINEERING SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8712", "name": "ARCHITECTURAL SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8713", "name": "SURVEYING SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8721", "name": "ACCOUNTING, AUDITING, AND BOOKKEEPING", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8731", "name": "COMMERCIAL PHYSICAL RESEARCH", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8732", "name": "COMMERCIAL NONPHYSICAL RESEARCH", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8733", "name": "NONCOMMERCIAL RESEARCH ORGANIZATIONS", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8734", "name": "TESTING LABORATORIES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8741", "name": "MANAGEMENT SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8742", "name": "MANAGEMENT CONSULTING SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8743", "name": "PUBLIC RELATIONS SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8744", "name": "FACILITIES SUPPORT SERVICES", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8748", "name": "BUSINESS CONSULTING, NEC", "majorGroup": "87", "majorGroupName": "ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT & RELATED SVCS" }, { "code": "8999", "name": "SERVICES, NEC", "majorGroup": "89", "majorGroupName": "SERVICES, NOT ELSEWHERE CLASSIFIED" }, { "code": "9111", "name": "EXECUTIVE OFFICES", "majorGroup": "91", "majorGroupName": "EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" }, { "code": "9121", "name": "LEGISLATIVE BODIES", "majorGroup": "91", "majorGroupName": "EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" }, { "code": "9131", "name": "EXECUTIVE AND LEGISLATIVE COMBINED", "majorGroup": "91", "majorGroupName": "EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" }, { "code": "9199", "name": "GENERAL GOVERNMENT, NEC", "majorGroup": "91", "majorGroupName": "EXECUTIVE, LEGISLATIVE & GENERAL GOVERNMENT, EXCEPT FINANCE" }, { "code": "9211", "name": "COURTS", "majorGroup": "92", "majorGroupName": "JUSTICE, PUBLIC ORDER AND SAFETY" }, { "code": "9221", "name": "POLICE PROTECTION", "majorGroup": "92", "majorGroupName": "JUSTICE, PUBLIC ORDER AND SAFETY" }, { "code": "9222", "name": "LEGAL COUNSEL AND PROSECUTION", "majorGroup": "92", "majorGroupName": "JUSTICE, PUBLIC ORDER AND SAFETY" }, { "code": "9223", "name": "CORRECTIONAL INSTITUTIONS", "majorGroup": "92", "majorGroupName": "JUSTICE, PUBLIC ORDER AND SAFETY" }, { "code": "9224", "name": "FIRE PROTECTION", "majorGroup": "92", "majorGroupName": "JUSTICE, PUBLIC ORDER AND SAFETY" }, { "code": "9229", "name": "PUBLIC ORDER AND SAFETY, NEC", "majorGroup": "92", "majorGroupName": "JUSTICE, PUBLIC ORDER AND SAFETY" }, { "code": "9311", "name": "FINANCE, TAXATION, AND MONETARY POLICY", "majorGroup": "93", "majorGroupName": "PUBLIC FINANCE, TAXATION AND MONETARY POLICY" }, { "code": "9411", "name": "ADMINISTRATION OF EDUCATIONAL PROGRAMS", "majorGroup": "94", "majorGroupName": "ADMINISTRATION OF HUMAN RESOURCE PROGRAMS" }, { "code": "9431", "name": "ADMINISTRATION OF PUBLIC HEALTH PROGRAMS", "majorGroup": "94", "majorGroupName": "ADMINISTRATION OF HUMAN RESOURCE PROGRAMS" }, { "code": "9441", "name": "ADMINISTRATION OF SOCIAL AND MANPOWER PROGRAMS", "majorGroup": "94", "majorGroupName": "ADMINISTRATION OF HUMAN RESOURCE PROGRAMS" }, { "code": "9451", "name": "ADMINISTRATION OF VETERANS' AFFAIRS", "majorGroup": "94", "majorGroupName": "ADMINISTRATION OF HUMAN RESOURCE PROGRAMS" }, { "code": "9511", "name": "AIR, WATER, AND SOLID WASTE MANAGEMENT", "majorGroup": "95", "majorGroupName": "ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS" }, { "code": "9512", "name": "LAND, MINERAL, AND WILDLIFE CONSERVATION", "majorGroup": "95", "majorGroupName": "ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS" }, { "code": "9531", "name": "HOUSING PROGRAMS", "majorGroup": "95", "majorGroupName": "ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS" }, { "code": "9532", "name": "URBAN AND COMMUNITY DEVELOPMENT", "majorGroup": "95", "majorGroupName": "ADMINISTRATION OF ENVIRONMENTAL QUALITY AND HOUSING PROGRAMS" }, { "code": "9611", "name": "ADMINISTRATION OF GENERAL ECONOMIC PROGRAMS", "majorGroup": "96", "majorGroupName": "ADMINISTRATION OF ECONOMIC PROGRAMS" }, { "code": "9621", "name": "REGULATION, ADMINISTRATION OF TRANSPORTATION", "majorGroup": "96", "majorGroupName": "ADMINISTRATION OF ECONOMIC PROGRAMS" }, { "code": "9631", "name": "REGULATION, ADMINISTRATION OF UTILITIES", "majorGroup": "96", "majorGroupName": "ADMINISTRATION OF ECONOMIC PROGRAMS" }, { "code": "9641", "name": "REGULATION OF AGRICULTURAL MARKETING", "majorGroup": "96", "majorGroupName": "ADMINISTRATION OF ECONOMIC PROGRAMS" }, { "code": "9651", "name": "REGULATION, MISCELLANEOUS COMMERCIAL SECTORS", "majorGroup": "96", "majorGroupName": "ADMINISTRATION OF ECONOMIC PROGRAMS" }, { "code": "9661", "name": "SPACE RESEARCH AND TECHNOLOGY", "majorGroup": "96", "majorGroupName": "ADMINISTRATION OF ECONOMIC PROGRAMS" }, { "code": "9711", "name": "NATIONAL SECURITY", "majorGroup": "97", "majorGroupName": "NATIONAL SECURITY AND INTERNATIONAL AFFAIRS" }, { "code": "9721", "name": "INTERNATIONAL AFFAIRS", "majorGroup": "97", "majorGroupName": "NATIONAL SECURITY AND INTERNATIONAL AFFAIRS" }, { "code": "9999", "name": "NONCLASSIFIABLE ESTABLISHMENTS", "majorGroup": "99", "majorGroupName": "NONCLASSIFIABLE ESTABLISHMENTS" } ] ``` ## Full list of `latest_sec` codes All **430** codes returned when `type=latest_sec`, each annotated with its SEC review office. ```csv latest_sec.csv theme={null} code,name,office 0100,AGRICULTURAL PRODUCTION-CROPS,Industrial Applications and Services 0200,AGRICULTURAL PROD-LIVESTOCK & ANIMAL SPECIALTIES,Industrial Applications and Services 0700,AGRICULTURAL SERVICES,Industrial Applications and Services 0800,FORESTRY,Industrial Applications and Services 0900,"FISHING, HUNTING AND TRAPPING",Industrial Applications and Services 1000,METAL MINING,Office of Energy & Transportation 1040,GOLD AND SILVER ORES,Office of Energy & Transportation 1090,MISCELLANEOUS METAL ORES,Office of Energy & Transportation 1220,BITUMINOUS COAL & LIGNITE MINING,Office of Energy & Transportation 1221,BITUMINOUS COAL & LIGNITE SURFACE MINING,Office of Energy & Transportation 1311,CRUDE PETROLEUM & NATURAL GAS,Office of Energy & Transportation 1381,DRILLING OIL & GAS WELLS,Office of Energy & Transportation 1382,OIL & GAS FIELD EXPLORATION SERVICES,Office of Energy & Transportation 1389,"OIL & GAS FIELD SERVICES, NEC",Office of Energy & Transportation 1400,MINING & QUARRYING OF NONMETALLIC MINERALS (NO FUELS),Office of Energy & Transportation 1520,GENERAL BLDG CONTRACTORS - RESIDENTIAL BLDGS,Office of Real Estate & Construction 1531,OPERATIVE BUILDERS,Office of Real Estate & Construction 1540,GENERAL BLDG CONTRACTORS - NONRESIDENTIAL BLDGS,Office of Real Estate & Construction 1600,HEAVY CONSTRUCTION OTHER THAN BLDG CONST - CONTRACTORS,Office of Real Estate & Construction 1623,"WATER, SEWER, PIPELINE, COMM & POWER LINE CONSTRUCTION",Office of Real Estate & Construction 1700,CONSTRUCTION - SPECIAL TRADE CONTRACTORS,Office of Real Estate & Construction 1731,ELECTRICAL WORK,Office of Real Estate & Construction 2000,FOOD AND KINDRED PRODUCTS,Office of Manufacturing 2011,MEAT PACKING PLANTS,Office of Manufacturing 2013,SAUSAGES & OTHER PREPARED MEAT PRODUCTS,Office of Manufacturing 2015,POULTRY SLAUGHTERING AND PROCESSING,Office of Manufacturing 2020,DAIRY PRODUCTS,Office of Manufacturing 2024,ICE CREAM & FROZEN DESSERTS,Office of Manufacturing 2030,"CANNED, FROZEN & PRESERVD FRUIT, VEG & FOOD SPECIALTIES",Office of Manufacturing 2033,"CANNED, FRUITS, VEG, PRESERVES, JAMS & JELLIES",Office of Manufacturing 2040,GRAIN MILL PRODUCTS,Office of Manufacturing 2050,BAKERY PRODUCTS,Office of Manufacturing 2052,COOKIES & CRACKERS,Office of Manufacturing 2060,SUGAR & CONFECTIONERY PRODUCTS,Office of Manufacturing 2070,FATS & OILS,Office of Manufacturing 2080,BEVERAGES,Office of Manufacturing 2082,MALT BEVERAGES,Office of Manufacturing 2086,BOTTLED & CANNED SOFT DRINKS & CARBONATED WATERS,Office of Manufacturing 2090,MISCELLANEOUS FOOD PREPARATIONS & KINDRED PRODUCTS,Office of Manufacturing 2092,PREPARED FRESH OR FROZEN FISH & SEAFOODS,Office of Manufacturing 2100,TOBACCO PRODUCTS,Office of Manufacturing 2111,CIGARETTES,Office of Manufacturing 2200,TEXTILE MILL PRODUCTS,Office of Manufacturing 2211,"BROADWOVEN FABRIC MILLS, COTTON",Office of Manufacturing 2221,"BROADWOVEN FABRIC MILLS, MAN MADE FIBER & SILK",Office of Manufacturing 2250,KNITTING MILLS,Office of Manufacturing 2253,KNIT OUTERWEAR MILLS,Office of Manufacturing 2273,CARPETS & RUGS,Office of Manufacturing 2300,APPAREL & OTHER FINISHD PRODS OF FABRICS & SIMILAR MATL,Office of Manufacturing 2320,"MEN'S & BOYS' FURNISHGS, WORK CLOTHG, & ALLIED GARMENTS",Office of Manufacturing 2330,"WOMEN'S, MISSES', AND JUNIORS OUTERWEAR",Office of Manufacturing 2340,"WOMEN'S, MISSES', CHILDREN'S & INFANTS' UNDERGARMENTS",Office of Manufacturing 2390,MISCELLANEOUS FABRICATED TEXTILE PRODUCTS,Office of Manufacturing 2400,LUMBER & WOOD PRODUCTS (NO FURNITURE),Office of Manufacturing 2421,"SAWMILLS & PLANTING MILLS, GENERAL",Office of Manufacturing 2430,"MILLWOOD, VENEER, PLYWOOD, & STRUCTURAL WOOD MEMBERS",Office of Manufacturing 2451,MOBILE HOMES,Office of Manufacturing 2452,PREFABRICATED WOOD BLDGS & COMPONENTS,Office of Manufacturing 2510,HOUSEHOLD FURNITURE,Office of Manufacturing 2511,"WOOD HOUSEHOLD FURNITURE, (NO UPHOLSTERED)",Office of Manufacturing 2520,OFFICE FURNITURE,Office of Manufacturing 2522,OFFICE FURNITURE (NO WOOD),Office of Manufacturing 2531,PUBLIC BLDG & RELATED FURNITURE,Office of Manufacturing 2540,"PARTITIONS, SHELVG, LOCKERS, & OFFICE & STORE FIXTURES",Office of Manufacturing 2590,MISCELLANEOUS FURNITURE & FIXTURES,Office of Manufacturing 2600,PAPERS & ALLIED PRODUCTS,Office of Manufacturing 2611,PULP MILLS,Office of Manufacturing 2621,PAPER MILLS,Office of Manufacturing 2631,PAPERBOARD MILLS,Office of Manufacturing 2650,PAPERBOARD CONTAINERS & BOXES,Office of Manufacturing 2670,CONVERTED PAPER & PAPERBOARD PRODS (NO CONTANERS/BOXES),Office of Manufacturing 2673,"PLASTICS, FOIL & COATED PAPER BAGS",Office of Manufacturing 2711,NEWSPAPERS: PUBLISHING OR PUBLISHING & PRINTING,Office of Manufacturing 2721,PERIODICALS: PUBLISHING OR PUBLISHING & PRINTING,Office of Manufacturing 2731,BOOKS: PUBLISHING OR PUBLISHING & PRINTING,Office of Manufacturing 2732,BOOK PRINTING,Office of Manufacturing 2741,MISCELLANEOUS PUBLISHING,Office of Manufacturing 2750,COMMERCIAL PRINTING,Office of Manufacturing 2761,MANIFOLD BUSINESS FORMS,Office of Manufacturing 2771,GREETING CARDS,Office of Manufacturing 2780,"BLANKBOOKS, LOOSELEAF BINDERS & BOOKBINDG & RELATD WORK",Office of Manufacturing 2790,SERVICE INDUSTRIES FOR THE PRINTING TRADE,Office of Manufacturing 2800,CHEMICALS & ALLIED PRODUCTS,Industrial Applications and Services 2810,INDUSTRIAL INORGANIC CHEMICALS,Industrial Applications and Services 2820,"PLASTIC MATERIAL, SYNTH RESIN/RUBBER, CELLULOS (NO GLASS)",Industrial Applications and Services 2821,"PLASTIC MATERIALS, SYNTH RESINS & NONVULCAN ELASTOMERS",Industrial Applications and Services 2833,MEDICINAL CHEMICALS & BOTANICAL PRODUCTS,Office of Life Sciences 2834,PHARMACEUTICAL PREPARATIONS,Office of Life Sciences 2835,IN VITRO & IN VIVO DIAGNOSTIC SUBSTANCES,Office of Life Sciences 2836,"BIOLOGICAL PRODUCTS, (NO DISGNOSTIC SUBSTANCES)",Office of Life Sciences 2840,"SOAP, DETERGENTS, CLEANG PREPARATIONS, PERFUMES, COSMETICS",Industrial Applications and Services 2842,"SPECIALTY CLEANING, POLISHING AND SANITATION PREPARATIONS",Industrial Applications and Services 2844,"PERFUMES, COSMETICS & OTHER TOILET PREPARATIONS",Industrial Applications and Services 2851,"PAINTS, VARNISHES, LACQUERS, ENAMELS & ALLIED PRODS",Industrial Applications and Services 2860,INDUSTRIAL ORGANIC CHEMICALS,Industrial Applications and Services 2870,AGRICULTURAL CHEMICALS,Industrial Applications and Services 2890,MISCELLANEOUS CHEMICAL PRODUCTS,Industrial Applications and Services 2891,ADHESIVES & SEALANTS,Industrial Applications and Services 2911,PETROLEUM REFINING,Office of Energy & Transportation 2950,ASPHALT PAVING & ROOFING MATERIALS,Office of Energy & Transportation 2990,MISCELLANEOUS PRODUCTS OF PETROLEUM & COAL,Office of Energy & Transportation 3011,TIRES & INNER TUBES,Office of Manufacturing 3021,RUBBER & PLASTICS FOOTWEAR,Office of Manufacturing 3050,"GASKETS, PACKG & SEALG DEVICES & RUBBER & PLASTICS HOSE",Office of Manufacturing 3060,"FABRICATED RUBBER PRODUCTS, NEC",Office of Manufacturing 3080,MISCELLANEOUS PLASTICS PRODUCTS,Industrial Applications and Services 3081,UNSUPPORTED PLASTICS FILM & SHEET,Industrial Applications and Services 3086,PLASTICS FOAM PRODUCTS,Industrial Applications and Services 3089,"PLASTICS PRODUCTS, NEC",Industrial Applications and Services 3100,LEATHER & LEATHER PRODUCTS,Office of Manufacturing 3140,"FOOTWEAR, (NO RUBBER)",Office of Manufacturing 3211,FLAT GLASS,Office of Manufacturing 3220,"GLASS & GLASSWARE, PRESSED OR BLOWN",Office of Manufacturing 3221,GLASS CONTAINERS,Office of Manufacturing 3231,"GLASS PRODUCTS, MADE OF PURCHASED GLASS",Office of Manufacturing 3241,"CEMENT, HYDRAULIC",Office of Manufacturing 3250,STRUCTURAL CLAY PRODUCTS,Office of Manufacturing 3260,POTTERY & RELATED PRODUCTS,Office of Manufacturing 3270,"CONCRETE, GYPSUM & PLASTER PRODUCTS",Office of Manufacturing 3272,"CONCRETE PRODUCTS, EXCEPT BLOCK & BRICK",Office of Manufacturing 3281,CUT STONE & STONE PRODUCTS,Office of Manufacturing 3290,"ABRASIVE, ASBESTOS & MISC NONMETALLIC MINERAL PRODS",Office of Manufacturing 3310,"STEEL WORKS, BLAST FURNACES & ROLLING & FINISHING MILLS",Office of Manufacturing 3312,"STEEL WORKS, BLAST FURNACES & ROLLING MILLS (COKE OVENS)",Office of Manufacturing 3317,STEEL PIPE & TUBES,Office of Manufacturing 3320,IRON & STEEL FOUNDRIES,Office of Manufacturing 3330,PRIMARY SMELTING & REFINING OF NONFERROUS METALS,Office of Manufacturing 3334,PRIMARY PRODUCTION OF ALUMINUM,Office of Manufacturing 3341,SECONDARY SMELTING & REFINING OF NONFERROUS METALS,Office of Manufacturing 3350,ROLLING DRAWING & EXTRUDING OF NONFERROUS METALS,Office of Manufacturing 3357,DRAWING & INSULATING OF NONFERROUS WIRE,Office of Manufacturing 3360,NONFERROUS FOUNDRIES (CASTINGS),Office of Manufacturing 3390,MISCELLANEOUS PRIMARY METAL PRODUCTS,Office of Manufacturing 3411,METAL CANS,Office of Manufacturing 3412,"METAL SHIPPING BARRELS, DRUMS, KEGS & PAILS",Office of Manufacturing 3420,"CUTLERY, HANDTOOLS & GENERAL HARDWARE",Office of Manufacturing 3430,"HEATING EQUIP, EXCEPT ELEC & WARM AIR; & PLUMBING FIXTURES",Office of Manufacturing 3433,"HEATING EQUIPMENT, EXCEPT ELECTRIC & WARM AIR FURNACES",Office of Manufacturing 3440,FABRICATED STRUCTURAL METAL PRODUCTS,Office of Manufacturing 3442,"METAL DOORS, SASH, FRAMES, MOLDINGS & TRIM",Office of Manufacturing 3443,FABRICATED PLATE WORK (BOILER SHOPS),Office of Manufacturing 3444,SHEET METAL WORK,Office of Manufacturing 3448,PREFABRICATED METAL BUILDINGS & COMPONENTS,Office of Manufacturing 3451,SCREW MACHINE PRODUCTS,Office of Manufacturing 3452,"BOLTS, NUTS, SCREWS, RIVETS & WASHERS",Office of Manufacturing 3460,METAL FORGINGS & STAMPINGS,Office of Manufacturing 3470,"COATING, ENGRAVING & ALLIED SERVICES",Office of Manufacturing 3480,"ORDNANCE & ACCESSORIES, (NO VEHICLES/GUIDED MISSILES)",Office of Manufacturing 3490,MISCELLANEOUS FABRICATED METAL PRODUCTS,Office of Manufacturing 3510,ENGINES & TURBINES,Office of Technology 3523,FARM MACHINERY & EQUIPMENT,Office of Technology 3524,LAWN & GARDEN TRACTORS & HOME LAWN & GARDENS EQUIP,Office of Technology 3531,CONSTRUCTION MACHINERY & EQUIP,Office of Technology 3532,MINING MACHINERY & EQUIP (NO OIL & GAS FIELD MACH & EQUIP),Office of Technology 3533,OIL & GAS FIELD MACHINERY & EQUIPMENT,Office of Energy & Transportation 3537,"INDUSTRIAL TRUCKS, TRACTORS, TRAILORS & STACKERS",Office of Technology 3540,METALWORKG MACHINERY & EQUIPMENT,Office of Technology 3541,"MACHINE TOOLS, METAL CUTTING TYPES",Office of Technology 3550,SPECIAL INDUSTRY MACHINERY (NO METALWORKING MACHINERY),Office of Technology 3555,PRINTING TRADES MACHINERY & EQUIPMENT,Office of Technology 3559,"SPECIAL INDUSTRY MACHINERY, NEC",Office of Technology 3560,GENERAL INDUSTRIAL MACHINERY & EQUIPMENT,Office of Technology 3561,PUMPS & PUMPING EQUIPMENT,Office of Technology 3562,BALL & ROLLER BEARINGS,Office of Technology 3567,INDUSTRIAL PROCESS FURNACES & OVENS,Office of Technology 3569,"GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC",Office of Technology 3570,COMPUTER & OFFICE EQUIPMENT,Office of Technology 3571,ELECTRONIC COMPUTERS,Office of Technology 3572,COMPUTER STORAGE DEVICES,Office of Technology 3575,COMPUTER TERMINALS,Office of Technology 3576,COMPUTER COMMUNICATIONS EQUIPMENT,Office of Technology 3577,"COMPUTER PERIPHERAL EQUIPMENT, NEC",Office of Technology 3579,"OFFICE MACHINES, NEC",Office of Technology 3580,REFRIGERATION & SERVICE INDUSTRY MACHINERY,Office of Technology 3585,AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL REFRIG EQUIP,Office of Technology 3590,MISC INDUSTRIAL & COMMERCIAL MACHINERY & EQUIPMENT,Office of Technology 3612,"POWER, DISTRIBUTION & SPECIALTY TRANSFORMERS",Office of Manufacturing 3613,SWITCHGEAR & SWITCHBOARD APPARATUS,Office of Manufacturing 3620,ELECTRICAL INDUSTRIAL APPARATUS,Office of Manufacturing 3621,MOTORS & GENERATORS,Office of Manufacturing 3630,HOUSEHOLD APPLIANCES,Office of Manufacturing 3634,ELECTRIC HOUSEWARES & FANS,Office of Manufacturing 3640,ELECTRIC LIGHTING & WIRING EQUIPMENT,Office of Manufacturing 3651,HOUSEHOLD AUDIO & VIDEO EQUIPMENT,Office of Manufacturing 3652,PHONOGRAPH RECORDS & PRERECORDED AUDIO TAPES & DISKS,Office of Manufacturing 3661,TELEPHONE & TELEGRAPH APPARATUS,Office of Manufacturing 3663,RADIO & TV BROADCASTING & COMMUNICATIONS EQUIPMENT,Office of Manufacturing 3669,"COMMUNICATIONS EQUIPMENT, NEC",Office of Manufacturing 3670,ELECTRONIC COMPONENTS & ACCESSORIES,Office of Manufacturing 3672,PRINTED CIRCUIT BOARDS,Office of Manufacturing 3674,SEMICONDUCTORS & RELATED DEVICES,Office of Manufacturing 3677,"ELECTRONIC COILS, TRANSFORMERS & OTHER INDUCTORS",Office of Manufacturing 3678,ELECTRONIC CONNECTORS,Office of Manufacturing 3679,"ELECTRONIC COMPONENTS, NEC",Office of Manufacturing 3690,"MISCELLANEOUS ELECTRICAL MACHINERY, EQUIPMENT & SUPPLIES",Office of Manufacturing 3695,MAGNETIC & OPTICAL RECORDING MEDIA,Office of Manufacturing 3711,MOTOR VEHICLES & PASSENGER CAR BODIES,Office of Manufacturing 3713,TRUCK & BUS BODIES,Office of Manufacturing 3714,MOTOR VEHICLE PARTS & ACCESSORIES,Office of Manufacturing 3715,TRUCK TRAILERS,Office of Manufacturing 3716,MOTOR HOMES,Office of Manufacturing 3720,AIRCRAFT & PARTS,Office of Manufacturing 3721,AIRCRAFT,Office of Manufacturing 3724,AIRCRAFT ENGINES & ENGINE PARTS,Office of Manufacturing 3728,"AIRCRAFT PARTS & AUXILIARY EQUIPMENT, NEC",Office of Manufacturing 3730,SHIP & BOAT BUILDING & REPAIRING,Office of Manufacturing 3743,RAILROAD EQUIPMENT,Office of Manufacturing 3751,"MOTORCYCLES, BICYCLES & PARTS",Office of Manufacturing 3760,GUIDED MISSILES & SPACE VEHICLES & PARTS,Office of Manufacturing 3790,MISCELLANEOUS TRANSPORTATION EQUIPMENT,Office of Manufacturing 3812,"SEARCH, DETECTION, NAVAGATION, GUIDANCE, AERONAUTICAL SYS",Office of Manufacturing 3821,LABORATORY APPARATUS & FURNITURE,Industrial Applications and Services 3824,TOTALIZING FLUID METERS & COUNTING DEVICES,Industrial Applications and Services 3825,INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS,Industrial Applications and Services 3826,LABORATORY ANALYTICAL INSTRUMENTS,Industrial Applications and Services 3827,OPTICAL INSTRUMENTS & LENSES,Industrial Applications and Services 3829,"MEASURING & CONTROLLING DEVICES, NEC",Industrial Applications and Services 3841,SURGICAL & MEDICAL INSTRUMENTS & APPARATUS,Industrial Applications and Services 3842,"ORTHOPEDIC, PROSTHETIC & SURGICAL APPLIANCES & SUPPLIES",Industrial Applications and Services 3843,DENTAL EQUIPMENT & SUPPLIES,Industrial Applications and Services 3844,X-RAY APPARATUS & TUBES & RELATED IRRADIATION APPARATUS,Industrial Applications and Services 3845,ELECTROMEDICAL & ELECTROTHERAPEUTIC APPARATUS,Industrial Applications and Services 3851,OPHTHALMIC GOODS,Industrial Applications and Services 3861,PHOTOGRAPHIC EQUIPMENT & SUPPLIES,Industrial Applications and Services 3873,"WATCHES, CLOCKS, CLOCKWORK OPERATED DEVICES/PARTS",Industrial Applications and Services 3910,"JEWELRY, SILVERWARE & PLATED WARE",Office of Manufacturing 3911,"JEWELRY, PRECIOUS METAL",Office of Manufacturing 3931,MUSICAL INSTRUMENTS,Office of Manufacturing 3942,DOLLS & STUFFED TOYS,Office of Manufacturing 3944,"GAMES, TOYS & CHILDREN'S VEHICLES (NO DOLLS & BICYCLES)",Office of Manufacturing 3949,"SPORTING & ATHLETIC GOODS, NEC",Office of Manufacturing 3950,"PENS, PENCILS & OTHER ARTISTS' MATERIALS",Office of Manufacturing 3960,COSTUME JEWELRY & NOVELTIES,Office of Manufacturing 3990,MISCELLANEOUS MANUFACTURING INDUSTRIES,Office of Manufacturing 4011,"RAILROADS, LINE-HAUL OPERATING",Office of Energy & Transportation 4013,RAILROAD SWITCHING & TERMINAL ESTABLISHMENTS,Office of Energy & Transportation 4210,TRUCKING & COURIER SERVICES (NO AIR),Office of Energy & Transportation 4213,TRUCKING (NO LOCAL),Office of Energy & Transportation 4220,PUBLIC WAREHOUSING & STORAGE,Office of Energy & Transportation 4400,WATER TRANSPORTATION,Office of Energy & Transportation 4412,DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT,Office of Energy & Transportation 4512,"AIR TRANSPORTATION, SCHEDULED",Office of Energy & Transportation 4513,AIR COURIER SERVICES,Office of Energy & Transportation 4522,"AIR TRANSPORTATION, NONSCHEDULED",Office of Energy & Transportation 4581,"AIRPORTS, FLYING FIELDS & AIRPORT TERMINAL SERVICES",Office of Energy & Transportation 4610,PIPE LINES (NO NATURAL GAS),Office of Energy & Transportation 4700,TRANSPORTATION SERVICES,Office of Energy & Transportation 4731,ARRANGEMENT OF TRANSPORTATION OF FREIGHT & CARGO,Office of Energy & Transportation 4812,RADIOTELEPHONE COMMUNICATIONS,Office of Technology 4813,TELEPHONE COMMUNICATIONS (NO RADIOTELEPHONE),Office of Technology 4822,TELEGRAPH & OTHER MESSAGE COMMUNICATIONS,Office of Technology 4832,RADIO BROADCASTING STATIONS,Office of Technology 4833,TELEVISION BROADCASTING STATIONS,Office of Technology 4841,CABLE & OTHER PAY TELEVISION SERVICES,Office of Technology 4899,"COMMUNICATIONS SERVICES, NEC",Office of Technology 4900,"ELECTRIC, GAS & SANITARY SERVICES",Office of Energy & Transportation 4911,ELECTRIC SERVICES,Office of Energy & Transportation 4922,NATURAL GAS TRANSMISSION,Office of Energy & Transportation 4923,NATURAL GAS TRANSMISISON & DISTRIBUTION,Office of Energy & Transportation 4924,NATURAL GAS DISTRIBUTION,Office of Energy & Transportation 4931,ELECTRIC & OTHER SERVICES COMBINED,Office of Energy & Transportation 4932,GAS & OTHER SERVICES COMBINED,Office of Energy & Transportation 4941,WATER SUPPLY,Office of Energy & Transportation 4950,SANITARY SERVICES,Office of Energy & Transportation 4953,REFUSE SYSTEMS,Office of Energy & Transportation 4955,HAZARDOUS WASTE MANAGEMENT,Office of Energy & Transportation 4961,STEAM & AIR-CONDITIONING SUPPLY,Office of Energy & Transportation 4991,COGENERATION SERVICES & SMALL POWER PRODUCERS,Office of Energy & Transportation 5000,WHOLESALE-DURABLE GOODS,Office of Trade & Services 5010,WHOLESALE-MOTOR VEHICLES & MOTOR VEHICLE PARTS & SUPPLIES,Office of Trade & Services 5013,WHOLESALE-MOTOR VEHICLE SUPPLIES & NEW PARTS,Office of Trade & Services 5020,WHOLESALE-FURNITURE & HOME FURNISHINGS,Office of Trade & Services 5030,WHOLESALE-LUMBER & OTHER CONSTRUCTION MATERIALS,Office of Trade & Services 5031,"WHOLESALE-LUMBER, PLYWOOD, MILLWORK & WOOD PANELS",Office of Trade & Services 5040,WHOLESALE-PROFESSIONAL & COMMERCIAL EQUIPMENT & SUPPLIES,Office of Trade & Services 5045,WHOLESALE-COMPUTERS & PERIPHERAL EQUIPMENT & SOFTWARE,Office of Trade & Services 5047,"WHOLESALE-MEDICAL, DENTAL & HOSPITAL EQUIPMENT & SUPPLIES",Office of Trade & Services 5050,WHOLESALE-METALS & MINERALS (NO PETROLEUM),Office of Trade & Services 5051,WHOLESALE-METALS SERVICE CENTERS & OFFICES,Office of Trade & Services 5064,"WHOLESALE-ELECTRICAL APPLIANCES, TV & RADIO SETS",Office of Trade & Services 5065,"WHOLESALE-ELECTRONIC PARTS & EQUIPMENT, NEC",Office of Trade & Services 5072,WHOLESALE-HARDWARE,Office of Trade & Services 5080,"WHOLESALE-MACHINERY, EQUIPMENT & SUPPLIES",Office of Trade & Services 5084,WHOLESALE-INDUSTRIAL MACHINERY & EQUIPMENT,Office of Trade & Services 5090,WHOLESALE-MISC DURABLE GOODS,Office of Trade & Services 5094,"WHOLESALE-JEWELRY, WATCHES, PRECIOUS STONES & METALS",Office of Trade & Services 5099,"WHOLESALE-DURABLE GOODS, NEC",Office of Trade & Services 5110,WHOLESALE-PAPER & PAPER PRODUCTS,Office of Trade & Services 5122,"WHOLESALE-DRUGS, PROPRIETARIES & DRUGGISTS' SUNDRIES",Office of Trade & Services 5130,"WHOLESALE-APPAREL, PIECE GOODS & NOTIONS",Office of Trade & Services 5140,WHOLESALE-GROCERIES & RELATED PRODUCTS,Office of Trade & Services 5141,"WHOLESALE-GROCERIES, GENERAL LINE",Office of Trade & Services 5150,WHOLESALE-FARM PRODUCT RAW MATERIALS,Office of Trade & Services 5160,WHOLESALE-CHEMICALS & ALLIED PRODUCTS,Office of Trade & Services 5171,WHOLESALE-PETROLEUM BULK STATIONS & TERMINALS,Office of Trade & Services 5180,"WHOLESALE-BEER, WINE & DISTILLED ALCOHOLIC BEVERAGES",Office of Trade & Services 5190,WHOLESALE-MISCELLANEOUS NONDURABLE GOODS,Office of Trade & Services 5200,"RETAIL-BUILDING MATERIALS, HARDWARE, GARDEN SUPPLY",Office of Trade & Services 5211,RETAIL-LUMBER & OTHER BUILDING MATERIALS DEALERS,Office of Trade & Services 5271,RETAIL-MOBILE HOME DEALERS,Office of Trade & Services 5311,RETAIL-DEPARTMENT STORES,Office of Trade & Services 5331,RETAIL-VARIETY STORES,Office of Trade & Services 5399,RETAIL-MISC GENERAL MERCHANDISE STORES,Office of Trade & Services 5400,RETAIL-FOOD STORES,Office of Trade & Services 5411,RETAIL-GROCERY STORES,Office of Trade & Services 5412,RETAIL-CONVENIENCE STORES,Office of Trade & Services 5500,RETAIL-AUTO DEALERS & GASOLINE STATIONS,Office of Trade & Services 5531,RETAIL-AUTO & HOME SUPPLY STORES,Office of Trade & Services 5600,RETAIL-APPAREL & ACCESSORY STORES,Office of Trade & Services 5621,RETAIL-WOMEN'S CLOTHING STORES,Office of Trade & Services 5651,RETAIL-FAMILY CLOTHING STORES,Office of Trade & Services 5661,RETAIL-SHOE STORES,Office of Trade & Services 5700,"RETAIL-HOME FURNITURE, FURNISHINGS & EQUIPMENT STORES",Office of Trade & Services 5712,RETAIL-FURNITURE STORES,Office of Trade & Services 5731,"RETAIL-RADIO, TV & CONSUMER ELECTRONICS STORES",Office of Trade & Services 5734,RETAIL-COMPUTER & COMPUTER SOFTWARE STORES,Office of Trade & Services 5735,RETAIL-RECORD & PRERECORDED TAPE STORES,Office of Trade & Services 5810,RETAIL-EATING & DRINKING PLACES,Office of Trade & Services 5812,RETAIL-EATING PLACES,Office of Trade & Services 5900,RETAIL-MISCELLANEOUS RETAIL,Office of Trade & Services 5912,RETAIL-DRUG STORES AND PROPRIETARY STORES,Office of Trade & Services 5940,RETAIL-MISCELLANEOUS SHOPPING GOODS STORES,Office of Trade & Services 5944,RETAIL-JEWELRY STORES,Office of Trade & Services 5945,"RETAIL-HOBBY, TOY & GAME SHOPS",Office of Trade & Services 5960,RETAIL-NONSTORE RETAILERS,Office of Trade & Services 5961,RETAIL-CATALOG & MAIL-ORDER HOUSES,Office of Trade & Services 5990,"RETAIL-RETAIL STORES, NEC",Office of Trade & Services 6021,NATIONAL COMMERCIAL BANKS,Office of Finance 6022,STATE COMMERCIAL BANKS,Office of Finance 6029,"COMMERCIAL BANKS, NEC",Office of Finance 6035,"SAVINGS INSTITUTION, FEDERALLY CHARTERED",Office of Finance 6036,"SAVINGS INSTITUTIONS, NOT FEDERALLY CHARTERED",Office of Finance 6099,"FUNCTIONS RELATED TO DEPOSITORY BANKING, NEC",Office of Finance 6111,FEDERAL & FEDERALLY-SPONSORED CREDIT AGENCIES,Office of Finance 6141,PERSONAL CREDIT INSTITUTIONS,Office of Finance 6153,SHORT-TERM BUSINESS CREDIT INSTITUTIONS,Office of Finance 6159,MISCELLANEOUS BUSINESS CREDIT INSTITUTION,Office of Finance 6162,MORTGAGE BANKERS & LOAN CORRESPONDENTS,Office of Finance 6163,LOAN BROKERS,Office of Finance 6172,FINANCE LESSORS,Office of Finance 6189,ASSET-BACKED SECURITIES,Office of Structured Finance 6199,FINANCE SERVICES,Office of Finance or Office of Crypto Assets 6211,"SECURITY BROKERS, DEALERS & FLOTATION COMPANIES",Office of Finance or Office of Crypto Assets 6221,COMMODITY CONTRACTS BROKERS & DEALERS,Office of Crypto Assets 6282,INVESTMENT ADVICE,Office of Finance 6311,LIFE INSURANCE,Office of Finance 6321,ACCIDENT & HEALTH INSURANCE,Office of Finance 6324,HOSPITAL & MEDICAL SERVICE PLANS,Office of Finance 6331,"FIRE, MARINE & CASUALTY INSURANCE",Office of Finance 6351,SURETY INSURANCE,Office of Finance 6361,TITLE INSURANCE,Office of Finance 6399,"INSURANCE CARRIERS, NEC",Office of Finance 6411,"INSURANCE AGENTS, BROKERS & SERVICE",Office of Finance 6500,REAL ESTATE,Office of Real Estate & Construction 6510,REAL ESTATE OPERATORS (NO DEVELOPERS) & LESSORS,Office of Real Estate & Construction 6512,OPERATORS OF NONRESIDENTIAL BUILDINGS,Office of Real Estate & Construction 6513,OPERATORS OF APARTMENT BUILDINGS,Office of Real Estate & Construction 6519,"LESSORS OF REAL PROPERTY, NEC",Office of Real Estate & Construction 6531,REAL ESTATE AGENTS & MANAGERS (FOR OTHERS),Office of Real Estate & Construction 6532,REAL ESTATE DEALERS (FOR THEIR OWN ACCOUNT),Office of Real Estate & Construction 6552,LAND SUBDIVIDERS & DEVELOPERS (NO CEMETERIES),Office of Real Estate & Construction 6770,BLANK CHECKS,Office of Real Estate & Construction 6792,OIL ROYALTY TRADERS,Office of Energy & Transportation 6794,PATENT OWNERS & LESSORS,Office of Real Estate & Construction 6795,MINERAL ROYALTY TRADERS,Office of Energy & Transportation 6798,REAL ESTATE INVESTMENT TRUSTS,Office of Real Estate & Construction 6799,"INVESTORS, NEC",Office of Real Estate & Construction 7000,"HOTELS, ROOMING HOUSES, CAMPS & OTHER LODGING PLACES",Office of Real Estate & Construction 7011,HOTELS & MOTELS,Office of Real Estate & Construction 7200,SERVICES-PERSONAL SERVICES,Office of Trade & Services 7310,SERVICES-ADVERTISING,Office of Trade & Services 7311,SERVICES-ADVERTISING AGENCIES,Office of Trade & Services 7320,"SERVICES-CONSUMER CREDIT REPORTING, COLLECTION AGENCIES",Office of Trade & Services 7331,SERVICES-DIRECT MAIL ADVERTISING SERVICES,Office of Trade & Services 7340,SERVICES-TO DWELLINGS & OTHER BUILDINGS,Office of Trade & Services 7350,SERVICES-MISCELLANEOUS EQUIPMENT RENTAL & LEASING,Office of Trade & Services 7359,"SERVICES-EQUIPMENT RENTAL & LEASING, NEC",Office of Trade & Services 7361,SERVICES-EMPLOYMENT AGENCIES,Office of Trade & Services 7363,SERVICES-HELP SUPPLY SERVICES,Office of Trade & Services 7370,"SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC.",Office of Technology 7371,SERVICES-COMPUTER PROGRAMMING SERVICES,Office of Technology 7372,SERVICES-PREPACKAGED SOFTWARE,Office of Technology 7373,SERVICES-COMPUTER INTEGRATED SYSTEMS DESIGN,Office of Technology 7374,SERVICES-COMPUTER PROCESSING & DATA PREPARATION,Office of Technology 7377,SERVICES-COMPUTER RENTAL & LEASING,Office of Trade & Services 7380,SERVICES-MISCELLANEOUS BUSINESS SERVICES,Office of Trade & Services 7381,"SERVICES-DETECTIVE, GUARD & ARMORED CAR SERVICES",Office of Trade & Services 7384,SERVICES-PHOTOFINISHING LABORATORIES,Office of Trade & Services 7385,SERVICES-TELEPHONE INTERCONNECT SYSTEMS,Office of Trade & Services 7389,"SERVICES-BUSINESS SERVICES, NEC",Office of Trade & Services or Office of Energy & Transportation 7500,"SERVICES-AUTOMOTIVE REPAIR, SERVICES & PARKING",Office of Trade & Services 7510,SERVICES-AUTO RENTAL & LEASING (NO DRIVERS),Office of Trade & Services 7600,SERVICES-MISCELLANEOUS REPAIR SERVICES,Office of Trade & Services 7812,SERVICES-MOTION PICTURE & VIDEO TAPE PRODUCTION,Office of Trade & Services 7819,SERVICES-ALLIED TO MOTION PICTURE PRODUCTION,Office of Trade & Services 7822,SERVICES-MOTION PICTURE & VIDEO TAPE DISTRIBUTION,Office of Trade & Services 7829,SERVICES-ALLIED TO MOTION PICTURE DISTRIBUTION,Office of Trade & Services 7830,SERVICES-MOTION PICTURE THEATERS,Office of Trade & Services 7841,SERVICES-VIDEO TAPE RENTAL,Office of Trade & Services 7900,SERVICES-AMUSEMENT & RECREATION SERVICES,Office of Trade & Services 7948,"SERVICES-RACING, INCLUDING TRACK OPERATION",Office of Trade & Services 7990,SERVICES-MISCELLANEOUS AMUSEMENT & RECREATION,Office of Trade & Services 7997,SERVICES-MEMBERSHIP SPORTS & RECREATION CLUBS,Office of Trade & Services 8000,SERVICES-HEALTH SERVICES,Industrial Applications and Services 8011,SERVICES-OFFICES & CLINICS OF DOCTORS OF MEDICINE,Industrial Applications and Services 8050,SERVICES-NURSING & PERSONAL CARE FACILITIES,Industrial Applications and Services 8051,SERVICES-SKILLED NURSING CARE FACILITIES,Industrial Applications and Services 8060,SERVICES-HOSPITALS,Industrial Applications and Services 8062,"SERVICES-GENERAL MEDICAL & SURGICAL HOSPITALS, NEC",Industrial Applications and Services 8071,SERVICES-MEDICAL LABORATORIES,Industrial Applications and Services 8082,SERVICES-HOME HEALTH CARE SERVICES,Industrial Applications and Services 8090,"SERVICES-MISC HEALTH & ALLIED SERVICES, NEC",Industrial Applications and Services 8093,"SERVICES-SPECIALTY OUTPATIENT FACILITIES, NEC",Industrial Applications and Services 8111,SERVICES-LEGAL SERVICES,Office of Trade & Services 8200,SERVICES-EDUCATIONAL SERVICES,Office of Trade & Services 8300,SERVICES-SOCIAL SERVICES,Industrial Applications and Services 8351,SERVICES-CHILD DAY CARE SERVICES,Office of Trade & Services 8600,SERVICES-MEMBERSHIP ORGANIZATIONS,Office of Trade & Services 8700,"SERVICES-ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT",Office of Trade & Services 8711,SERVICES-ENGINEERING SERVICES,Office of Trade & Services 8731,SERVICES-COMMERCIAL PHYSICAL & BIOLOGICAL RESEARCH,Industrial Applications and Services 8734,SERVICES-TESTING LABORATORIES,Industrial Applications and Services 8741,SERVICES-MANAGEMENT SERVICES,Office of Trade & Services 8742,SERVICES-MANAGEMENT CONSULTING SERVICES,Office of Trade & Services 8744,SERVICES-FACILITIES SUPPORT MANAGEMENT SERVICES,Office of Trade & Services 8880,AMERICAN DEPOSITARY RECEIPTS,Office of International Corp Fin 8888,FOREIGN GOVERNMENTS,Office of International Corp Fin 8900,"SERVICES-SERVICES, NEC",Office of Trade & Services 9721,INTERNATIONAL AFFAIRS,Office of International Corp Fin 9995,NON-OPERATING ESTABLISHMENTS,Office of Real Estate & Construction ``` ```json latest_sec.json theme={null} [ { "code": "0100", "name": "AGRICULTURAL PRODUCTION-CROPS", "office": "Industrial Applications and Services" }, { "code": "0200", "name": "AGRICULTURAL PROD-LIVESTOCK & ANIMAL SPECIALTIES", "office": "Industrial Applications and Services" }, { "code": "0700", "name": "AGRICULTURAL SERVICES", "office": "Industrial Applications and Services" }, { "code": "0800", "name": "FORESTRY", "office": "Industrial Applications and Services" }, { "code": "0900", "name": "FISHING, HUNTING AND TRAPPING", "office": "Industrial Applications and Services" }, { "code": "1000", "name": "METAL MINING", "office": "Office of Energy & Transportation" }, { "code": "1040", "name": "GOLD AND SILVER ORES", "office": "Office of Energy & Transportation" }, { "code": "1090", "name": "MISCELLANEOUS METAL ORES", "office": "Office of Energy & Transportation" }, { "code": "1220", "name": "BITUMINOUS COAL & LIGNITE MINING", "office": "Office of Energy & Transportation" }, { "code": "1221", "name": "BITUMINOUS COAL & LIGNITE SURFACE MINING", "office": "Office of Energy & Transportation" }, { "code": "1311", "name": "CRUDE PETROLEUM & NATURAL GAS", "office": "Office of Energy & Transportation" }, { "code": "1381", "name": "DRILLING OIL & GAS WELLS", "office": "Office of Energy & Transportation" }, { "code": "1382", "name": "OIL & GAS FIELD EXPLORATION SERVICES", "office": "Office of Energy & Transportation" }, { "code": "1389", "name": "OIL & GAS FIELD SERVICES, NEC", "office": "Office of Energy & Transportation" }, { "code": "1400", "name": "MINING & QUARRYING OF NONMETALLIC MINERALS (NO FUELS)", "office": "Office of Energy & Transportation" }, { "code": "1520", "name": "GENERAL BLDG CONTRACTORS - RESIDENTIAL BLDGS", "office": "Office of Real Estate & Construction" }, { "code": "1531", "name": "OPERATIVE BUILDERS", "office": "Office of Real Estate & Construction" }, { "code": "1540", "name": "GENERAL BLDG CONTRACTORS - NONRESIDENTIAL BLDGS", "office": "Office of Real Estate & Construction" }, { "code": "1600", "name": "HEAVY CONSTRUCTION OTHER THAN BLDG CONST - CONTRACTORS", "office": "Office of Real Estate & Construction" }, { "code": "1623", "name": "WATER, SEWER, PIPELINE, COMM & POWER LINE CONSTRUCTION", "office": "Office of Real Estate & Construction" }, { "code": "1700", "name": "CONSTRUCTION - SPECIAL TRADE CONTRACTORS", "office": "Office of Real Estate & Construction" }, { "code": "1731", "name": "ELECTRICAL WORK", "office": "Office of Real Estate & Construction" }, { "code": "2000", "name": "FOOD AND KINDRED PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2011", "name": "MEAT PACKING PLANTS", "office": "Office of Manufacturing" }, { "code": "2013", "name": "SAUSAGES & OTHER PREPARED MEAT PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2015", "name": "POULTRY SLAUGHTERING AND PROCESSING", "office": "Office of Manufacturing" }, { "code": "2020", "name": "DAIRY PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2024", "name": "ICE CREAM & FROZEN DESSERTS", "office": "Office of Manufacturing" }, { "code": "2030", "name": "CANNED, FROZEN & PRESERVD FRUIT, VEG & FOOD SPECIALTIES", "office": "Office of Manufacturing" }, { "code": "2033", "name": "CANNED, FRUITS, VEG, PRESERVES, JAMS & JELLIES", "office": "Office of Manufacturing" }, { "code": "2040", "name": "GRAIN MILL PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2050", "name": "BAKERY PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2052", "name": "COOKIES & CRACKERS", "office": "Office of Manufacturing" }, { "code": "2060", "name": "SUGAR & CONFECTIONERY PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2070", "name": "FATS & OILS", "office": "Office of Manufacturing" }, { "code": "2080", "name": "BEVERAGES", "office": "Office of Manufacturing" }, { "code": "2082", "name": "MALT BEVERAGES", "office": "Office of Manufacturing" }, { "code": "2086", "name": "BOTTLED & CANNED SOFT DRINKS & CARBONATED WATERS", "office": "Office of Manufacturing" }, { "code": "2090", "name": "MISCELLANEOUS FOOD PREPARATIONS & KINDRED PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2092", "name": "PREPARED FRESH OR FROZEN FISH & SEAFOODS", "office": "Office of Manufacturing" }, { "code": "2100", "name": "TOBACCO PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2111", "name": "CIGARETTES", "office": "Office of Manufacturing" }, { "code": "2200", "name": "TEXTILE MILL PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2211", "name": "BROADWOVEN FABRIC MILLS, COTTON", "office": "Office of Manufacturing" }, { "code": "2221", "name": "BROADWOVEN FABRIC MILLS, MAN MADE FIBER & SILK", "office": "Office of Manufacturing" }, { "code": "2250", "name": "KNITTING MILLS", "office": "Office of Manufacturing" }, { "code": "2253", "name": "KNIT OUTERWEAR MILLS", "office": "Office of Manufacturing" }, { "code": "2273", "name": "CARPETS & RUGS", "office": "Office of Manufacturing" }, { "code": "2300", "name": "APPAREL & OTHER FINISHD PRODS OF FABRICS & SIMILAR MATL", "office": "Office of Manufacturing" }, { "code": "2320", "name": "MEN'S & BOYS' FURNISHGS, WORK CLOTHG, & ALLIED GARMENTS", "office": "Office of Manufacturing" }, { "code": "2330", "name": "WOMEN'S, MISSES', AND JUNIORS OUTERWEAR", "office": "Office of Manufacturing" }, { "code": "2340", "name": "WOMEN'S, MISSES', CHILDREN'S & INFANTS' UNDERGARMENTS", "office": "Office of Manufacturing" }, { "code": "2390", "name": "MISCELLANEOUS FABRICATED TEXTILE PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2400", "name": "LUMBER & WOOD PRODUCTS (NO FURNITURE)", "office": "Office of Manufacturing" }, { "code": "2421", "name": "SAWMILLS & PLANTING MILLS, GENERAL", "office": "Office of Manufacturing" }, { "code": "2430", "name": "MILLWOOD, VENEER, PLYWOOD, & STRUCTURAL WOOD MEMBERS", "office": "Office of Manufacturing" }, { "code": "2451", "name": "MOBILE HOMES", "office": "Office of Manufacturing" }, { "code": "2452", "name": "PREFABRICATED WOOD BLDGS & COMPONENTS", "office": "Office of Manufacturing" }, { "code": "2510", "name": "HOUSEHOLD FURNITURE", "office": "Office of Manufacturing" }, { "code": "2511", "name": "WOOD HOUSEHOLD FURNITURE, (NO UPHOLSTERED)", "office": "Office of Manufacturing" }, { "code": "2520", "name": "OFFICE FURNITURE", "office": "Office of Manufacturing" }, { "code": "2522", "name": "OFFICE FURNITURE (NO WOOD)", "office": "Office of Manufacturing" }, { "code": "2531", "name": "PUBLIC BLDG & RELATED FURNITURE", "office": "Office of Manufacturing" }, { "code": "2540", "name": "PARTITIONS, SHELVG, LOCKERS, & OFFICE & STORE FIXTURES", "office": "Office of Manufacturing" }, { "code": "2590", "name": "MISCELLANEOUS FURNITURE & FIXTURES", "office": "Office of Manufacturing" }, { "code": "2600", "name": "PAPERS & ALLIED PRODUCTS", "office": "Office of Manufacturing" }, { "code": "2611", "name": "PULP MILLS", "office": "Office of Manufacturing" }, { "code": "2621", "name": "PAPER MILLS", "office": "Office of Manufacturing" }, { "code": "2631", "name": "PAPERBOARD MILLS", "office": "Office of Manufacturing" }, { "code": "2650", "name": "PAPERBOARD CONTAINERS & BOXES", "office": "Office of Manufacturing" }, { "code": "2670", "name": "CONVERTED PAPER & PAPERBOARD PRODS (NO CONTANERS/BOXES)", "office": "Office of Manufacturing" }, { "code": "2673", "name": "PLASTICS, FOIL & COATED PAPER BAGS", "office": "Office of Manufacturing" }, { "code": "2711", "name": "NEWSPAPERS: PUBLISHING OR PUBLISHING & PRINTING", "office": "Office of Manufacturing" }, { "code": "2721", "name": "PERIODICALS: PUBLISHING OR PUBLISHING & PRINTING", "office": "Office of Manufacturing" }, { "code": "2731", "name": "BOOKS: PUBLISHING OR PUBLISHING & PRINTING", "office": "Office of Manufacturing" }, { "code": "2732", "name": "BOOK PRINTING", "office": "Office of Manufacturing" }, { "code": "2741", "name": "MISCELLANEOUS PUBLISHING", "office": "Office of Manufacturing" }, { "code": "2750", "name": "COMMERCIAL PRINTING", "office": "Office of Manufacturing" }, { "code": "2761", "name": "MANIFOLD BUSINESS FORMS", "office": "Office of Manufacturing" }, { "code": "2771", "name": "GREETING CARDS", "office": "Office of Manufacturing" }, { "code": "2780", "name": "BLANKBOOKS, LOOSELEAF BINDERS & BOOKBINDG & RELATD WORK", "office": "Office of Manufacturing" }, { "code": "2790", "name": "SERVICE INDUSTRIES FOR THE PRINTING TRADE", "office": "Office of Manufacturing" }, { "code": "2800", "name": "CHEMICALS & ALLIED PRODUCTS", "office": "Industrial Applications and Services" }, { "code": "2810", "name": "INDUSTRIAL INORGANIC CHEMICALS", "office": "Industrial Applications and Services" }, { "code": "2820", "name": "PLASTIC MATERIAL, SYNTH RESIN/RUBBER, CELLULOS (NO GLASS)", "office": "Industrial Applications and Services" }, { "code": "2821", "name": "PLASTIC MATERIALS, SYNTH RESINS & NONVULCAN ELASTOMERS", "office": "Industrial Applications and Services" }, { "code": "2833", "name": "MEDICINAL CHEMICALS & BOTANICAL PRODUCTS", "office": "Office of Life Sciences" }, { "code": "2834", "name": "PHARMACEUTICAL PREPARATIONS", "office": "Office of Life Sciences" }, { "code": "2835", "name": "IN VITRO & IN VIVO DIAGNOSTIC SUBSTANCES", "office": "Office of Life Sciences" }, { "code": "2836", "name": "BIOLOGICAL PRODUCTS, (NO DISGNOSTIC SUBSTANCES)", "office": "Office of Life Sciences" }, { "code": "2840", "name": "SOAP, DETERGENTS, CLEANG PREPARATIONS, PERFUMES, COSMETICS", "office": "Industrial Applications and Services" }, { "code": "2842", "name": "SPECIALTY CLEANING, POLISHING AND SANITATION PREPARATIONS", "office": "Industrial Applications and Services" }, { "code": "2844", "name": "PERFUMES, COSMETICS & OTHER TOILET PREPARATIONS", "office": "Industrial Applications and Services" }, { "code": "2851", "name": "PAINTS, VARNISHES, LACQUERS, ENAMELS & ALLIED PRODS", "office": "Industrial Applications and Services" }, { "code": "2860", "name": "INDUSTRIAL ORGANIC CHEMICALS", "office": "Industrial Applications and Services" }, { "code": "2870", "name": "AGRICULTURAL CHEMICALS", "office": "Industrial Applications and Services" }, { "code": "2890", "name": "MISCELLANEOUS CHEMICAL PRODUCTS", "office": "Industrial Applications and Services" }, { "code": "2891", "name": "ADHESIVES & SEALANTS", "office": "Industrial Applications and Services" }, { "code": "2911", "name": "PETROLEUM REFINING", "office": "Office of Energy & Transportation" }, { "code": "2950", "name": "ASPHALT PAVING & ROOFING MATERIALS", "office": "Office of Energy & Transportation" }, { "code": "2990", "name": "MISCELLANEOUS PRODUCTS OF PETROLEUM & COAL", "office": "Office of Energy & Transportation" }, { "code": "3011", "name": "TIRES & INNER TUBES", "office": "Office of Manufacturing" }, { "code": "3021", "name": "RUBBER & PLASTICS FOOTWEAR", "office": "Office of Manufacturing" }, { "code": "3050", "name": "GASKETS, PACKG & SEALG DEVICES & RUBBER & PLASTICS HOSE", "office": "Office of Manufacturing" }, { "code": "3060", "name": "FABRICATED RUBBER PRODUCTS, NEC", "office": "Office of Manufacturing" }, { "code": "3080", "name": "MISCELLANEOUS PLASTICS PRODUCTS", "office": "Industrial Applications and Services" }, { "code": "3081", "name": "UNSUPPORTED PLASTICS FILM & SHEET", "office": "Industrial Applications and Services" }, { "code": "3086", "name": "PLASTICS FOAM PRODUCTS", "office": "Industrial Applications and Services" }, { "code": "3089", "name": "PLASTICS PRODUCTS, NEC", "office": "Industrial Applications and Services" }, { "code": "3100", "name": "LEATHER & LEATHER PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3140", "name": "FOOTWEAR, (NO RUBBER)", "office": "Office of Manufacturing" }, { "code": "3211", "name": "FLAT GLASS", "office": "Office of Manufacturing" }, { "code": "3220", "name": "GLASS & GLASSWARE, PRESSED OR BLOWN", "office": "Office of Manufacturing" }, { "code": "3221", "name": "GLASS CONTAINERS", "office": "Office of Manufacturing" }, { "code": "3231", "name": "GLASS PRODUCTS, MADE OF PURCHASED GLASS", "office": "Office of Manufacturing" }, { "code": "3241", "name": "CEMENT, HYDRAULIC", "office": "Office of Manufacturing" }, { "code": "3250", "name": "STRUCTURAL CLAY PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3260", "name": "POTTERY & RELATED PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3270", "name": "CONCRETE, GYPSUM & PLASTER PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3272", "name": "CONCRETE PRODUCTS, EXCEPT BLOCK & BRICK", "office": "Office of Manufacturing" }, { "code": "3281", "name": "CUT STONE & STONE PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3290", "name": "ABRASIVE, ASBESTOS & MISC NONMETALLIC MINERAL PRODS", "office": "Office of Manufacturing" }, { "code": "3310", "name": "STEEL WORKS, BLAST FURNACES & ROLLING & FINISHING MILLS", "office": "Office of Manufacturing" }, { "code": "3312", "name": "STEEL WORKS, BLAST FURNACES & ROLLING MILLS (COKE OVENS)", "office": "Office of Manufacturing" }, { "code": "3317", "name": "STEEL PIPE & TUBES", "office": "Office of Manufacturing" }, { "code": "3320", "name": "IRON & STEEL FOUNDRIES", "office": "Office of Manufacturing" }, { "code": "3330", "name": "PRIMARY SMELTING & REFINING OF NONFERROUS METALS", "office": "Office of Manufacturing" }, { "code": "3334", "name": "PRIMARY PRODUCTION OF ALUMINUM", "office": "Office of Manufacturing" }, { "code": "3341", "name": "SECONDARY SMELTING & REFINING OF NONFERROUS METALS", "office": "Office of Manufacturing" }, { "code": "3350", "name": "ROLLING DRAWING & EXTRUDING OF NONFERROUS METALS", "office": "Office of Manufacturing" }, { "code": "3357", "name": "DRAWING & INSULATING OF NONFERROUS WIRE", "office": "Office of Manufacturing" }, { "code": "3360", "name": "NONFERROUS FOUNDRIES (CASTINGS)", "office": "Office of Manufacturing" }, { "code": "3390", "name": "MISCELLANEOUS PRIMARY METAL PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3411", "name": "METAL CANS", "office": "Office of Manufacturing" }, { "code": "3412", "name": "METAL SHIPPING BARRELS, DRUMS, KEGS & PAILS", "office": "Office of Manufacturing" }, { "code": "3420", "name": "CUTLERY, HANDTOOLS & GENERAL HARDWARE", "office": "Office of Manufacturing" }, { "code": "3430", "name": "HEATING EQUIP, EXCEPT ELEC & WARM AIR; & PLUMBING FIXTURES", "office": "Office of Manufacturing" }, { "code": "3433", "name": "HEATING EQUIPMENT, EXCEPT ELECTRIC & WARM AIR FURNACES", "office": "Office of Manufacturing" }, { "code": "3440", "name": "FABRICATED STRUCTURAL METAL PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3442", "name": "METAL DOORS, SASH, FRAMES, MOLDINGS & TRIM", "office": "Office of Manufacturing" }, { "code": "3443", "name": "FABRICATED PLATE WORK (BOILER SHOPS)", "office": "Office of Manufacturing" }, { "code": "3444", "name": "SHEET METAL WORK", "office": "Office of Manufacturing" }, { "code": "3448", "name": "PREFABRICATED METAL BUILDINGS & COMPONENTS", "office": "Office of Manufacturing" }, { "code": "3451", "name": "SCREW MACHINE PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3452", "name": "BOLTS, NUTS, SCREWS, RIVETS & WASHERS", "office": "Office of Manufacturing" }, { "code": "3460", "name": "METAL FORGINGS & STAMPINGS", "office": "Office of Manufacturing" }, { "code": "3470", "name": "COATING, ENGRAVING & ALLIED SERVICES", "office": "Office of Manufacturing" }, { "code": "3480", "name": "ORDNANCE & ACCESSORIES, (NO VEHICLES/GUIDED MISSILES)", "office": "Office of Manufacturing" }, { "code": "3490", "name": "MISCELLANEOUS FABRICATED METAL PRODUCTS", "office": "Office of Manufacturing" }, { "code": "3510", "name": "ENGINES & TURBINES", "office": "Office of Technology" }, { "code": "3523", "name": "FARM MACHINERY & EQUIPMENT", "office": "Office of Technology" }, { "code": "3524", "name": "LAWN & GARDEN TRACTORS & HOME LAWN & GARDENS EQUIP", "office": "Office of Technology" }, { "code": "3531", "name": "CONSTRUCTION MACHINERY & EQUIP", "office": "Office of Technology" }, { "code": "3532", "name": "MINING MACHINERY & EQUIP (NO OIL & GAS FIELD MACH & EQUIP)", "office": "Office of Technology" }, { "code": "3533", "name": "OIL & GAS FIELD MACHINERY & EQUIPMENT", "office": "Office of Energy & Transportation" }, { "code": "3537", "name": "INDUSTRIAL TRUCKS, TRACTORS, TRAILORS & STACKERS", "office": "Office of Technology" }, { "code": "3540", "name": "METALWORKG MACHINERY & EQUIPMENT", "office": "Office of Technology" }, { "code": "3541", "name": "MACHINE TOOLS, METAL CUTTING TYPES", "office": "Office of Technology" }, { "code": "3550", "name": "SPECIAL INDUSTRY MACHINERY (NO METALWORKING MACHINERY)", "office": "Office of Technology" }, { "code": "3555", "name": "PRINTING TRADES MACHINERY & EQUIPMENT", "office": "Office of Technology" }, { "code": "3559", "name": "SPECIAL INDUSTRY MACHINERY, NEC", "office": "Office of Technology" }, { "code": "3560", "name": "GENERAL INDUSTRIAL MACHINERY & EQUIPMENT", "office": "Office of Technology" }, { "code": "3561", "name": "PUMPS & PUMPING EQUIPMENT", "office": "Office of Technology" }, { "code": "3562", "name": "BALL & ROLLER BEARINGS", "office": "Office of Technology" }, { "code": "3567", "name": "INDUSTRIAL PROCESS FURNACES & OVENS", "office": "Office of Technology" }, { "code": "3569", "name": "GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC", "office": "Office of Technology" }, { "code": "3570", "name": "COMPUTER & OFFICE EQUIPMENT", "office": "Office of Technology" }, { "code": "3571", "name": "ELECTRONIC COMPUTERS", "office": "Office of Technology" }, { "code": "3572", "name": "COMPUTER STORAGE DEVICES", "office": "Office of Technology" }, { "code": "3575", "name": "COMPUTER TERMINALS", "office": "Office of Technology" }, { "code": "3576", "name": "COMPUTER COMMUNICATIONS EQUIPMENT", "office": "Office of Technology" }, { "code": "3577", "name": "COMPUTER PERIPHERAL EQUIPMENT, NEC", "office": "Office of Technology" }, { "code": "3579", "name": "OFFICE MACHINES, NEC", "office": "Office of Technology" }, { "code": "3580", "name": "REFRIGERATION & SERVICE INDUSTRY MACHINERY", "office": "Office of Technology" }, { "code": "3585", "name": "AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL REFRIG EQUIP", "office": "Office of Technology" }, { "code": "3590", "name": "MISC INDUSTRIAL & COMMERCIAL MACHINERY & EQUIPMENT", "office": "Office of Technology" }, { "code": "3612", "name": "POWER, DISTRIBUTION & SPECIALTY TRANSFORMERS", "office": "Office of Manufacturing" }, { "code": "3613", "name": "SWITCHGEAR & SWITCHBOARD APPARATUS", "office": "Office of Manufacturing" }, { "code": "3620", "name": "ELECTRICAL INDUSTRIAL APPARATUS", "office": "Office of Manufacturing" }, { "code": "3621", "name": "MOTORS & GENERATORS", "office": "Office of Manufacturing" }, { "code": "3630", "name": "HOUSEHOLD APPLIANCES", "office": "Office of Manufacturing" }, { "code": "3634", "name": "ELECTRIC HOUSEWARES & FANS", "office": "Office of Manufacturing" }, { "code": "3640", "name": "ELECTRIC LIGHTING & WIRING EQUIPMENT", "office": "Office of Manufacturing" }, { "code": "3651", "name": "HOUSEHOLD AUDIO & VIDEO EQUIPMENT", "office": "Office of Manufacturing" }, { "code": "3652", "name": "PHONOGRAPH RECORDS & PRERECORDED AUDIO TAPES & DISKS", "office": "Office of Manufacturing" }, { "code": "3661", "name": "TELEPHONE & TELEGRAPH APPARATUS", "office": "Office of Manufacturing" }, { "code": "3663", "name": "RADIO & TV BROADCASTING & COMMUNICATIONS EQUIPMENT", "office": "Office of Manufacturing" }, { "code": "3669", "name": "COMMUNICATIONS EQUIPMENT, NEC", "office": "Office of Manufacturing" }, { "code": "3670", "name": "ELECTRONIC COMPONENTS & ACCESSORIES", "office": "Office of Manufacturing" }, { "code": "3672", "name": "PRINTED CIRCUIT BOARDS", "office": "Office of Manufacturing" }, { "code": "3674", "name": "SEMICONDUCTORS & RELATED DEVICES", "office": "Office of Manufacturing" }, { "code": "3677", "name": "ELECTRONIC COILS, TRANSFORMERS & OTHER INDUCTORS", "office": "Office of Manufacturing" }, { "code": "3678", "name": "ELECTRONIC CONNECTORS", "office": "Office of Manufacturing" }, { "code": "3679", "name": "ELECTRONIC COMPONENTS, NEC", "office": "Office of Manufacturing" }, { "code": "3690", "name": "MISCELLANEOUS ELECTRICAL MACHINERY, EQUIPMENT & SUPPLIES", "office": "Office of Manufacturing" }, { "code": "3695", "name": "MAGNETIC & OPTICAL RECORDING MEDIA", "office": "Office of Manufacturing" }, { "code": "3711", "name": "MOTOR VEHICLES & PASSENGER CAR BODIES", "office": "Office of Manufacturing" }, { "code": "3713", "name": "TRUCK & BUS BODIES", "office": "Office of Manufacturing" }, { "code": "3714", "name": "MOTOR VEHICLE PARTS & ACCESSORIES", "office": "Office of Manufacturing" }, { "code": "3715", "name": "TRUCK TRAILERS", "office": "Office of Manufacturing" }, { "code": "3716", "name": "MOTOR HOMES", "office": "Office of Manufacturing" }, { "code": "3720", "name": "AIRCRAFT & PARTS", "office": "Office of Manufacturing" }, { "code": "3721", "name": "AIRCRAFT", "office": "Office of Manufacturing" }, { "code": "3724", "name": "AIRCRAFT ENGINES & ENGINE PARTS", "office": "Office of Manufacturing" }, { "code": "3728", "name": "AIRCRAFT PARTS & AUXILIARY EQUIPMENT, NEC", "office": "Office of Manufacturing" }, { "code": "3730", "name": "SHIP & BOAT BUILDING & REPAIRING", "office": "Office of Manufacturing" }, { "code": "3743", "name": "RAILROAD EQUIPMENT", "office": "Office of Manufacturing" }, { "code": "3751", "name": "MOTORCYCLES, BICYCLES & PARTS", "office": "Office of Manufacturing" }, { "code": "3760", "name": "GUIDED MISSILES & SPACE VEHICLES & PARTS", "office": "Office of Manufacturing" }, { "code": "3790", "name": "MISCELLANEOUS TRANSPORTATION EQUIPMENT", "office": "Office of Manufacturing" }, { "code": "3812", "name": "SEARCH, DETECTION, NAVAGATION, GUIDANCE, AERONAUTICAL SYS", "office": "Office of Manufacturing" }, { "code": "3821", "name": "LABORATORY APPARATUS & FURNITURE", "office": "Industrial Applications and Services" }, { "code": "3824", "name": "TOTALIZING FLUID METERS & COUNTING DEVICES", "office": "Industrial Applications and Services" }, { "code": "3825", "name": "INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS", "office": "Industrial Applications and Services" }, { "code": "3826", "name": "LABORATORY ANALYTICAL INSTRUMENTS", "office": "Industrial Applications and Services" }, { "code": "3827", "name": "OPTICAL INSTRUMENTS & LENSES", "office": "Industrial Applications and Services" }, { "code": "3829", "name": "MEASURING & CONTROLLING DEVICES, NEC", "office": "Industrial Applications and Services" }, { "code": "3841", "name": "SURGICAL & MEDICAL INSTRUMENTS & APPARATUS", "office": "Industrial Applications and Services" }, { "code": "3842", "name": "ORTHOPEDIC, PROSTHETIC & SURGICAL APPLIANCES & SUPPLIES", "office": "Industrial Applications and Services" }, { "code": "3843", "name": "DENTAL EQUIPMENT & SUPPLIES", "office": "Industrial Applications and Services" }, { "code": "3844", "name": "X-RAY APPARATUS & TUBES & RELATED IRRADIATION APPARATUS", "office": "Industrial Applications and Services" }, { "code": "3845", "name": "ELECTROMEDICAL & ELECTROTHERAPEUTIC APPARATUS", "office": "Industrial Applications and Services" }, { "code": "3851", "name": "OPHTHALMIC GOODS", "office": "Industrial Applications and Services" }, { "code": "3861", "name": "PHOTOGRAPHIC EQUIPMENT & SUPPLIES", "office": "Industrial Applications and Services" }, { "code": "3873", "name": "WATCHES, CLOCKS, CLOCKWORK OPERATED DEVICES/PARTS", "office": "Industrial Applications and Services" }, { "code": "3910", "name": "JEWELRY, SILVERWARE & PLATED WARE", "office": "Office of Manufacturing" }, { "code": "3911", "name": "JEWELRY, PRECIOUS METAL", "office": "Office of Manufacturing" }, { "code": "3931", "name": "MUSICAL INSTRUMENTS", "office": "Office of Manufacturing" }, { "code": "3942", "name": "DOLLS & STUFFED TOYS", "office": "Office of Manufacturing" }, { "code": "3944", "name": "GAMES, TOYS & CHILDREN'S VEHICLES (NO DOLLS & BICYCLES)", "office": "Office of Manufacturing" }, { "code": "3949", "name": "SPORTING & ATHLETIC GOODS, NEC", "office": "Office of Manufacturing" }, { "code": "3950", "name": "PENS, PENCILS & OTHER ARTISTS' MATERIALS", "office": "Office of Manufacturing" }, { "code": "3960", "name": "COSTUME JEWELRY & NOVELTIES", "office": "Office of Manufacturing" }, { "code": "3990", "name": "MISCELLANEOUS MANUFACTURING INDUSTRIES", "office": "Office of Manufacturing" }, { "code": "4011", "name": "RAILROADS, LINE-HAUL OPERATING", "office": "Office of Energy & Transportation" }, { "code": "4013", "name": "RAILROAD SWITCHING & TERMINAL ESTABLISHMENTS", "office": "Office of Energy & Transportation" }, { "code": "4210", "name": "TRUCKING & COURIER SERVICES (NO AIR)", "office": "Office of Energy & Transportation" }, { "code": "4213", "name": "TRUCKING (NO LOCAL)", "office": "Office of Energy & Transportation" }, { "code": "4220", "name": "PUBLIC WAREHOUSING & STORAGE", "office": "Office of Energy & Transportation" }, { "code": "4400", "name": "WATER TRANSPORTATION", "office": "Office of Energy & Transportation" }, { "code": "4412", "name": "DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT", "office": "Office of Energy & Transportation" }, { "code": "4512", "name": "AIR TRANSPORTATION, SCHEDULED", "office": "Office of Energy & Transportation" }, { "code": "4513", "name": "AIR COURIER SERVICES", "office": "Office of Energy & Transportation" }, { "code": "4522", "name": "AIR TRANSPORTATION, NONSCHEDULED", "office": "Office of Energy & Transportation" }, { "code": "4581", "name": "AIRPORTS, FLYING FIELDS & AIRPORT TERMINAL SERVICES", "office": "Office of Energy & Transportation" }, { "code": "4610", "name": "PIPE LINES (NO NATURAL GAS)", "office": "Office of Energy & Transportation" }, { "code": "4700", "name": "TRANSPORTATION SERVICES", "office": "Office of Energy & Transportation" }, { "code": "4731", "name": "ARRANGEMENT OF TRANSPORTATION OF FREIGHT & CARGO", "office": "Office of Energy & Transportation" }, { "code": "4812", "name": "RADIOTELEPHONE COMMUNICATIONS", "office": "Office of Technology" }, { "code": "4813", "name": "TELEPHONE COMMUNICATIONS (NO RADIOTELEPHONE)", "office": "Office of Technology" }, { "code": "4822", "name": "TELEGRAPH & OTHER MESSAGE COMMUNICATIONS", "office": "Office of Technology" }, { "code": "4832", "name": "RADIO BROADCASTING STATIONS", "office": "Office of Technology" }, { "code": "4833", "name": "TELEVISION BROADCASTING STATIONS", "office": "Office of Technology" }, { "code": "4841", "name": "CABLE & OTHER PAY TELEVISION SERVICES", "office": "Office of Technology" }, { "code": "4899", "name": "COMMUNICATIONS SERVICES, NEC", "office": "Office of Technology" }, { "code": "4900", "name": "ELECTRIC, GAS & SANITARY SERVICES", "office": "Office of Energy & Transportation" }, { "code": "4911", "name": "ELECTRIC SERVICES", "office": "Office of Energy & Transportation" }, { "code": "4922", "name": "NATURAL GAS TRANSMISSION", "office": "Office of Energy & Transportation" }, { "code": "4923", "name": "NATURAL GAS TRANSMISISON & DISTRIBUTION", "office": "Office of Energy & Transportation" }, { "code": "4924", "name": "NATURAL GAS DISTRIBUTION", "office": "Office of Energy & Transportation" }, { "code": "4931", "name": "ELECTRIC & OTHER SERVICES COMBINED", "office": "Office of Energy & Transportation" }, { "code": "4932", "name": "GAS & OTHER SERVICES COMBINED", "office": "Office of Energy & Transportation" }, { "code": "4941", "name": "WATER SUPPLY", "office": "Office of Energy & Transportation" }, { "code": "4950", "name": "SANITARY SERVICES", "office": "Office of Energy & Transportation" }, { "code": "4953", "name": "REFUSE SYSTEMS", "office": "Office of Energy & Transportation" }, { "code": "4955", "name": "HAZARDOUS WASTE MANAGEMENT", "office": "Office of Energy & Transportation" }, { "code": "4961", "name": "STEAM & AIR-CONDITIONING SUPPLY", "office": "Office of Energy & Transportation" }, { "code": "4991", "name": "COGENERATION SERVICES & SMALL POWER PRODUCERS", "office": "Office of Energy & Transportation" }, { "code": "5000", "name": "WHOLESALE-DURABLE GOODS", "office": "Office of Trade & Services" }, { "code": "5010", "name": "WHOLESALE-MOTOR VEHICLES & MOTOR VEHICLE PARTS & SUPPLIES", "office": "Office of Trade & Services" }, { "code": "5013", "name": "WHOLESALE-MOTOR VEHICLE SUPPLIES & NEW PARTS", "office": "Office of Trade & Services" }, { "code": "5020", "name": "WHOLESALE-FURNITURE & HOME FURNISHINGS", "office": "Office of Trade & Services" }, { "code": "5030", "name": "WHOLESALE-LUMBER & OTHER CONSTRUCTION MATERIALS", "office": "Office of Trade & Services" }, { "code": "5031", "name": "WHOLESALE-LUMBER, PLYWOOD, MILLWORK & WOOD PANELS", "office": "Office of Trade & Services" }, { "code": "5040", "name": "WHOLESALE-PROFESSIONAL & COMMERCIAL EQUIPMENT & SUPPLIES", "office": "Office of Trade & Services" }, { "code": "5045", "name": "WHOLESALE-COMPUTERS & PERIPHERAL EQUIPMENT & SOFTWARE", "office": "Office of Trade & Services" }, { "code": "5047", "name": "WHOLESALE-MEDICAL, DENTAL & HOSPITAL EQUIPMENT & SUPPLIES", "office": "Office of Trade & Services" }, { "code": "5050", "name": "WHOLESALE-METALS & MINERALS (NO PETROLEUM)", "office": "Office of Trade & Services" }, { "code": "5051", "name": "WHOLESALE-METALS SERVICE CENTERS & OFFICES", "office": "Office of Trade & Services" }, { "code": "5064", "name": "WHOLESALE-ELECTRICAL APPLIANCES, TV & RADIO SETS", "office": "Office of Trade & Services" }, { "code": "5065", "name": "WHOLESALE-ELECTRONIC PARTS & EQUIPMENT, NEC", "office": "Office of Trade & Services" }, { "code": "5072", "name": "WHOLESALE-HARDWARE", "office": "Office of Trade & Services" }, { "code": "5080", "name": "WHOLESALE-MACHINERY, EQUIPMENT & SUPPLIES", "office": "Office of Trade & Services" }, { "code": "5084", "name": "WHOLESALE-INDUSTRIAL MACHINERY & EQUIPMENT", "office": "Office of Trade & Services" }, { "code": "5090", "name": "WHOLESALE-MISC DURABLE GOODS", "office": "Office of Trade & Services" }, { "code": "5094", "name": "WHOLESALE-JEWELRY, WATCHES, PRECIOUS STONES & METALS", "office": "Office of Trade & Services" }, { "code": "5099", "name": "WHOLESALE-DURABLE GOODS, NEC", "office": "Office of Trade & Services" }, { "code": "5110", "name": "WHOLESALE-PAPER & PAPER PRODUCTS", "office": "Office of Trade & Services" }, { "code": "5122", "name": "WHOLESALE-DRUGS, PROPRIETARIES & DRUGGISTS' SUNDRIES", "office": "Office of Trade & Services" }, { "code": "5130", "name": "WHOLESALE-APPAREL, PIECE GOODS & NOTIONS", "office": "Office of Trade & Services" }, { "code": "5140", "name": "WHOLESALE-GROCERIES & RELATED PRODUCTS", "office": "Office of Trade & Services" }, { "code": "5141", "name": "WHOLESALE-GROCERIES, GENERAL LINE", "office": "Office of Trade & Services" }, { "code": "5150", "name": "WHOLESALE-FARM PRODUCT RAW MATERIALS", "office": "Office of Trade & Services" }, { "code": "5160", "name": "WHOLESALE-CHEMICALS & ALLIED PRODUCTS", "office": "Office of Trade & Services" }, { "code": "5171", "name": "WHOLESALE-PETROLEUM BULK STATIONS & TERMINALS", "office": "Office of Trade & Services" }, { "code": "5180", "name": "WHOLESALE-BEER, WINE & DISTILLED ALCOHOLIC BEVERAGES", "office": "Office of Trade & Services" }, { "code": "5190", "name": "WHOLESALE-MISCELLANEOUS NONDURABLE GOODS", "office": "Office of Trade & Services" }, { "code": "5200", "name": "RETAIL-BUILDING MATERIALS, HARDWARE, GARDEN SUPPLY", "office": "Office of Trade & Services" }, { "code": "5211", "name": "RETAIL-LUMBER & OTHER BUILDING MATERIALS DEALERS", "office": "Office of Trade & Services" }, { "code": "5271", "name": "RETAIL-MOBILE HOME DEALERS", "office": "Office of Trade & Services" }, { "code": "5311", "name": "RETAIL-DEPARTMENT STORES", "office": "Office of Trade & Services" }, { "code": "5331", "name": "RETAIL-VARIETY STORES", "office": "Office of Trade & Services" }, { "code": "5399", "name": "RETAIL-MISC GENERAL MERCHANDISE STORES", "office": "Office of Trade & Services" }, { "code": "5400", "name": "RETAIL-FOOD STORES", "office": "Office of Trade & Services" }, { "code": "5411", "name": "RETAIL-GROCERY STORES", "office": "Office of Trade & Services" }, { "code": "5412", "name": "RETAIL-CONVENIENCE STORES", "office": "Office of Trade & Services" }, { "code": "5500", "name": "RETAIL-AUTO DEALERS & GASOLINE STATIONS", "office": "Office of Trade & Services" }, { "code": "5531", "name": "RETAIL-AUTO & HOME SUPPLY STORES", "office": "Office of Trade & Services" }, { "code": "5600", "name": "RETAIL-APPAREL & ACCESSORY STORES", "office": "Office of Trade & Services" }, { "code": "5621", "name": "RETAIL-WOMEN'S CLOTHING STORES", "office": "Office of Trade & Services" }, { "code": "5651", "name": "RETAIL-FAMILY CLOTHING STORES", "office": "Office of Trade & Services" }, { "code": "5661", "name": "RETAIL-SHOE STORES", "office": "Office of Trade & Services" }, { "code": "5700", "name": "RETAIL-HOME FURNITURE, FURNISHINGS & EQUIPMENT STORES", "office": "Office of Trade & Services" }, { "code": "5712", "name": "RETAIL-FURNITURE STORES", "office": "Office of Trade & Services" }, { "code": "5731", "name": "RETAIL-RADIO, TV & CONSUMER ELECTRONICS STORES", "office": "Office of Trade & Services" }, { "code": "5734", "name": "RETAIL-COMPUTER & COMPUTER SOFTWARE STORES", "office": "Office of Trade & Services" }, { "code": "5735", "name": "RETAIL-RECORD & PRERECORDED TAPE STORES", "office": "Office of Trade & Services" }, { "code": "5810", "name": "RETAIL-EATING & DRINKING PLACES", "office": "Office of Trade & Services" }, { "code": "5812", "name": "RETAIL-EATING PLACES", "office": "Office of Trade & Services" }, { "code": "5900", "name": "RETAIL-MISCELLANEOUS RETAIL", "office": "Office of Trade & Services" }, { "code": "5912", "name": "RETAIL-DRUG STORES AND PROPRIETARY STORES", "office": "Office of Trade & Services" }, { "code": "5940", "name": "RETAIL-MISCELLANEOUS SHOPPING GOODS STORES", "office": "Office of Trade & Services" }, { "code": "5944", "name": "RETAIL-JEWELRY STORES", "office": "Office of Trade & Services" }, { "code": "5945", "name": "RETAIL-HOBBY, TOY & GAME SHOPS", "office": "Office of Trade & Services" }, { "code": "5960", "name": "RETAIL-NONSTORE RETAILERS", "office": "Office of Trade & Services" }, { "code": "5961", "name": "RETAIL-CATALOG & MAIL-ORDER HOUSES", "office": "Office of Trade & Services" }, { "code": "5990", "name": "RETAIL-RETAIL STORES, NEC", "office": "Office of Trade & Services" }, { "code": "6021", "name": "NATIONAL COMMERCIAL BANKS", "office": "Office of Finance" }, { "code": "6022", "name": "STATE COMMERCIAL BANKS", "office": "Office of Finance" }, { "code": "6029", "name": "COMMERCIAL BANKS, NEC", "office": "Office of Finance" }, { "code": "6035", "name": "SAVINGS INSTITUTION, FEDERALLY CHARTERED", "office": "Office of Finance" }, { "code": "6036", "name": "SAVINGS INSTITUTIONS, NOT FEDERALLY CHARTERED", "office": "Office of Finance" }, { "code": "6099", "name": "FUNCTIONS RELATED TO DEPOSITORY BANKING, NEC", "office": "Office of Finance" }, { "code": "6111", "name": "FEDERAL & FEDERALLY-SPONSORED CREDIT AGENCIES", "office": "Office of Finance" }, { "code": "6141", "name": "PERSONAL CREDIT INSTITUTIONS", "office": "Office of Finance" }, { "code": "6153", "name": "SHORT-TERM BUSINESS CREDIT INSTITUTIONS", "office": "Office of Finance" }, { "code": "6159", "name": "MISCELLANEOUS BUSINESS CREDIT INSTITUTION", "office": "Office of Finance" }, { "code": "6162", "name": "MORTGAGE BANKERS & LOAN CORRESPONDENTS", "office": "Office of Finance" }, { "code": "6163", "name": "LOAN BROKERS", "office": "Office of Finance" }, { "code": "6172", "name": "FINANCE LESSORS", "office": "Office of Finance" }, { "code": "6189", "name": "ASSET-BACKED SECURITIES", "office": "Office of Structured Finance" }, { "code": "6199", "name": "FINANCE SERVICES", "office": "Office of Finance or Office of Crypto Assets" }, { "code": "6211", "name": "SECURITY BROKERS, DEALERS & FLOTATION COMPANIES", "office": "Office of Finance or Office of Crypto Assets" }, { "code": "6221", "name": "COMMODITY CONTRACTS BROKERS & DEALERS", "office": "Office of Crypto Assets" }, { "code": "6282", "name": "INVESTMENT ADVICE", "office": "Office of Finance" }, { "code": "6311", "name": "LIFE INSURANCE", "office": "Office of Finance" }, { "code": "6321", "name": "ACCIDENT & HEALTH INSURANCE", "office": "Office of Finance" }, { "code": "6324", "name": "HOSPITAL & MEDICAL SERVICE PLANS", "office": "Office of Finance" }, { "code": "6331", "name": "FIRE, MARINE & CASUALTY INSURANCE", "office": "Office of Finance" }, { "code": "6351", "name": "SURETY INSURANCE", "office": "Office of Finance" }, { "code": "6361", "name": "TITLE INSURANCE", "office": "Office of Finance" }, { "code": "6399", "name": "INSURANCE CARRIERS, NEC", "office": "Office of Finance" }, { "code": "6411", "name": "INSURANCE AGENTS, BROKERS & SERVICE", "office": "Office of Finance" }, { "code": "6500", "name": "REAL ESTATE", "office": "Office of Real Estate & Construction" }, { "code": "6510", "name": "REAL ESTATE OPERATORS (NO DEVELOPERS) & LESSORS", "office": "Office of Real Estate & Construction" }, { "code": "6512", "name": "OPERATORS OF NONRESIDENTIAL BUILDINGS", "office": "Office of Real Estate & Construction" }, { "code": "6513", "name": "OPERATORS OF APARTMENT BUILDINGS", "office": "Office of Real Estate & Construction" }, { "code": "6519", "name": "LESSORS OF REAL PROPERTY, NEC", "office": "Office of Real Estate & Construction" }, { "code": "6531", "name": "REAL ESTATE AGENTS & MANAGERS (FOR OTHERS)", "office": "Office of Real Estate & Construction" }, { "code": "6532", "name": "REAL ESTATE DEALERS (FOR THEIR OWN ACCOUNT)", "office": "Office of Real Estate & Construction" }, { "code": "6552", "name": "LAND SUBDIVIDERS & DEVELOPERS (NO CEMETERIES)", "office": "Office of Real Estate & Construction" }, { "code": "6770", "name": "BLANK CHECKS", "office": "Office of Real Estate & Construction" }, { "code": "6792", "name": "OIL ROYALTY TRADERS", "office": "Office of Energy & Transportation" }, { "code": "6794", "name": "PATENT OWNERS & LESSORS", "office": "Office of Real Estate & Construction" }, { "code": "6795", "name": "MINERAL ROYALTY TRADERS", "office": "Office of Energy & Transportation" }, { "code": "6798", "name": "REAL ESTATE INVESTMENT TRUSTS", "office": "Office of Real Estate & Construction" }, { "code": "6799", "name": "INVESTORS, NEC", "office": "Office of Real Estate & Construction" }, { "code": "7000", "name": "HOTELS, ROOMING HOUSES, CAMPS & OTHER LODGING PLACES", "office": "Office of Real Estate & Construction" }, { "code": "7011", "name": "HOTELS & MOTELS", "office": "Office of Real Estate & Construction" }, { "code": "7200", "name": "SERVICES-PERSONAL SERVICES", "office": "Office of Trade & Services" }, { "code": "7310", "name": "SERVICES-ADVERTISING", "office": "Office of Trade & Services" }, { "code": "7311", "name": "SERVICES-ADVERTISING AGENCIES", "office": "Office of Trade & Services" }, { "code": "7320", "name": "SERVICES-CONSUMER CREDIT REPORTING, COLLECTION AGENCIES", "office": "Office of Trade & Services" }, { "code": "7331", "name": "SERVICES-DIRECT MAIL ADVERTISING SERVICES", "office": "Office of Trade & Services" }, { "code": "7340", "name": "SERVICES-TO DWELLINGS & OTHER BUILDINGS", "office": "Office of Trade & Services" }, { "code": "7350", "name": "SERVICES-MISCELLANEOUS EQUIPMENT RENTAL & LEASING", "office": "Office of Trade & Services" }, { "code": "7359", "name": "SERVICES-EQUIPMENT RENTAL & LEASING, NEC", "office": "Office of Trade & Services" }, { "code": "7361", "name": "SERVICES-EMPLOYMENT AGENCIES", "office": "Office of Trade & Services" }, { "code": "7363", "name": "SERVICES-HELP SUPPLY SERVICES", "office": "Office of Trade & Services" }, { "code": "7370", "name": "SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC.", "office": "Office of Technology" }, { "code": "7371", "name": "SERVICES-COMPUTER PROGRAMMING SERVICES", "office": "Office of Technology" }, { "code": "7372", "name": "SERVICES-PREPACKAGED SOFTWARE", "office": "Office of Technology" }, { "code": "7373", "name": "SERVICES-COMPUTER INTEGRATED SYSTEMS DESIGN", "office": "Office of Technology" }, { "code": "7374", "name": "SERVICES-COMPUTER PROCESSING & DATA PREPARATION", "office": "Office of Technology" }, { "code": "7377", "name": "SERVICES-COMPUTER RENTAL & LEASING", "office": "Office of Trade & Services" }, { "code": "7380", "name": "SERVICES-MISCELLANEOUS BUSINESS SERVICES", "office": "Office of Trade & Services" }, { "code": "7381", "name": "SERVICES-DETECTIVE, GUARD & ARMORED CAR SERVICES", "office": "Office of Trade & Services" }, { "code": "7384", "name": "SERVICES-PHOTOFINISHING LABORATORIES", "office": "Office of Trade & Services" }, { "code": "7385", "name": "SERVICES-TELEPHONE INTERCONNECT SYSTEMS", "office": "Office of Trade & Services" }, { "code": "7389", "name": "SERVICES-BUSINESS SERVICES, NEC", "office": "Office of Trade & Services or Office of Energy & Transportation" }, { "code": "7500", "name": "SERVICES-AUTOMOTIVE REPAIR, SERVICES & PARKING", "office": "Office of Trade & Services" }, { "code": "7510", "name": "SERVICES-AUTO RENTAL & LEASING (NO DRIVERS)", "office": "Office of Trade & Services" }, { "code": "7600", "name": "SERVICES-MISCELLANEOUS REPAIR SERVICES", "office": "Office of Trade & Services" }, { "code": "7812", "name": "SERVICES-MOTION PICTURE & VIDEO TAPE PRODUCTION", "office": "Office of Trade & Services" }, { "code": "7819", "name": "SERVICES-ALLIED TO MOTION PICTURE PRODUCTION", "office": "Office of Trade & Services" }, { "code": "7822", "name": "SERVICES-MOTION PICTURE & VIDEO TAPE DISTRIBUTION", "office": "Office of Trade & Services" }, { "code": "7829", "name": "SERVICES-ALLIED TO MOTION PICTURE DISTRIBUTION", "office": "Office of Trade & Services" }, { "code": "7830", "name": "SERVICES-MOTION PICTURE THEATERS", "office": "Office of Trade & Services" }, { "code": "7841", "name": "SERVICES-VIDEO TAPE RENTAL", "office": "Office of Trade & Services" }, { "code": "7900", "name": "SERVICES-AMUSEMENT & RECREATION SERVICES", "office": "Office of Trade & Services" }, { "code": "7948", "name": "SERVICES-RACING, INCLUDING TRACK OPERATION", "office": "Office of Trade & Services" }, { "code": "7990", "name": "SERVICES-MISCELLANEOUS AMUSEMENT & RECREATION", "office": "Office of Trade & Services" }, { "code": "7997", "name": "SERVICES-MEMBERSHIP SPORTS & RECREATION CLUBS", "office": "Office of Trade & Services" }, { "code": "8000", "name": "SERVICES-HEALTH SERVICES", "office": "Industrial Applications and Services" }, { "code": "8011", "name": "SERVICES-OFFICES & CLINICS OF DOCTORS OF MEDICINE", "office": "Industrial Applications and Services" }, { "code": "8050", "name": "SERVICES-NURSING & PERSONAL CARE FACILITIES", "office": "Industrial Applications and Services" }, { "code": "8051", "name": "SERVICES-SKILLED NURSING CARE FACILITIES", "office": "Industrial Applications and Services" }, { "code": "8060", "name": "SERVICES-HOSPITALS", "office": "Industrial Applications and Services" }, { "code": "8062", "name": "SERVICES-GENERAL MEDICAL & SURGICAL HOSPITALS, NEC", "office": "Industrial Applications and Services" }, { "code": "8071", "name": "SERVICES-MEDICAL LABORATORIES", "office": "Industrial Applications and Services" }, { "code": "8082", "name": "SERVICES-HOME HEALTH CARE SERVICES", "office": "Industrial Applications and Services" }, { "code": "8090", "name": "SERVICES-MISC HEALTH & ALLIED SERVICES, NEC", "office": "Industrial Applications and Services" }, { "code": "8093", "name": "SERVICES-SPECIALTY OUTPATIENT FACILITIES, NEC", "office": "Industrial Applications and Services" }, { "code": "8111", "name": "SERVICES-LEGAL SERVICES", "office": "Office of Trade & Services" }, { "code": "8200", "name": "SERVICES-EDUCATIONAL SERVICES", "office": "Office of Trade & Services" }, { "code": "8300", "name": "SERVICES-SOCIAL SERVICES", "office": "Industrial Applications and Services" }, { "code": "8351", "name": "SERVICES-CHILD DAY CARE SERVICES", "office": "Office of Trade & Services" }, { "code": "8600", "name": "SERVICES-MEMBERSHIP ORGANIZATIONS", "office": "Office of Trade & Services" }, { "code": "8700", "name": "SERVICES-ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT", "office": "Office of Trade & Services" }, { "code": "8711", "name": "SERVICES-ENGINEERING SERVICES", "office": "Office of Trade & Services" }, { "code": "8731", "name": "SERVICES-COMMERCIAL PHYSICAL & BIOLOGICAL RESEARCH", "office": "Industrial Applications and Services" }, { "code": "8734", "name": "SERVICES-TESTING LABORATORIES", "office": "Industrial Applications and Services" }, { "code": "8741", "name": "SERVICES-MANAGEMENT SERVICES", "office": "Office of Trade & Services" }, { "code": "8742", "name": "SERVICES-MANAGEMENT CONSULTING SERVICES", "office": "Office of Trade & Services" }, { "code": "8744", "name": "SERVICES-FACILITIES SUPPORT MANAGEMENT SERVICES", "office": "Office of Trade & Services" }, { "code": "8880", "name": "AMERICAN DEPOSITARY RECEIPTS", "office": "Office of International Corp Fin" }, { "code": "8888", "name": "FOREIGN GOVERNMENTS", "office": "Office of International Corp Fin" }, { "code": "8900", "name": "SERVICES-SERVICES, NEC", "office": "Office of Trade & Services" }, { "code": "9721", "name": "INTERNATIONAL AFFAIRS", "office": "Office of International Corp Fin" }, { "code": "9995", "name": "NON-OPERATING ESTABLISHMENTS", "office": "Office of Real Estate & Construction" } ] ``` ## Next steps Hide cold-hit latency from your users. Backoff strategies, client cache, and prefetch fallbacks. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Overview Source: https://docs.context.dev/guides/classification/overview Pick the right classification scheme for Context.dev's Classification APIs. Context.dev supports three industry taxonomies: * **EIC (Easy Industry Classification)** is Context.dev's own taxonomy, optimized for modern digital businesses (SaaS, fintech, creator economy, etc.). It is returned **inline** on the full Brand response under `industries.eic`. It is not included on the simplified Brand response, which only returns the core visual fields (domain, title, logos, colors, and backdrops). * **NAICS (North American Industry Classification System)** uses the 2022 NAICS taxonomy from the US Census Bureau. Available via a **dedicated endpoint**: [`GET /web/naics`](/api-reference/web-extraction/classify-naics-industries). Call it when you need NAICS codes for a domain or brand name. * **SIC (Standard Industrial Classification)** covers the 1987 SIC taxonomy and the SEC EDGAR SIC list. Available via a **dedicated endpoint**: [`GET /web/sic`](/api-reference/web-extraction/classify-sic-industries) with a `type` parameter to choose between the two datasets. EIC is generally a better fit for product categorization, segmentation, and routing. NAICS is the right choice for regulatory, compliance, or financial reporting systems. SIC remains useful for SEC filings, historical datasets, and any system that hasn't migrated to NAICS. EIC is included on every full Brand response with no extra call. NAICS and SIC are separate, opt-in endpoints with their own pricing: call them only when you specifically need those codes. ## Choosing between EIC, NAICS, and SIC | Use case | Recommended taxonomy | | ------------------------------------------------------ | ---------------------------------- | | Product segmentation, routing, marketing audiences | **EIC** (free with any Brand call) | | Modern digital business types (SaaS, fintech, creator) | **EIC** | | Regulatory or compliance reporting | **NAICS** | | Financial filings, government data integration | **NAICS** | | Matching SEC EDGAR filings or review offices | **SIC** (`type=latest_sec`) | | Historical datasets that pre-date NAICS (pre-1997) | **SIC** (`type=original_sic`) | | Aligning with existing CRM industry fields | Match what your CRM already uses | You can use any combination: hit a Brand endpoint to get EIC inline, and call `/web/naics` or `/web/sic` separately when a record needs those codes. ## Continue reading Context.dev's own taxonomy. 24 industries, 220 subindustries, returned inline on every full Brand response. The 2022 NAICS taxonomy. 1,012 six-digit codes, available through a dedicated endpoint. The 1987 SIC and SEC EDGAR SIC lists. 1,004 original codes plus 430 SEC codes tagged with review office. Full Brand response shape, including `industries.eic`. # Transaction Enrichment Source: https://docs.context.dev/guides/enrich-transaction-codes Turn raw card and bank statement descriptors into a structured company profile with logos, colors, industry codes, and socials using the Brand API. Context.dev's Transaction Enrichment API takes a raw card or ACH descriptor (e.g., `AMZN*MKTP US`) and returns: * `title` and `domain`: clean company name and domain * `logos`: SVG/PNG variants in light, dark, and on-background modes * `colors`: hex codes of colors from the merchant's logo * `industries.eic`: industry + subindustry classification * `stock`: ticker and exchange for publicly traded merchants * And more: `socials`, `address`, `links`, `description`, `slogan` Our database has 50M+ identified merchants. You can also find small and local merchants by passing `mcc`, `city`, `country_gl`, or `phone`. I'm integrating Context.dev's transaction lookup through `POST /brand/retrieve` into my app. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `client.brand.retrieve({ transaction_info, mcc?, country_gl?, city?, phone?, high_confidence_only? })`. The response is the standard `brand` envelope. 4. Always pass `mcc` (4-digit Merchant Category Code) and `country_gl` (ISO 3166-1 alpha-2) when I have them. They sharply disambiguate small merchants and regional variants. 5. Set `high_confidence_only: true` for spend analytics or compliance flows where a wrong match is worse than no match. 6. Treat HTTP 400 ("could not be identified") as a normal outcome. Fall back to a cleaned descriptor + MCC-based category icon, and cache misses for at least 24 hours. 7. Cache successful matches by a normalized merchant key (strip terminal IDs, ticket numbers, store numbers) so `STARBUCKS #12345` and `STARBUCKS #67890` share the same enrichment. Docs: [https://docs.context.dev/guides/enrich-transaction-codes](https://docs.context.dev/guides/enrich-transaction-codes) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Identify a transaction `POST /brand/retrieve` takes a raw descriptor in `transaction_info` and resolves it to a merchant brand. Pass MCC and geography hints when you have them: they collapse ambiguity sharply on small or regional merchants. ```bash cURL theme={null} curl https://api.context.dev/v1/brand/retrieve \ -X POST \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "transaction_info": "STARBUCKS STORE 12345", "mcc": "5814", "country_gl": "us" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ transaction_info: "STARBUCKS STORE 12345", mcc: "5814", country_gl: "us", }); console.log(response.brand.domain, response.brand.title); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve( transaction_info="STARBUCKS STORE 12345", mcc="5814", country_gl="us", ) print(response.brand.domain, response.brand.title) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( transaction_info: "STARBUCKS STORE 12345", mcc: "5814", country_gl: :us, ) puts "#{response.brand.domain} #{response.brand.title}" ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Retrieve(context.TODO(), contextdev.BrandRetrieveParams{ TransactionInfo: "STARBUCKS STORE 12345", Mcc: param.NewOpt("5814"), CountryGl: contextdev.BrandRetrieveParamsCountryGlUs, }) if err != nil { panic(err) } fmt.Printf("%s %s\n", response.Brand.Domain, response.Brand.Title) } ``` ```php PHP theme={null} brand->retrieve( transactionInfo: 'STARBUCKS STORE 12345', mcc: '5814', countryGl: 'us', ); echo $response->brand->domain, ' ', $response->brand->title, PHP_EOL; ``` 10 credits per successful call ### Request Parameters | Parameter | Type | Description | | ---------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `transaction_info` | string | **Required.** Raw transaction descriptor (e.g. `AMZN MKTP US*2X7Y8Z`, `SQ *COFFEE SHOP NYC`). | | `mcc` | string | 4-digit Merchant Category Code. The resolver maintains an MCC database with specific descriptions; otherwise it falls back to a general category based on the code range. Examples: `5411` grocery, `5814` fast food / takeout, `5812` restaurants, `5942` book stores, `4121` taxis & limousines. | | `country_gl` | string (ISO 3166-1 alpha-2, lowercase) | Country hint for geographic disambiguation. Examples: `us`, `gb`, `ca`, `au`. Every alpha-2 code is supported. | | `city` | string | City hint to prioritize local branches or regional brand variants. Free-form; standard names work best (e.g. `San Francisco`, `New York`). | | `phone` | number | Phone number from the transaction descriptor, when present, to help verify the brand match. | | `high_confidence_only` | boolean | When `true`, runs additional verification and returns 400 instead of a low-confidence match. Use for spend analytics, compliance, or expense flows. Defaults to `false`. | | `force_language` | string | Force the language of the retrieved brand data. | | `maxSpeed` | boolean | Skip time-consuming operations for a faster, less complete response. Defaults to `false`. | | `timeoutMS` | integer | Abort with a 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | ### Response ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "starbucks.com", "title": "Starbucks", "description": "Starbucks is a global coffee company that puts people at the heart of its business…", "slogan": "Inspiring and nurturing the human spirit — one person, one cup", "colors": [ { "hex": "#0bac66", "name": "Secret Garden" }, { "hex": "#7cd4b4", "name": "Seafoam Blue" } ], "logos": [ { "url": "https://media.brand.dev/67dc7846-2ca2-4a7b-9877-6bb5a5e2c0e0.png", "mode": "has_opaque_background", "type": "icon", "colors": [{ "hex": "#0bac66", "name": "Secret Garden" }], "resolution": { "width": 180, "height": 180, "aspect_ratio": 1 } } ], "socials": [ { "type": "x", "url": "https://x.com/starbucks" }, { "type": "facebook", "url": "https://facebook.com/starbucks" }, { "type": "instagram", "url": "https://instagram.com/starbucks" } ], "address": { "street": "2401 Utah Avenue South", "city": "Seattle", "state_province": "Washington", "state_code": "WA", "country": "United States", "country_code": "US", "postal_code": "98134" }, "stock": { "ticker": "SBUX", "exchange": "NASDAQ" }, "industries": { "eic": [ { "industry": "Retail & E-commerce", "subindustry": "Omnichannel & In-Store Retail" } ] }, "primary_language": "english", "is_nsfw": false } } ``` | Field | Type | Description | | ------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success. | | `code` | integer | HTTP status code, echoed for convenience. | | `brand.domain` | string | Canonical merchant domain. | | `brand.title` | string | Clean company name. | | `brand.description` | string | One-paragraph company description. | | `brand.slogan` | string | Marketing tagline, when available. | | `brand.colors[]` | array | Brand colors ordered by visual prominence. Each has `hex` and a human-readable `name`. | | `brand.logos[]` | array | Logo variants: `url`, `mode` (`light` / `dark` / `has_opaque_background`), `type` (`logo` / `icon`), `colors`, and `resolution.{width, height, aspect_ratio}`. | | `brand.socials[]` | array | Social profile URLs. `type` is one of `x`, `facebook`, `instagram`, `linkedin`, `youtube`, `tiktok`, `github`, and 20+ more. | | `brand.address` | object | HQ address: `street`, `city`, `state_province`, `state_code`, `country`, `country_code`, `postal_code`. | | `brand.stock` | object | `ticker` and `exchange` for publicly traded merchants. `null` for private companies. | | `brand.industries.eic[]` | array | EIC industry tags with `industry` and `subindustry`. For NAICS / SIC codes, call `/web/naics` or `/web/sic`. | | `brand.links` | object | Non-social URLs: `blog`, `pricing`, `careers`, `contact`, `privacy`, `terms`, `login`, `signup`. | | `brand.primary_language` | string | Detected language of the merchant's website (e.g. `english`, `spanish`). | | `brand.is_nsfw` | boolean | Safe-content flag. | ## Handle errors | Status | Meaning | What to do | | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | 400 | The descriptor couldn't be identified (no confident brand match), `high_confidence_only` blocked a low-confidence hit, or `transaction_info` is missing. | Fall back to a cleaned descriptor + an MCC-based category icon. Cache the miss for at least 24 hours so retries don't burn credits. | | 401 | Missing or invalid API key. | Re-check the env var and the dashboard. | | 429 | Rate limit. | Back off exponentially. | A fallback pattern that surfaces 400 as a "no match" outcome instead of an exception: ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); async function enrichOrFallback(transaction: { description: string; mcc?: string; country?: string; }) { try { const { brand } = await client.brand.retrieve({ transaction_info: transaction.description, mcc: transaction.mcc, country_gl: transaction.country, }); return brand; } catch (err: any) { if (err.status === 400) return null; // no confident match throw err; } } ``` ```python Python theme={null} import os from context.dev import ContextDev, APIError client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) def enrich_or_fallback(transaction): try: r = client.brand.retrieve( transaction_info=transaction["description"], mcc=transaction.get("mcc"), country_gl=transaction.get("country"), ) return r.brand except APIError as e: if e.status_code == 400: return None # no confident match raise ``` ```ruby Ruby theme={null} require "context_dev" def enrich_or_fallback(transaction) client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) r = client.brand.retrieve( transaction_info: transaction[:description], mcc: transaction[:mcc], country_gl: transaction[:country], ) r.brand rescue ContextDev::Errors::APIError => e return nil if e.status == 400 raise end ``` ```php PHP theme={null} brand->retrieve( transactionInfo: $transaction['description'], mcc: $transaction['mcc'] ?? null, countryGl: $transaction['country'] ?? null, ); return $response->brand; } catch (APIStatusException $e) { if ($e->status === 400) { return null; // no confident match } throw $e; } } ``` For the full error code catalog, see [Troubleshooting](/optimization/troubleshooting). ## Use cases * **Personal finance apps**: show actual company logos and clean names for every merchant and subscription. * **Reconcile employee expense reports automatically**: match messy expense entries to clean company names, logos, and categories. ## Next steps Hide cold-hit latency from your users. Backoff strategies, client cache, and prefetch fallbacks. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Extract Styleguides Source: https://docs.context.dev/guides/extract-design-system-from-website Pull colors, typography, spacing, shadows, and component styles from a single API call Context.dev's Styleguide API returns a website's full styleguide: * `mode`: `light` or `dark` * `colors`: `accent`, `background`, `text` (hex) * `typography`: detected headings (`h1`–`h4`) and `p` with `fontFamily`, `fontFallbacks`, `fontSize`, `fontWeight`, `lineHeight`, `letterSpacing` * `elementSpacing`: `xs`, `sm`, `md`, `lg`, `xl` * `shadows`: `sm`, `md`, `lg`, `xl`, `inner` * `components`: detected button variants (`primary`, `secondary`, `link`) and `card` with full computed CSS * `fontLinks`: Google or `@font-face` font files keyed by family, with downloadable URLs per weight A separate fonts-only endpoint returns the typography subset for a fraction of the cost. I'm integrating Context.dev's Design System API into my app. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `/web/styleguide` with either `domain` or `directUrl` (not both) to extract `mode`, `colors`, `typography`, `elementSpacing`, `shadows`, `components`, and `fontLinks`. Use `/web/fonts` instead when I only need the typography subset. 4. The methods live on `client.web.extractStyleguide` / `client.web.extractFonts` (snake\_case `extract_styleguide` / `extract_fonts` in Python and Ruby). 5. Map the response onto my theme: `styleguide.colors` to a palette, `typography.headings.h1.fontFallbacks` to a font stack, `elementSpacing` to a spacing ramp, `shadows` to elevation tokens, `fontLinks[].files` to `@font-face` URLs. 6. Wrap calls with retry logic for HTTP 408 (timeout) and 429 (rate limit) using exponential backoff. Docs: [https://docs.context.dev/guides/extract-design-system-from-website](https://docs.context.dev/guides/extract-design-system-from-website) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Extract the full styleguide `GET /web/styleguide` takes in a domain (or a webpage URL) and returns the website's full design system. ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/styleguide \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=vercel.com" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.extractStyleguide({ domain: "vercel.com" }); console.log(response.styleguide.colors); console.log(response.styleguide.typography.headings.h1.fontFamily); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.extract_styleguide(domain="vercel.com") print(response.styleguide.colors) print(response.styleguide.typography.headings.h1.font_family) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.extract_styleguide(domain: "vercel.com") puts response.styleguide.colors.to_h.inspect puts response.styleguide.typography.headings.h1.font_family ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.ExtractStyleguide(context.TODO(), contextdev.WebExtractStyleguideParams{ Domain: param.NewOpt("vercel.com"), }) if err != nil { panic(err) } fmt.Printf("%+v\n", response.Styleguide.Colors) fmt.Println(response.Styleguide.Typography.Headings.H1.FontFamily) } ``` ```php PHP theme={null} web->extractStyleguide(domain: 'vercel.com'); print_r($response->styleguide->colors); echo $response->styleguide->typography->headings->h1->fontFamily, PHP_EOL; ``` 10 credits per successful call ### Request Parameters Either `domain` or `directUrl` must be provided, but not both. | Parameter | Type | Description | | ----------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | `domain` | string | Domain to extract the styleguide from (e.g. `vercel.com`). | | `directUrl` | string | A specific URL to fetch the styleguide from directly, bypassing domain resolution (e.g. `https://stripe.com/pricing`). | | `maxAgeMs` | integer | Max cache age before a hard refresh. Defaults to `7776000000` (90 days). Clamped to `[86400000, 31536000000]` (1 day – 1 year). | | `timeoutMS` | integer (1000–300000) | Abort with a 408 if the request exceeds this many milliseconds. Max `300000` (5 min). | ### Response ```json expandable theme={null} { "status": "ok", "domain": "vercel.com", "code": 200, "styleguide": { "mode": "light", "colors": { "accent": "#000000", "background": "#fafafa", "text": "#171717" }, "typography": { "headings": { "h1": { "fontFamily": "Geist", "fontFallbacks": ["Geist", "Arial", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"], "fontSize": "35px", "fontWeight": 600, "lineHeight": "46.0687px", "letterSpacing": "-1.945px" } }, "p": { "fontFamily": "Geist", "fontFallbacks": ["Geist", "Arial", "system-ui", "-apple-system", "Segoe UI", "Roboto", "Helvetica Neue", "sans-serif"], "fontSize": "16px", "fontWeight": 400, "lineHeight": "24px", "letterSpacing": "0px" } }, "elementSpacing": { "xs": "2px", "sm": "6px", "md": "16px", "lg": "22px", "xl": "40px" }, "shadows": { "sm": "rgba(0, 0, 0, 0.08) 0px 0px 0px 1px, rgba(0, 0, 0, 0.04) 0px 2px 2px 0px, rgba(0, 0, 0, 0.04) 0px 8px 8px -8px", "md": "none", "lg": "none", "xl": "none", "inner": "none" }, "fontLinks": { "Geist": { "type": "google", "category": "sans-serif", "files": { "400": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RnOM4nZPby1QNtA.ttf", "500": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RruM4nZPby1QNtA.ttf", "600": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RQuQ4nZPby1QNtA.ttf", "700": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_Re-Q4nZPby1QNtA.ttf" } } }, "components": { "button": { "primary": { "backgroundColor": "#171717", "color": "#ffffff", "borderColor": "#ffffff", "borderRadius": "100px", "borderWidth": "0px", "borderStyle": "none", "padding": "13px 14px", "minWidth": "181px", "minHeight": "40px", "fontFamily": "Geist", "fontSize": "14px", "fontWeight": 500, "textDecoration": "none", "boxShadow": "none", "css": "background-color: #171717; color: #ffffff; border-radius: 100px; padding: 13px 14px; font-family: Geist; font-size: 14px; font-weight: 500;" } }, "card": { "backgroundColor": "#fafafa", "textColor": "#171717", "borderColor": "#e5e7eb", "borderRadius": "8px", "borderWidth": "1px", "borderStyle": "solid", "padding": "16px", "boxShadow": "none", "css": "background-color: #fafafa; color: #171717; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px;" } } } } ``` | Field | Type | Description | | -------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success. | | `domain` | string | Normalized domain that was processed. | | `code` | integer | HTTP status code. | | `styleguide.mode` | string | `"light"` or `"dark"`: the page's primary color mode. | | `styleguide.colors` | object | `accent`, `background`, `text`: all hex strings. | | `styleguide.typography.headings` | object | `h1`, `h2`, `h3`, `h4`: each has `fontFamily`, `fontFallbacks[]`, `fontSize`, `fontWeight`, `lineHeight`, `letterSpacing`. | | `styleguide.typography.p` | object | Body text: same shape as a heading entry. | | `styleguide.elementSpacing` | object | `xs`, `sm`, `md`, `lg`, `xl`: CSS length strings (typically `px`). | | `styleguide.shadows` | object | `sm`, `md`, `lg`, `xl`, `inner`: full `box-shadow` declarations. `"none"` when no shadow at that tier. | | `styleguide.fontLinks` | object | Keyed by font family name. Each entry has `type` (`google` or `custom`), `files` (weight → URL), optional `category` (Google only), optional `displayName` (custom only). Omitted when no family resolves to Google or `@font-face` URLs. | | `styleguide.components.button` | object | Three variants: `primary`, `secondary`, `link`. Each variant has: | | `styleguide.components.card` | object | | ## Extract just the fonts `GET /web/fonts` takes a domain (or a direct URL) and returns only the typography subset: every font family the site uses, with weights, fallbacks, usage counts, and downloadable file URLs. ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/fonts \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=vercel.com" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.extractFonts({ domain: "vercel.com" }); for (const f of response.fonts) { console.log(`${f.font}: ${f.percent_words.toFixed(1)}% of words`); } ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.extract_fonts(domain="vercel.com") for f in response.fonts: print(f"{f.font}: {f.percent_words:.1f}% of words") ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.extract_fonts(domain: "vercel.com") response.fonts.each do |f| puts "#{f.font}: #{f.percent_words.round(1)}% of words" end ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.ExtractFonts(context.TODO(), contextdev.WebExtractFontsParams{ Domain: param.NewOpt("vercel.com"), }) if err != nil { panic(err) } for _, f := range response.Fonts { fmt.Printf("%s: %.1f%% of words\n", f.Font, f.PercentWords) } } ``` ```php PHP theme={null} web->extractFonts(domain: 'vercel.com'); foreach ($response->fonts as $f) { echo $f->font, ': ', number_format($f->percentWords, 1), '% of words', PHP_EOL; } ``` 5 credits per successful call ### Request Parameters Either `domain` or `directUrl` must be provided, but not both. | Parameter | Type | Description | | ----------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | `domain` | string | Domain to extract fonts from (e.g. `vercel.com`). Normalized automatically. | | `directUrl` | string (URI) | A specific URL to fetch fonts from directly, bypassing domain resolution. | | `maxAgeMs` | integer | Max cache age before a hard refresh. Defaults to `7776000000` (90 days). Clamped to `[86400000, 31536000000]` (1 day – 1 year). | | `timeoutMS` | integer (1000–300000) | Abort with a 408 if the request exceeds this many milliseconds. Max `300000` (5 min). | ### Response ```json expandable theme={null} { "status": "ok", "domain": "vercel.com", "code": 200, "fonts": [ { "font": "Geist", "uses": ["body", "div", "header", "nav", "h1", "h2", "h3", "p", "button"], "fallbacks": ["Arial", "system-ui", "-apple-system", "Segoe UI", "Roboto", "sans-serif"], "num_elements": 534, "num_words": 9320, "percent_elements": 91, "percent_words": 99 }, { "font": "Geist Mono", "uses": ["code", "pre", "kbd"], "fallbacks": ["ui-monospace", "SFMono-Regular", "Menlo", "monospace"], "num_elements": 55, "num_words": 94, "percent_elements": 9, "percent_words": 1 } ], "fontLinks": { "Geist": { "type": "google", "category": "sans-serif", "files": { "400": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RnOM4nZPby1QNtA.ttf", "500": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RruM4nZPby1QNtA.ttf", "600": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_RQuQ4nZPby1QNtA.ttf", "700": "https://fonts.gstatic.com/s/geist/v4/gyBhhwUxId8gMGYQMKR3pzfaWI_Re-Q4nZPby1QNtA.ttf" } } } } ``` | Field | Type | Description | | -------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success. | | `domain` | string | Normalized domain that was processed. | | `code` | integer | HTTP status code. | | `fonts[]` | array | One entry per font family on the page, ordered by usage. | | `fonts[].font` | string | Primary face (first family in the computed stack). | | `fonts[].uses[]` | array | CSS selectors or element types where this font is used. | | `fonts[].fallbacks[]` | array | Fallback families from the computed stack. | | `fonts[].num_elements` | number | Element count using this font. | | `fonts[].num_words` | number | Word count rendered in this font. | | `fonts[].percent_elements` | number | Share of all elements using this font. | | `fonts[].percent_words` | number | Share of all words rendered in this font. | | `fontLinks` | object | Optional. Same shape as `styleguide.fontLinks`: keyed by family with `type`, `files`, optional `category` and `displayName`. Omitted when no family resolves to Google or `@font-face` URLs. | ## Handle errors A non-2xx response returns an `{ message, error_code, status }` envelope. The common ones: | Status | `error_code` | Meaning | What to do | | ------ | ------------------------ | ------------------------------------------------------------ | --------------------------------------------------------- | | 400 | `INPUT_VALIDATION_ERROR` | Missing both `domain` and `directUrl`, or both were supplied | Pass exactly one. | | 401 | `UNAUTHORIZED` | API key missing, invalid, or deleted | Re-check the env var and the dashboard. | | 408 | `REQUEST_TIMEOUT` | Page didn't render before `timeoutMS` (or 5 min default) | Retry once with backoff; the second hit usually succeeds. | | 500 | `INTERNAL_ERROR` | Transient server error | Retry once with backoff; if it persists, contact support. | A 400 from omitting both `domain` and `directUrl` looks like: ```json expandable theme={null} { "status": "error", "error_code": "INPUT_VALIDATION_ERROR", "message": [ { "code": "custom", "message": "Either directUrl or domain must be provided, but not both", "path": [] } ] } ``` For the full catalog of error codes, see [Troubleshooting](/optimization/troubleshooting). ## Use cases * [Build faster, brand-aware onboarding flows](/use-cases/faster-onboarding-flows) * [Build branded email templates from a website](/use-cases/custom-email-templates) * [Generate branded marketing assets at scale](/use-cases/branded-campaign-assets) ## Next steps Hide cold-hit latency from your users. Backoff strategies, client cache, and prefetch fallbacks. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Extract Product Source: https://docs.context.dev/guides/extract-product-from-websites Detect product pages and extract a normalized product record with name, price, billing frequency, pricing model, features, images, and SKU. Context.dev's Product API takes any product page URL (Amazon, TikTok Shop, or any SaaS/D2C website) and gives you a structured product record: * Name, description, category of the product * Pricing models, listed price and ISO currency code * List of features, the product's target audience, and more I'm integrating Context.dev's Product API into my app. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `POST /brand/ai/product` with a single `url` to extract one product. Always check that `is_product_page` is true **and** that `product` is non-null before reading product fields — non-product pages (blog posts, category grids, listing pages) return `is_product_page: false` and `product: null`. 4. Use `maxAgeMs` (body field, defaults to 7 days, max 30 days, `0` for fresh) when I want a cached result. Use `timeoutMS` (max 300000) to bound long-running calls. 5. Branch error handling on `error_code` from the response body. The common ones are `INPUT_VALIDATION_ERROR` (400), `WEBSITE_ACCESS_ERROR` (400, target unreachable or blocked), `UNAUTHORIZED` (401), `REQUEST_TIMEOUT` (408), and `INTERNAL_ERROR` (500). Docs: [https://docs.context.dev/guides/extract-product-from-websites](https://docs.context.dev/guides/extract-product-from-websites) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Extract a single product `POST /brand/ai/product` takes a single product URL and returns whether the page is a product page, the detected ecommerce platform, and the extracted product record. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/ai/product \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://www.allbirds.com/products/mens-wool-runners"}' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.ai.extractProduct({ url: "https://www.allbirds.com/products/mens-wool-runners", }); if (response.is_product_page && response.product) { console.log( response.product.name, response.product.price, response.product.currency, ); } else { console.log("Not a product page"); } ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.ai.extract_product( url="https://www.allbirds.com/products/mens-wool-runners", ) if response.is_product_page and response.product: print(response.product.name, response.product.price, response.product.currency) else: print("Not a product page") ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.ai.extract_product( url: "https://www.allbirds.com/products/mens-wool-runners", ) if response.is_product_page && response.product p = response.product puts "#{p.name} #{p.price} #{p.currency}" else puts "Not a product page" end ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.AI.ExtractProduct(context.TODO(), contextdev.AIExtractProductParams{ URL: "https://www.allbirds.com/products/mens-wool-runners", }) if err != nil { panic(err) } if response.IsProductPage && response.Product != nil { fmt.Println(response.Product.Name, response.Product.Price, response.Product.Currency) } else { fmt.Println("Not a product page") } } ``` ```php PHP theme={null} ai->extractProduct( url: 'https://www.allbirds.com/products/mens-wool-runners', ); if ($response->isProductPage && $response->product) { echo $response->product->name, ' ', $response->product->price, ' ', $response->product->currency, PHP_EOL; } else { echo 'Not a product page', PHP_EOL; } ``` 10 credits per successful call ### Request Parameters | Parameter | Type | Description | | ----------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | string (URI) | **Required.** The product page URL. | | `maxAgeMs` | integer (0-2592000000) | Return a cached result if one exists younger than this many milliseconds. Set to `0` to always scrape fresh. Max 30 days. Defaults to `604800000` (7d). | | `timeoutMS` | integer (1000-300000) | Abort with a 408 if the request exceeds this many milliseconds. Max `300000` (5 min). | ### Response ```json expandable theme={null} { "is_product_page": true, "platform": "generic", "product": { "name": "Men's Wool Runner - Natural Grey (Light Grey Sole)", "description": "The Allbirds Men's Wool Runner is a classic casual sneaker made from soft, responsibly-sourced Merino wool that is breathable, lightweight, and machine washable…", "price": 110, "currency": "USD", "billing_frequency": "one_time", "pricing_model": "flat", "url": "https://www.allbirds.com/products/mens-wool-runners", "category": "Footwear", "features": [ "Soft Merino wool upper", "Machine washable (remove insoles and laces)", "Sugarcane-based SweetFoam® midsole for support and cushioning", "Breathable and lightweight", "Responsibly sourced materials" ], "target_audience": ["Men"], "tags": ["wool", "sneaker", "men's shoes", "casual", "sustainable"], "image_url": "https://media.brand.dev/34f4b265-7198-4eaa-a4a3-e0b87f40de29.png", "images": [ "https://media.brand.dev/2177175e-aae3-4179-b59d-0df12fb1b59d.png", "https://media.brand.dev/04027441-7ec6-4928-94e5-5b74c21347b8.png", "https://media.brand.dev/f47cbb41-7c3b-4fa1-92c5-4764560dda3e.png" ], "sku": "MENS_WOOL_RUNNERS" } } ``` | Field | Type | Description | | --------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------- | | `is_product_page` | boolean | Whether the URL was recognized as a product detail page. | | `platform` | string \| null | One of `amazon`, `tiktok_shop`, `etsy`, `generic`. `null` when not a product page. | | `product` | object \| null | The extracted product record. `null` when not a product page or when extraction failed (e.g. bot protection). | | `product.name` | string | Product name. | | `product.description` | string | Product description. | | `product.price` | number \| null | Numeric price for the listed currency. `null` when no price is shown. | | `product.currency` | string \| null | ISO currency code (e.g. `USD`, `EUR`). | | `product.billing_frequency` | string \| null | One of `monthly`, `yearly`, `one_time`, `usage_based`. | | `product.pricing_model` | string \| null | One of `per_seat`, `flat`, `tiered`, `freemium`, `custom`. | | `product.url` | string \| null | Canonical product page URL. | | `product.category` | string \| null | Single category label. | | `product.features` | string\[] | Bulleted feature claims, one sentence each. | | `product.target_audience` | string\[] | Audience tags (e.g. `Men`, `Small teams`). | | `product.tags` | string\[] | Free-form tags. | | `product.image_url` | string \| null | Primary image URL (CDN-hosted). | | `product.images` | string\[] | Up to 7 product image URLs (CDN-hosted). | | `product.sku` | string \| null | Stock keeping unit. `null` for SaaS, services, and other non-inventoried offerings. | ## Handle errors A non-2xx response returns an `{ message, error_code }` envelope: | Status | `error_code` | Meaning | What to do | | ------ | ------------------------ | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | 400 | `INPUT_VALIDATION_ERROR` | Missing or malformed `url` | Validate input before the call. | | 400 | `WEBSITE_ACCESS_ERROR` | The target page was unreachable, blocked by a WAF, timed out during scraping, or served no usable content | Treat as "page cannot be extracted." Retry once; don't loop. | | 401 | `UNAUTHORIZED` | API key missing, invalid, or deleted | Re-check the env var and the dashboard. | | 408 | `REQUEST_TIMEOUT` | Page didn't finish extracting before `timeoutMS` (or 5 min default) | Retry once with backoff. | | 500 | `INTERNAL_ERROR` | Transient server error | Retry once with backoff; if it persists, contact support. | A 400 from omitting `url`: ```json expandable theme={null} { "error_code": "INPUT_VALIDATION_ERROR", "message": [ { "code": "invalid_type", "expected": "string", "received": "undefined", "path": ["url"], "message": "Required" } ] } ``` For the full catalog of error codes, see [Troubleshooting](/optimization/troubleshooting). ## Use cases * **Build a printable product catalog**: Use a website's sitemap to find all products, run `extract_product` on each page * **Procurement / ERP auto-fill**: when a buyer pastes a product URL into a procurement form, populate `sku`, `name`, `description`, `currency`, `price` and `features` automatically. ## Next steps Hide cold-hit latency from your users. Backoff strategies, client cache, and prefetch fallbacks. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Extract Structured Data Source: https://docs.context.dev/guides/extract-structured-data-from-websites Crawl any website and get typed data matching your JSON Schema. Use the Context.dev Extract API for lead enrichment, pricing, and hiring signals. Context.dev's Extract API takes a starting URL and a JSON Schema describing the data you want, crawls the most relevant pages on the site (following internal links and parsing PDFs along the way), and returns a typed response matching your schema. It's an alternative to an entire pipeline that scrapes multiple pages into markdown and runs an LLM over it. I'm integrating Context.dev's Extract API (`POST /web/extract`) into my app to extract structured data from websites. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `client.web.extract({ url, schema })` with a starting URL and a JSON Schema describing the data I want back. If my project already has a schema library, generate the JSON Schema from it (Zod's `z.toJSONSchema()` in TypeScript, Pydantic's `model_json_schema()` in Python) and add `description`s to fields to tell the model what to look for. 4. Optionally pass `instructions` to steer the crawl, `maxPages` (1–50, default 5) and `maxDepth` to bound it, `factCheck: true` to forbid inferred values, and `timeoutMS` (1000–300000) to bound the request. 5. Read the result from `response.data` (it matches my schema) and the crawled pages from `response.urls_analyzed`. Validate `data` on the way out with the same schema I sent. Docs: [https://docs.context.dev/guides/extract-structured-data-from-websites](https://docs.context.dev/guides/extract-structured-data-from-websites) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Extract data You describe the result you want as one JSON Schema. Property names become the keys of the response's `data` object, and each property's `description` tells the model what to look for: ```bash cURL highlight={6-16} theme={null} curl -X POST https://api.context.dev/v1/web/extract \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://stripe.com", "schema": { "type": "object", "properties": { "founded_year": { "type": "number", "description": "The year the company was founded." } }, "required": ["founded_year"], "additionalProperties": false } }' ``` ```typescript TypeScript highlight={7-17} theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.extract({ url: "https://stripe.com", schema: { type: "object", properties: { founded_year: { type: "number", description: "The year the company was founded.", }, }, required: ["founded_year"], additionalProperties: false, }, }); console.log(response.data); ``` ```python Python highlight={8-18} theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.extract( url="https://stripe.com", schema={ "type": "object", "properties": { "founded_year": { "type": "number", "description": "The year the company was founded.", } }, "required": ["founded_year"], "additionalProperties": False, }, ) print(response.data) ``` ```ruby Ruby highlight={7-17} theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.extract( url: "https://stripe.com", schema: { type: "object", properties: { founded_year: { type: "number", description: "The year the company was founded.", }, }, required: ["founded_year"], additionalProperties: false, }, ) puts response.data ``` ```go Go highlight={19-29} theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.Extract(context.TODO(), contextdev.WebExtractParams{ URL: "https://stripe.com", Schema: map[string]any{ "type": "object", "properties": map[string]any{ "founded_year": map[string]any{ "type": "number", "description": "The year the company was founded.", }, }, "required": []string{"founded_year"}, "additionalProperties": false, }, }) if err != nil { panic(err) } fmt.Printf("%+v\n", response.Data) } ``` ```php PHP highlight={7-17} theme={null} web->extract( url: 'https://stripe.com', schema: [ 'type' => 'object', 'properties' => [ 'founded_year' => [ 'type' => 'number', 'description' => 'The year the company was founded.', ], ], 'required' => ['founded_year'], 'additionalProperties' => false, ], ); print_r($response->data); ``` 10 credits per successful call ### Request parameters | Parameter | Type | Description | | ------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | string | **Required.** Starting URL to crawl. Must include `http://` or `https://`. | | `schema` | object | **Required.** A JSON Schema describing the structure of the data you want back. Add `description`s to properties to tell the model what to look for. | | `instructions` | string | Plain-language guidance for the crawl and extraction (max 2000 chars), e.g. `"Focus on the pricing page."` | | `factCheck` | boolean | When `true`, only values stated on the crawled pages are returned. When `false` (default), the model may make reasonable inferences. | | `followSubdomains` | boolean | Follow links to subdomains of the starting domain. Default `false`. | | `maxPages` | integer | Number of pages to analyze, `1`–`50`. Default `5`. | | `maxDepth` | integer | Maximum link depth from the starting URL. Unlimited by default. | | `pdf` | object | PDF handling: `shouldParse` (default `true`), plus `start` / `end` to limit parsing to a 1-based page range. | | `includeFrames` | boolean | Include iframe contents in extraction. Default `false`. | | `maxAgeMs` | integer | Serve cached page content up to this old, `0`–`2592000000` ms. Default `604800000` (7 days). | | `waitForMs` | integer | Extra browser wait after page load, in milliseconds. | | `stopAfterMs` | integer | Soft time budget for the crawl, `10000`–`110000` ms. Default `80000`. | | `timeoutMS` | integer | Abort the request with a 408 if it exceeds this many milliseconds. Range `1000`–`300000` (5 min max). | ## Use your schema library Because `schema` is standard JSON Schema, you don't have to write it by hand: generate it from the schema library you already use, and validate `response.data` on the way out with the same model. Nested structures like arrays of objects come for free: ```typescript TypeScript (Zod) theme={null} import ContextDev from "context.dev"; import { z } from "zod"; const PricingPage = z.object({ pricing_tiers: z .array( z.object({ name: z.string(), monthly_price_usd: z .number() .describe("Monthly USD price. Use 0 when pricing is custom."), is_custom_pricing: z.boolean(), }), ) .describe("Every pricing tier listed on the pricing page."), }); const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.extract({ url: "https://stripe.com/pricing", schema: z.toJSONSchema(PricingPage), instructions: "Focus on the pricing page and capture every tier, including enterprise plans.", }); const pricing = PricingPage.parse(response.data); console.log(pricing.pricing_tiers); ``` ```python Python (Pydantic) theme={null} import os from context.dev import ContextDev from pydantic import BaseModel, Field class PricingTier(BaseModel): name: str monthly_price_usd: float = Field(description="Monthly USD price. Use 0 when pricing is custom.") is_custom_pricing: bool class PricingPage(BaseModel): pricing_tiers: list[PricingTier] = Field(description="Every pricing tier listed on the pricing page.") client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.extract( url="https://stripe.com/pricing", schema=PricingPage.model_json_schema(), instructions="Focus on the pricing page and capture every tier, including enterprise plans.", ) pricing = PricingPage.model_validate(response.data) print(pricing.pricing_tiers) ``` `z.toJSONSchema()` is built into Zod 4. On Zod 3, use the `zod-to-json-schema` package instead. The same pattern works with anything that emits JSON Schema in other languages, such as `dry-schema` in Ruby or `invopop/jsonschema` in Go. ## Understand the response A successful call returns the starting URL, the URLs the crawler actually used, your data in the shape of your schema, and crawl statistics: ```json sample response expandable theme={null} { "status": "ok", "url": "https://stripe.com/pricing", "urls_analyzed": [ "https://stripe.com/pricing", "https://stripe.com/payments" ], "data": { "pricing_tiers": [ { "name": "Integrated", "monthly_price_usd": 0, "is_custom_pricing": false }, { "name": "Customized", "monthly_price_usd": 0, "is_custom_pricing": true } ] }, "metadata": { "numUrls": 2, "maxCrawlDepth": 1, "numSucceeded": 2, "numFailed": 0, "numSkipped": 0, "numBlocked": 0 } } ``` | Field | Type | Description | | ------------------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success. | | `url` | string | The starting URL that was analyzed. | | `urls_analyzed` | string\[] | Every URL the crawler actually used to produce the answer. | | `data` | object | The extracted data. Matches the `schema` you sent. | | `metadata.numUrls` | integer | Total URLs attempted during the crawl. | | `metadata.maxCrawlDepth` | integer | Deepest link depth reached. | | `metadata.numSucceeded` | integer | Pages fetched and analyzed successfully. | | `metadata.numFailed` | integer | Pages that failed to fetch. | | `metadata.numSkipped` | integer | Pages skipped as irrelevant to the schema. | | `metadata.numBlocked` | integer | Pages excluded because they were CAPTCHA walls, bot interstitials, 403/404 pages, or parked-domain placeholders. See [Blocked and parked pages](#blocked-and-parked-pages). | Error responses include an `error_code`. Common ones: `INPUT_VALIDATION_ERROR` (bad URL or schema) and `WEBSITE_ACCESS_ERROR` on 400, `UNAUTHORIZED` on 401 (missing or invalid API key), `REQUEST_TIMEOUT` on 408, `RATE_LIMITED` on 429, and `INTERNAL_ERROR` on 500. ### Blocked and parked pages Before pages reach the extraction model, the crawler classifies each fetched page and excludes CAPTCHA walls, bot interstitials, 403/404 pages, login shells, and parked-domain landers. Excluded pages don't contribute to `data` and are counted in `metadata.numBlocked`. * If the starting URL is blocked, the crawler retries it once with cache bypass and anti-blocking enabled before giving up. * If every crawled page ends up blocked, the request returns `400 WEBSITE_ACCESS_ERROR` and is not billed. Treat this the same as any other `WEBSITE_ACCESS_ERROR` (see [Troubleshooting](/optimization/troubleshooting#bad-request-400)). * If some pages come back clean, extraction runs against those and `numBlocked` records how many were dropped. ### Schema type aliases `schema` follows JSON Schema, so `type` values should be `"string"`, `"number"`, `"integer"`, `"boolean"`, `"array"`, `"object"`, or `"null"`. Common non-canonical names hand-written by callers are accepted and normalized before validation — for example `"List"` becomes `"array"`, `"Text"`, `"URL"`, and `"Email"` become `"string"`, `"Int"` becomes `"integer"`, and `"Bool"` becomes `"boolean"`. Prefer the canonical keywords in new code; the aliases exist to keep hand-written schemas working. ## Use cases * **Lead enrichment**: extract `founded_year`, `employee_count`, `headquarters_city` etc. from a company's site to enrich CRM records. * **Hiring signal tracking**: extract an array of open roles (title, location, team) starting from a careers page for sourcing pipelines or competitor monitoring. * **Compliance snapshots**: extract a structured summary of privacy policy or terms clauses on a schedule with `factCheck: true`, then diff against the last run. * **Investor relations data**: extract revenue, ARR, headcount, or funding figures as typed numbers; PDF parsing picks up IR decks and annual reports automatically. ## Next steps Get clean Markdown, HTML, or sitemap URLs from any page. Typed product data: SKU, price, images, from any storefront. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Get Brand Data Source: https://docs.context.dev/guides/get-brand-data Turn a domain, name, work email, ticker, ISIN, transaction descriptor, or direct URL into a full brand profile with logos, colors, socials, and industry. Context.dev's Brand API turns any of the following identifiers into a full **brand profile** with logos, colors, slogans, description, social media handles, address, industry, and website page links: * Brand domain (e.g., stripe.com) * Company name (e.g., "Stripe Inc") * A work email (e.g., [patrick@stripe.com](mailto:patrick@stripe.com)) * A stock ticker (e.g., AAPL) * An ISIN (e.g., US0378331005) I'm integrating Context.dev's Brand Intelligence endpoints into my app. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `POST /brand/retrieve` with the identifier I have (domain, name, email, ticker, transaction descriptor, or a direct URL). Send the value plus a `type` discriminator (`by_domain`, `by_name`, `by_email`, `by_ticker`, `by_transaction`, or `by_direct_url`) in the JSON body. For ISIN, use the separate `GET /brand/retrieve-by-isin`. 4. Parse the shared envelope (`status`, `code`, `brand`) and extract `brand.title`, `brand.colors[0].hex`, `brand.logos[0].url`, socials, industry, and links. 5. Treat HTTP 400 with `error_code: "NOT_FOUND"` (no brand) as a normal outcome, not an error. Cache misses for at least 24 hours. 6. Retry HTTP 429 with exponential backoff. Docs: [https://docs.context.dev/guides/get-brand-data](https://docs.context.dev/guides/get-brand-data) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## One endpoint, six identifiers `POST /brand/retrieve` is the unified lookup for domains, company names, work emails, stock tickers, card transaction descriptors, and direct URLs. Pass exactly one identifier in the body along with a `type` discriminator that tells the API which lookup to run. | Identifier | `type` value | Field to send | | ---------- | ---------------- | -------------------------- | | Domain | `by_domain` | `domain` | | Name | `by_name` | `name` (3–30 characters) | | Email | `by_email` | `email` | | Ticker | `by_ticker` | `ticker` | | Card txn | `by_transaction` | `transaction_info` | | Direct URL | `by_direct_url` | `direct_url` (http(s) URL) | The response envelope is the same for every lookup, so downstream code only branches on the input, not the output. `by_direct_url` fetches brand data **only from the URL you provide** — no domain resolution, database lookup, or cross-source enrichment runs. See [Look up by direct URL](#look-up-by-direct-url) for when to use it. ISINs still have a dedicated endpoint: [`GET /brand/retrieve-by-isin`](#look-up-by-isin). ## Get a brand by domain Send `POST /brand/retrieve` with `type: "by_domain"` and a `domain` field. The response is a full brand profile: logos, colors, description, socials, industry, address, and links. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_domain", "domain": "stripe.com" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ type: "by_domain", domain: "stripe.com", }); console.log(response.brand.title); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve(type="by_domain", domain="stripe.com") print(response.brand.title) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( body: { type: :by_domain, domain: "stripe.com" } ) puts response.brand.title ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{ Domain: "stripe.com", }, }) if err != nil { panic(err) } fmt.Println(response.Brand.Title) } ``` ```php PHP theme={null} brand->retrieve( type: 'by_domain', domain: 'stripe.com', ); echo $response->brand->title, PHP_EOL; ``` 10 credits per successful call The connection stays open while the lookup runs, so there's no need to poll. Repeated lookups for the same domain within `maxAgeMs` return the cached record. ### Request Parameters | Parameter | Type | Default | Description | | ---------------- | ------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | | `type` | string | — | **Required.** Lookup discriminator. Use `by_domain` here. See the [identifier table](#one-endpoint-five-identifiers) for the full list. | | `domain` | string | — | **Required.** Domain to retrieve brand data for (e.g. `stripe.com`). Provide exactly one identifier field per request. | | `force_language` | string | — | Force the language of the retrieved brand data. Accepts a [SupportedLanguage](https://docs.context.dev/api-reference) code. | | `maxSpeed` | boolean | `false` | Skip time-consuming operations for a faster response, at the cost of less comprehensive data. | | `maxAgeMs` | integer | `7776000000` (90d) | Max cache age before a hard refresh. Clamped to `[86400000, 31536000000]` (1 day – 1 year). | | `timeoutMS` | integer | — | Abort the request with a 408 if it exceeds this many milliseconds. Max `300000` (5 min). | ### Response ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "stripe.com", "title": "Stripe", "description": "Stripe is a global financial-infrastructure platform that helps businesses accept payments, manage subscriptions, issue cards, and build custom revenue models…", "slogan": "Financial infrastructure to grow your revenue.", "colors": [ { "hex": "#543cfb", "name": "Meteor Shower" }, { "hex": "#a498ec", "name": "Dull Lavender" } ], "logos": [ { "url": "https://media.brand.dev/5d83eab0-8041-4c39-a30d-84e6a0c5c461.jpg", "mode": "has_opaque_background", "type": "icon", "colors": [{ "hex": "#543cfb", "name": "Meteor Shower" }], "resolution": { "width": 512, "height": 512, "aspect_ratio": 1 } } ], "backdrops": [ { "url": "https://media.brand.dev/a0a5ce89-982c-4e3d-9def-8db3e19c6294.jpg", "colors": [ { "hex": "#f57b2d", "name": "Iceland Poppy" }, { "hex": "#f4bc8c", "name": "Brandy Butter" } ], "resolution": { "width": 1000, "height": 169, "aspect_ratio": 5.92 } } ], "socials": [ { "type": "x", "url": "https://x.com/stripe" }, { "type": "github", "url": "https://github.com/stripe" }, { "type": "facebook", "url": "https://facebook.com/StripeHQ" }, { "type": "linkedin", "url": "https://linkedin.com/company/stripe" }, { "type": "youtube", "url": "https://youtube.com/stripe" } ], "address": { "street": "354 Oyster Point Blvd", "city": "South San Francisco", "state_province": "California", "state_code": "CA", "country": "United States", "country_code": "US", "postal_code": "94080" }, "industries": { "eic": [ { "industry": "Finance", "subindustry": "Payments & Money Movement" }, { "industry": "Finance", "subindustry": "Financial Infrastructure & APIs" } ] }, "links": { "blog": "https://stripe.com/blog", "login": null, "signup": null, "careers": "https://stripe.com/jobs", "contact": "https://stripe.com/contact/sales", "privacy": "https://stripe.com/privacy", "terms": "https://stripe.com/legal", "pricing": "https://stripe.com/pricing" }, "employees": { "range": "5001 to 10000", "exact": 8550 }, "primary_language": "english", "is_nsfw": false } } ``` | Field | Type | Description | | ------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success, `"error"` on a non-2xx. | | `code` | integer | HTTP status code, echoed in the body for convenience. | | `brand.domain` | string | The brand's canonical domain. | | `brand.title` | string | Company name. | | `brand.description` | string | One-paragraph company description. | | `brand.slogan` | string | Marketing tagline, if available. | | `brand.colors[]` | array | Brand colors ordered by visual prominence. Each has `hex` and a human-readable `name`. Index 0 is the primary. | | `brand.logos[]` | array | Logo variants. Each has `url`, `mode` (`light`, `dark`, `has_opaque_background`), `type` (`logo` or `icon`), `colors`, and `resolution.{width, height, aspect_ratio}`. | | `brand.backdrops[]` | array | Hero / backdrop imagery. Same color and resolution structure as logos. | | `brand.socials[]` | array | Social profile URLs. `type` is one of `x`, `facebook`, `instagram`, `linkedin`, `youtube`, `tiktok`, `github`, and 20+ more. | | `brand.address` | object | HQ address: `street`, `city`, `state_province`, `state_code`, `country`, `country_code`, `postal_code`. | | `brand.stock` | object | `ticker` and `exchange`. `null` for private companies. | | `brand.employees` | object | Employee headcount: `range` is a bucket from `1 to 10` through `10001+`, and `exact` is the precise count when a reliable number is known. `null` when unknown. | | `brand.industries.eic[]` | array | EIC industry tags with `industry` and `subindustry`. For NAICS or SIC codes, call `/web/naics` or `/web/sic`. | | `brand.links` | object | Non-social URLs the resolver was able to discover. Common keys include `blog`, `pricing`, `careers`, `contact`, `privacy`, `terms`, `login`, `signup`. Values are `null` when the resolver couldn't find a URL for that key. | | `brand.email` | string | Public contact email, when discoverable. | | `brand.phone` | string | Public contact phone, when discoverable. | | `brand.primary_language` | string | Detected language of the brand's website (e.g. `english`, `spanish`). | | `brand.is_nsfw` | boolean | Safe-content flag. | The `colors` returned by this API are extracted from the brand's logos. To get pixel-perfect colors as they appear on a website, use the [Styleguide API](/guides/extract-design-system-from-website#extract-the-full-styleguide) instead. If you need only `domain`, `title`, `colors`, `logos`, and `backdrops`, you can use `GET /brand/retrieve-simplified`. ```bash cURL theme={null} curl -G https://api.context.dev/v1/brand/retrieve-simplified \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=stripe.com" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieveSimplified({ domain: "stripe.com", }); console.log(response.brand.logos[0].url); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve_simplified(domain="stripe.com") print(response.brand.logos[0].url) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve_simplified(domain: "stripe.com") puts response.brand.logos.first.url ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.GetSimplified(context.TODO(), contextdev.BrandGetSimplifiedParams{ Domain: "stripe.com", }) if err != nil { panic(err) } fmt.Println(response.Brand.Logos[0].URL) } ``` ```php PHP theme={null} brand->retrieveSimplified(domain: 'stripe.com'); if ($response->brand->logos) { echo $response->brand->logos[0]->url, PHP_EOL; } ``` 10 credits per successful call **Request Parameters** | Parameter | Type | Default | Description | | ----------- | ------- | ------------ | -------------------------------------------------------------------------------- | | `domain` | string | — | **Required.** Domain to retrieve simplified brand data for. | | `maxAgeMs` | integer | `7776000000` | Max cache age before a hard refresh. Clamped to `[86400000, 31536000000]`. | | `timeoutMS` | integer | — | Abort the request with a 408 if it exceeds this many milliseconds. Max `300000`. | **Response** ```json expandable theme={null} { "status": "ok", "brand": { "domain": "stripe.com", "title": "Stripe", "colors": [ { "hex": "#543cfb", "name": "Meteor Shower" }, { "hex": "#a498ec", "name": "Dull Lavender" } ], "logos": [ { "url": "https://media.brand.dev/5d83eab0-8041-4c39-a30d-84e6a0c5c461.jpg", "mode": "has_opaque_background", "type": "icon", "resolution": { "width": 512, "height": 512, "aspect_ratio": 1 } } ], "backdrops": [ { "url": "https://media.brand.dev/a0a5ce89-982c-4e3d-9def-8db3e19c6294.jpg", "resolution": { "width": 1024, "height": 768, "aspect_ratio": 1.33 } } ] } } ``` ## Look up by company name Send `POST /brand/retrieve` with `type: "by_name"` and a `name` (3–30 characters). Pass `country_gl` to bias the match toward a specific country when the name is ambiguous across markets. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_name", "name": "Airbnb" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ type: "by_name", name: "Airbnb", }); console.log(response.brand.domain); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve(type="by_name", name="Airbnb") print(response.brand.domain) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( body: { type: :by_name, name: "Airbnb" } ) puts response.brand.domain ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{ OfByName: &contextdev.BrandGetParamsBodyByName{ Name: "Airbnb", }, }) if err != nil { panic(err) } fmt.Println(response.Brand.Domain) } ``` ```php PHP theme={null} brand->retrieve( type: 'by_name', name: 'Airbnb', ); echo $response->brand->domain, PHP_EOL; ``` 10 credits per successful call Name must be 3–30 characters. Pass `country_gl` as a lowercase ISO 3166-1 alpha-2 code to narrow the match when the name could resolve to multiple brands across markets. ### Request Parameters | Parameter | Type | Default | Description | | ---------------- | -------------------------------------- | ------------ | ----------------------------------------------------------------------------- | | `type` | string | — | **Required.** Lookup discriminator. Use `by_name` here. | | `name` | string (3–30 chars) | — | **Required.** Company name (e.g. `Apple Inc`, `Microsoft Corporation`). | | `country_gl` | string (ISO 3166-1 alpha-2, lowercase) | — | Two-letter country code to bias the match toward (e.g. `us`, `gb`, `de`). | | `maxSpeed` | boolean | `false` | Skip time-consuming operations for a faster, less complete response. | | `force_language` | string | — | Force the language of the retrieved brand data. | | `maxAgeMs` | integer | `7776000000` | Max cache age before a hard refresh. | | `timeoutMS` | integer | — | Abort with a 408 if the request exceeds this many milliseconds. Max `300000`. | ### Response Returns the same envelope as [`POST /brand/retrieve`](#get-a-brand-by-domain); see [the response field table above](#response). ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "airbnb.com", "title": "Airbnb", "description": "Airbnb is a global online community marketplace that connects hosts with guests, offering unique stays and experiences…", "slogan": "Belong Anywhere", "colors": [ { "hex": "#fc3c5c", "name": "Radical Red" }, { "hex": "#fc9cb4", "name": "Saira Red" }, { "hex": "#fb5c74", "name": "Ponceau" } ], "logos": [ { "url": "https://media.brand.dev/4ae9a10b-ffde-45c8-b5c1-c1e7cef5b716.png", "mode": "light", "type": "icon", "colors": [{ "hex": "#fc3c5c", "name": "Radical Red" }], "resolution": { "width": 250, "height": 250, "aspect_ratio": 1 } } ], "stock": { "ticker": "ABNB", "exchange": "NASDAQ" }, "industries": { "eic": [ { "industry": "Hospitality & Tourism", "subindustry": "Vacation Rentals & Short-Term Stays" }, { "industry": "Technology", "subindustry": "eCommerce & Marketplace Platforms" } ] } } } ``` ## Look up by work email Send `POST /brand/retrieve` with `type: "by_email"` and an `email` field. The API extracts the domain, rejects personal-email providers (gmail, outlook, proton, etc.), then runs the same resolver as a domain lookup. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_email", "email": "founders@stripe.com" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ type: "by_email", email: "founders@stripe.com", }); console.log(response.brand.domain); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve( type="by_email", email="founders@stripe.com", ) print(response.brand.domain) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( body: { type: :by_email, email: "founders@stripe.com" } ) puts response.brand.domain ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{ OfByEmail: &contextdev.BrandGetParamsBodyByEmail{ Email: "founders@stripe.com", }, }) if err != nil { panic(err) } fmt.Println(response.Brand.Domain) } ``` ```php PHP theme={null} brand->retrieve( type: 'by_email', email: 'founders@stripe.com', ); echo $response->brand->domain, PHP_EOL; ``` 10 credits per successful call Personal-email addresses on common consumer providers (`*@gmail.com`, `*@outlook.com`, `*@proton.me`, and others) return a 422 with `error_code: "FREE_EMAIL_DETECTED"`, which is useful for onboarding flows that should only enrich on a work email. ### Request Parameters | Parameter | Type | Default | Description | | ---------------- | ------- | ------------ | ----------------------------------------------------------------------------- | | `type` | string | — | **Required.** Lookup discriminator. Use `by_email` here. | | `email` | string | — | **Required.** Email address (e.g. `alex@stripe.com`). | | `maxSpeed` | boolean | `false` | Skip time-consuming operations for a faster, less complete response. | | `force_language` | string | — | Force the language of the retrieved brand data. | | `maxAgeMs` | integer | `7776000000` | Max cache age before a hard refresh. | | `timeoutMS` | integer | — | Abort with a 408 if the request exceeds this many milliseconds. Max `300000`. | ### Response Returns the same envelope as [`POST /brand/retrieve`](#get-a-brand-by-domain); see [the response field table above](#response). ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "stripe.com", "title": "Stripe", "slogan": "Financial infrastructure to grow your revenue.", "colors": [ { "hex": "#543cfb", "name": "Meteor Shower" }, { "hex": "#a498ec", "name": "Dull Lavender" } ], "logos": [ { "url": "https://media.brand.dev/5d83eab0-8041-4c39-a30d-84e6a0c5c461.jpg", "mode": "has_opaque_background", "type": "icon", "colors": [{ "hex": "#543cfb", "name": "Meteor Shower" }], "resolution": { "width": 512, "height": 512, "aspect_ratio": 1 } } ], "industries": { "eic": [ { "industry": "Finance", "subindustry": "Payments & Money Movement" }, { "industry": "Finance", "subindustry": "Financial Infrastructure & APIs" } ] } } } ``` ## Look up by stock ticker Send `POST /brand/retrieve` with `type: "by_ticker"` and a `ticker` field. The response populates the `stock` object with `ticker` and `exchange`. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_ticker", "ticker": "AAPL" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ type: "by_ticker", ticker: "AAPL", }); console.log(response.brand.stock); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve(type="by_ticker", ticker="AAPL") print(response.brand.stock) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( body: { type: :by_ticker, ticker: "AAPL" } ) puts response.brand.stock.to_h ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{ OfByTicker: &contextdev.BrandGetParamsBodyByTicker{ Ticker: "AAPL", }, }) if err != nil { panic(err) } fmt.Printf("%+v\n", response.Brand.Stock) } ``` ```php PHP theme={null} brand->retrieve( type: 'by_ticker', ticker: 'AAPL', ); print_r($response->brand->stock); ``` 10 credits per successful call Pass `ticker_exchange` to constrain the lookup to a specific exchange (`NASDAQ`, `NYSE`, `LON`, `XETR`, `TYO`, and 60+ others) when the bare symbol is ambiguous. ### Request Parameters | Parameter | Type | Default | Description | | ----------------- | ------------- | ------------ | --------------------------------------------------------------------------------------- | | `type` | string | — | **Required.** Lookup discriminator. Use `by_ticker` here. | | `ticker` | string | — | **Required.** Stock ticker symbol (e.g. `AAPL`, `MSFT`). | | `ticker_exchange` | string (enum) | — | Exchange code to disambiguate (`NASDAQ`, `NYSE`, `LON`, `XETR`, `TYO`, and 60+ others). | | `maxSpeed` | boolean | `false` | Skip time-consuming operations for a faster, less complete response. | | `force_language` | string | — | Force the language of the retrieved brand data. | | `maxAgeMs` | integer | `7776000000` | Max cache age before a hard refresh. | | `timeoutMS` | integer | — | Abort with a 408 if the request exceeds this many milliseconds. Max `300000`. | ### Response Returns the same envelope as [`POST /brand/retrieve`](#get-a-brand-by-domain); see [the response field table above](#response). The `stock` object is populated for ticker lookups. ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "apple.com", "title": "Apple", "slogan": "Think Different", "stock": { "ticker": "AAPL", "exchange": "NASDAQ" }, "colors": [ { "hex": "#7c7c7c", "name": "Namara Grey" }, { "hex": "#656565", "name": "Hard Coal" } ], "logos": [ { "url": "https://media.brand.dev/08f7d41a-ef7b-4d83-aff6-e7f67408b85d.png", "mode": "has_opaque_background", "type": "icon", "colors": [{ "hex": "#656565", "name": "Hard Coal" }], "resolution": { "width": 302, "height": 302, "aspect_ratio": 1 } } ], "industries": { "eic": [ { "industry": "Technology", "subindustry": "Hardware & Semiconductors" }, { "industry": "Technology", "subindustry": "Software (B2C)" } ] } } } ``` ## Look up by direct URL Send `POST /brand/retrieve` with `type: "by_direct_url"` and a full http(s) `direct_url`. The API fetches brand fields (title, description, logos, socials, contact info, links) **only from that URL** — no domain resolution, database lookup, or cross-source enrichment runs. Use this when you want to point the API at a specific page — a subpath, a preview environment, a landing page, or a domain the API doesn't yet have in its database — and get whatever that page exposes. Results are limited to what the single page contains, so expect fewer fields than a `by_domain` lookup. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_direct_url", "direct_url": "https://stripe.com/enterprise" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ type: "by_direct_url", direct_url: "https://stripe.com/enterprise", }); console.log(response.brand.title, response.brand.logos[0]?.url); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve( type="by_direct_url", direct_url="https://stripe.com/enterprise", ) print(response.brand.title) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( body: { type: :by_direct_url, direct_url: "https://stripe.com/enterprise", } ) puts response.brand.title ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{ OfByDirectURL: &contextdev.BrandGetParamsBodyByDirectURL{ DirectURL: "https://stripe.com/enterprise", }, }) if err != nil { panic(err) } fmt.Println(response.Brand.Title) } ``` ```php PHP theme={null} brand->retrieve( type: 'by_direct_url', directUrl: 'https://stripe.com/enterprise', ); echo $response->brand->title, PHP_EOL; ``` 10 credits per successful call `by_direct_url` rejects `maxSpeed`, `force_language`, and `maxAgeMs` — the single-page scrape flow would ignore them. Only `timeoutMS` is accepted alongside `direct_url`. ### Request Parameters | Parameter | Type | Default | Description | | ------------ | ------- | ------- | ------------------------------------------------------------------------------- | | `type` | string | — | **Required.** Lookup discriminator. Use `by_direct_url` here. | | `direct_url` | string | — | **Required.** Full http(s) URL to fetch (e.g. `https://stripe.com/enterprise`). | | `timeoutMS` | integer | — | Abort with a 408 if the request exceeds this many milliseconds. Max `300000`. | ### Response Returns the same envelope as [`POST /brand/retrieve`](#get-a-brand-by-domain), but the `brand` object only contains fields that could be extracted from the provided URL: `domain`, `title`, `description`, `logos`, `socials`, `email`, `phone`, and `links`. Fields backed by database enrichment — `colors`, `backdrops`, `industries`, `stock`, `address` — are not returned. If the URL can't be fetched, the API responds with `400` and `error_code: "WEBSITE_ACCESS_ERROR"`. ## Look up by ISIN `GET /brand/retrieve-by-isin` resolves an International Securities Identification Number (ISIN), the 12-character identifier used in financial data feeds, to a brand and populates the `stock` object. ```bash cURL theme={null} curl -G https://api.context.dev/v1/brand/retrieve-by-isin \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "isin=US0378331005" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieveByIsin({ isin: "US0378331005" }); console.log(response.brand.domain, response.brand.stock); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve_by_isin(isin="US0378331005") print(response.brand.domain, response.brand.stock) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve_by_isin(isin: "US0378331005") puts "#{response.brand.domain} #{response.brand.stock.to_h}" ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.GetByIsin(context.TODO(), contextdev.BrandGetByIsinParams{ Isin: "US0378331005", }) if err != nil { panic(err) } fmt.Printf("%s %+v\n", response.Brand.Domain, response.Brand.Stock) } ``` ```php PHP theme={null} brand->retrieveByIsin(isin: 'US0378331005'); echo $response->brand->domain, ' '; print_r($response->brand->stock); ``` 10 credits per successful call Use this when you're working with financial data feeds keyed by ISIN. Malformed ISINs return a 400. ### Request Parameters | Parameter | Type | Default | Description | | ---------------- | ------- | ------------ | ----------------------------------------------------------------------------- | | `isin` | string | — | **Required.** 12-character ISIN (e.g. `US0378331005` for Apple Inc.). | | `maxSpeed` | boolean | `false` | Skip time-consuming operations for a faster, less complete response. | | `force_language` | string | — | Force the language of the retrieved brand data. | | `maxAgeMs` | integer | `7776000000` | Max cache age before a hard refresh. | | `timeoutMS` | integer | — | Abort with a 408 if the request exceeds this many milliseconds. Max `300000`. | ### Response Returns the same envelope as [`POST /brand/retrieve`](#get-a-brand-by-domain); see [the response field table above](#response). The `stock` object is populated with the resolved ticker. ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "apple.com", "title": "Apple", "stock": { "ticker": "AAPL", "exchange": "NASDAQ" }, "colors": [{ "hex": "#7c7c7c", "name": "Namara Grey" }], "logos": [ { "url": "https://media.brand.dev/08f7d41a-ef7b-4d83-aff6-e7f67408b85d.png", "mode": "has_opaque_background", "type": "icon", "resolution": { "width": 302, "height": 302, "aspect_ratio": 1 } } ] } } ``` ## Identify a card transaction Send `POST /brand/retrieve` with `type: "by_transaction"` and a raw descriptor in `transaction_info`. Pass `mcc`, `city`, `country_gl`, or `phone` hints when you have them to improve accuracy on ambiguous descriptors. ```bash cURL theme={null} curl https://api.context.dev/v1/brand/retrieve \ -X POST \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_transaction", "transaction_info": "STARBUCKS STORE 12345", "country_gl": "us", "mcc": "5814" }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.brand.retrieve({ type: "by_transaction", transaction_info: "STARBUCKS STORE 12345", country_gl: "us", mcc: "5814", }); console.log(response.brand.domain); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.brand.retrieve( type="by_transaction", transaction_info="STARBUCKS STORE 12345", country_gl="us", mcc="5814", ) print(response.brand.domain) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.brand.retrieve( body: { type: :by_transaction, transaction_info: "STARBUCKS STORE 12345", country_gl: :us, mcc: "5814", } ) puts response.brand.domain ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Brand.Retrieve(context.TODO(), contextdev.BrandRetrieveParams{ TransactionInfo: "STARBUCKS STORE 12345", CountryGl: contextdev.BrandRetrieveParamsCountryGlUs, Mcc: param.NewOpt("5814"), }) if err != nil { panic(err) } fmt.Println(response.Brand.Domain) } ``` ```php PHP theme={null} brand->retrieve( transactionInfo: 'STARBUCKS STORE 12345', mcc: '5814', countryGl: 'us', ); echo $response->brand->domain, ' ', $response->brand->title, PHP_EOL; ``` 10 credits per successful call Descriptors the API can't match with confidence return a 400 with `error_code: "NOT_FOUND"`. Setting `high_confidence_only: true` makes the API return that 400 instead of a low-confidence match. ### Request Parameters | Parameter | Type | Default | Description | | ---------------------- | ------------------------------------- | ------- | ------------------------------------------------------------------------------ | | `type` | string | — | **Required.** Lookup discriminator. Use `by_transaction` here. | | `transaction_info` | string | — | **Required.** Raw transaction descriptor (e.g. `STARBUCKS STORE 12345`). | | `country_gl` | string (lowercase ISO 3166-1 alpha-2) | — | Country hint (e.g. `us`, `gb`). | | `city` | string | — | City hint (e.g. `San Francisco`). | | `mcc` | string | — | Merchant Category Code (e.g. `5814`). | | `phone` | number | — | Merchant phone hint, when present on the descriptor. | | `high_confidence_only` | boolean | `false` | Return a 400 with `error_code: "NOT_FOUND"` instead of a low-confidence match. | | `maxSpeed` | boolean | `false` | Skip time-consuming operations for a faster, less complete response. | | `force_language` | string | — | Force the language of the retrieved brand data. | | `timeoutMS` | integer | — | Abort with a 408 if the request exceeds this many milliseconds. Max `300000`. | ### Response Returns the same envelope as the rest of `POST /brand/retrieve`; see [the response field table above](#response). ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "starbucks.com", "title": "Starbucks", "slogan": "Inspiring and nurturing the human spirit — one person, one cup", "stock": { "ticker": "SBUX", "exchange": "NASDAQ" }, "colors": [ { "hex": "#0bac66", "name": "Secret Garden" }, { "hex": "#7cd4b4", "name": "Seafoam Blue" } ], "logos": [ { "url": "https://media.brand.dev/67dc7846-2ca2-4a7b-9877-6bb5a5e2c0e0.png", "mode": "has_opaque_background", "type": "icon", "colors": [{ "hex": "#0bac66", "name": "Secret Garden" }], "resolution": { "width": 180, "height": 180, "aspect_ratio": 1 } } ], "industries": { "eic": [ { "industry": "Retail & E-commerce", "subindustry": "Omnichannel & In-Store Retail" } ] } } } ``` ## Handle errors Not every input resolves. The API returns a non-2xx response with a `message`, `status: "error"`, and an `error_code`: ```json theme={null} { "message": "Transaction could not be identified.", "status": "error", "error_code": "NOT_FOUND" } ``` Common cases: | Status | `error_code` | When | | ------ | ------------------------ | --------------------------------------------------------------- | | 400 | `WEBSITE_ACCESS_ERROR` | Domain can't be resolved or fetched (DNS failure, hostile WAF). | | 400 | `INPUT_VALIDATION_ERROR` | Required parameter missing or malformed. | | 400 | `NOT_FOUND` | Lookup ran but no brand was matched. | | 408 | `REQUEST_TIMEOUT` | Request exceeded `timeoutMS` or the platform max. | | 422 | `FREE_EMAIL_DETECTED` | Personal-email provider on a `by_email` lookup. | | 429 | `RATE_LIMITED` | Rate limit hit. | Treat `NOT_FOUND` responses as a normal outcome, not an error. For high-volume pipelines, cache misses for at least 24 hours so you don't re-resolve the same dead identifier on every retry. Rate limits surface as HTTP 429. Back off exponentially: ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); async function retrieveWithRetry(domain: string, maxRetries = 3) { for (let i = 0; i < maxRetries; i++) { try { return await client.brand.retrieve({ type: "by_domain", domain }); } catch (err: any) { if (err.status === 429 && i < maxRetries - 1) { await new Promise((r) => setTimeout(r, 2 ** i * 1000)); continue; } throw err; } } } ``` ```python Python theme={null} import os import time from context.dev import ContextDev, APIError client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) def retrieve_with_retry(domain, max_retries=3): for i in range(max_retries): try: return client.brand.retrieve(type="by_domain", domain=domain) except APIError as e: if e.status_code == 429 and i < max_retries - 1: time.sleep(2 ** i) continue raise ``` ```ruby Ruby theme={null} require "context_dev" def retrieve_with_retry(domain, max_retries: 3) client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) max_retries.times do |i| return client.brand.retrieve(body: { type: :by_domain, domain: domain }) rescue ContextDev::Errors::APIError => e raise unless e.status == 429 && i < max_retries - 1 sleep(2 ** i) end end ``` ```php PHP theme={null} brand->retrieve(type: 'by_domain', domain: $domain); } catch (APIStatusException $e) { if ($e->status === 429 && $i < $maxRetries - 1) { usleep((2 ** $i) * 1_000_000); continue; } throw $e; } } } ``` For the full catalog of error codes, see [Troubleshooting](/optimization/troubleshooting). ## Use cases * Pre-fill onboarding forms with logo, name, and colors when a user signs up with a work email. * Enrich CRM leads with industry, socials, address, and logos for outbound playbooks. * Resolve card transaction descriptors to canonical merchant brands for spend analytics. * Power "trusted by" logo strips and customer-wall sections with live brand data. * Pull public-company profiles from a ticker or ISIN for investor-facing dashboards. ## Next steps Hide cold-hit latency from your users. Backoff strategies, client cache, and prefetch fallbacks. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Get Logos from a Domain Source: https://docs.context.dev/guides/get-logo-from-url Embed any company logo in your app with Logo Link — a fast, cached CDN endpoint that returns a logo image for any domain you request. Logo Link is a Context.dev service that provides fast, reliable logo delivery via a global CDN. Pass a `publicClientId` and a `domain` to the Logo Link URL and use it as your `` source URL. Logo Link is designed for direct image embedding, therefore images are not allowed to be cached or stored locally. Browsers cache each image for 24 hours, which means repeat requests from the same device within that window only count once. I'm integrating Context.dev's Logo Link into my app to dynamically fetch and display company logos by domain. Help me: 1. Ask where in my codebase I want to display company logos. 2. Ask me for my Logo Link `publicClientId` from [https://context.dev/dashboard/logolink](https://context.dev/dashboard/logolink). Read it from an environment variable if the codebase supports one. 3. Implement Logo Link using this URL format: `https://logos.context.dev/?publicClientId=MY_PUBLIC_CLIENT_ID&domain=TARGET_DOMAIN`. Replace `MY_PUBLIC_CLIENT_ID` with the ID I provide and `TARGET_DOMAIN` with the company domain variable. Optionally add `theme=light` or `theme=dark` to request the best logo for a light or dark themed application. The endpoint returns an image file directly. 4. Update only the identified code locations that currently handle logo display, preserving existing fallback and error handling patterns. 5. Remind me to restrict allowed referring domains at [https://context.dev/dashboard/logolink](https://context.dev/dashboard/logolink) so strangers can't charge my account. Docs: [https://docs.context.dev/guides/get-logo-from-url](https://docs.context.dev/guides/get-logo-from-url) ## Try it ## Prerequisites Create an account at [context.dev/signup](https://context.dev/signup). The free tier includes 10,000 Logo Link requests per month, no credit card required. Context.dev signup page Go to the [Logo Link dashboard](https://context.dev/dashboard/logolink) and copy the key from the "Public Client ID" section. Logo Link dashboard showing Public Client ID and Domain Restrictions This `publicClientId` is safe to expose in your frontend, because it can only be called by the domains you have explicitly allowed. Click on Edit Restrictions and add your website domain where the image will be embedded: * `*.example.com` * `localhost:3000` Logo Link dashboard showing Public Client ID and Domain Restrictions ## Build the URL Replace `publicClientId` and `domain` in the Base URL and set it as the image source. You can also add a `theme` parameter to request the best logo for a light or dark themed application: ```text theme={null} https://logos.context.dev/?publicClientId=brandLL_xxx&domain=github.com ``` ### Parameters | Parameter | Required | Description | | ---------------- | -------- | ----------------------------------------------------------------------------------- | | `publicClientId` | Yes | Your frontend-safe Logo Link client ID. | | `domain` | Yes | The domain to fetch a logo for, such as `github.com`. | | `theme` | No | Choose the logo variant for your UI theme. See the table below for accepted values. | | `theme` value | Behavior | | ------------- | ---------------------------------------------------------------- | | Not set | Displays the highest resolution square image available. | | `light` | Displays a dark logo for light themed applications (light mode). | | `dark` | Displays a light logo for dark themed applications (dark mode). | Logo Link accepts only `GET` and `HEAD` requests. ### Response The body is the raw logo bytes; there is no JSON envelope. Point an `` tag at the URL and the browser renders it. Fetch it with code and you get a binary blob. | Header | Value | | --------------- | ------------------------------------------------------------------------------------ | | `Content-Type` | The actual media type of the image: `image/png`, `image/svg+xml`, `image/jpeg`, etc. | | `Cache-Control` | 24-hour browser cache. | ## Pricing Logo Link usage is billed separately from the core Context.dev APIs. Logo Link requests **do not** consume your API credits. Every plan comes with a dedicated monthly Logo Link requests pool along with its API credits: | Plan | API credits / month | Logo Link requests / month | | -------------- | ------------------- | -------------------------- | | Free | 500 (one-time) | 10,000 | | Hobby (\$25) | 10,000 | 100,000 | | Starter (\$49) | 30,000 | 500,000 | | Pro (\$149) | 200,000 | 2,500,000 | | Scale (\$949) | 2,500,000 | 25,000,000 | | Enterprise | Custom | Custom | See [pricing](https://context.dev/pricing/) for details. **Logo Link has no rate limit**, and you can track your current usage in the [Logo Link dashboard](https://context.dev/dashboard/logolink). **Billing is throttled to one charge per unique logo per client per 24 hours**. Spikes of traffic for the same handful of logos cost the same as steady traffic. **Logos are delivered with a 24-hour browser `Cache-Control` header** so a repeat view in the same browser session doesn't count towards your usage. This header-driven browser/CDN caching is expected and allowed. See [Usage Restrictions](#usage-restrictions) for what isn't. ## Embed the image Drop the URL into any place that accepts an image source: ``, CSS `background-image`, an email template, a spreadsheet `=IMAGE()` cell. ```html theme={null} Stripe logo ``` ```css theme={null} .company-card { background-image: url("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com"); background-size: contain; background-repeat: no-repeat; } ``` ```jsx theme={null} function CompanyLogo({ domain }) { const publicClientId = process.env.NEXT_PUBLIC_LOGOLINK_KEY; return ( {`${domain} { e.target.style.display = "none"; }} /> ); } ``` ```javascript theme={null} const response = await fetch( "https://logos.context.dev/?publicClientId=brandLL_xxx&domain=github.com", ); if (response.ok) { const blob = await response.blob(); const imageUrl = URL.createObjectURL(blob); document.getElementById("logo").src = imageUrl; } ``` ```html theme={null} Stripe ``` ```text theme={null} =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=" & A2) ``` See the [Google Sheets](/nocode/google-sheets) and [Microsoft Excel](/nocode/microsoft-excel) recipes. **Fallback behavior.** If Logo Link cannot find a logo for the domain, it returns a generated SVG monogram of the domain's first letter. You always get a valid image response, so an `` tag never breaks. Example: Monogram fallback returned for an unknown domain: a grey square with the letter N ## Usage Restrictions Logo Link is intentionally ephemeral, fast and image-only. **You are not allowed to download and re-host logos retrieved from Logo Link, or persist the image files in your own storage.** (Normal browser and CDN caching driven by the response's `Cache-Control` headers is fine.) Use Context.dev's [Brand APIs](/guides/get-brand-data) if you: * Need to store logos in your own database * Get multiple logo variants (light / dark / opaque background, icon vs wordmark) * Or, pull logo colors and other brand details alongside the logo Need the brand's fonts too? Those come from the [Styleguide and Fonts APIs](/guides/extract-design-system-from-website). ## Use cases Logo Link is purpose-built for client-facing embeds where you'd otherwise have to host logo assets yourself: * **CRM & Sales Platforms**: Drop a Logo Link URL into every contact record. * **Customer Logo Walls**: Use users' sign-up email domains to automatically generate "trusted by" strips on landing pages. * **Financial & Banking Apps**: Render merchant logos next to transaction descriptors. * **Directories & Marketplaces**: Populate listings with logos automatically, with no upload step in vendor onboarding. ## Next steps Logos, colors, socials, address, and industry from one call. `=IMAGE()` formula patterns for logo columns at scale. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Create Monitors Source: https://docs.context.dev/guides/monitor-website-changes Watch any page, sitemap, or extracted dataset on a schedule. Get signed webhooks when changes are detected or after every completed run. Context.dev's Monitors API watches a **page**, a **sitemap**, or **extracted structured data** on a schedule you set, compares each run against a baseline, and can send signed webhooks when something changes or after every completed run. You create a monitor once; Context.dev handles the crawling, diffing, judging, and retrying in the background. I'm integrating Context.dev's Monitors API into my app to watch websites for changes. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `client.monitors.create({ name, target, change_detection, schedule, webhook })`. Supported combinations: `page` + `exact` (visible text diffs), `page` + `semantic` (goal-driven page changes judged against `target.instructions`), `sitemap` + `exact` (URL additions/removals), and `extract` + `semantic` (meaning-level site changes judged against my instructions). Schedule is an interval between 10 minutes and 1 year. Set `webhook.events` to `change.detected`, `run.completed`, or both. 4. Store the returned `monitor.id` and `monitor.webhook.secret`. On each webhook delivery, route by `X-Context-Event` and verify the `X-Context-Signature: t=,v1=` header by recomputing HMAC-SHA256 over `"{t}.{rawBody}"` with the secret, using a constant-time compare, and rejecting stale timestamps. 5. Alternatively poll `client.monitors.listChanges(monitorId)` (paginated via `cursor`) and fetch full diffs with `client.monitors.retrieveChange(changeId)`. 6. Trigger an off-schedule check with `client.monitors.run(monitorId)`, and pause/resume by updating `status` to `paused`/`active`. Docs: [https://docs.context.dev/guides/monitor-website-changes](https://docs.context.dev/guides/monitor-website-changes) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Create a monitor A monitor is defined by four things: a `target` (what to watch), a `change_detection` strategy (how to compare), a `schedule` (how often), and an optional `webhook` (where to notify). This creates a monitor that checks a pricing page every 6 hours: ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/monitors \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Acme pricing page", "target": { "type": "page", "url": "https://acme.com/pricing" }, "change_detection": { "type": "exact" }, "schedule": { "type": "interval", "frequency": 6, "unit": "hours" }, "webhook": { "url": "https://example.com/webhook" } }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const monitor = await client.monitors.create({ name: "Acme pricing page", target: { type: "page", url: "https://acme.com/pricing" }, change_detection: { type: "exact" }, schedule: { type: "interval", frequency: 6, unit: "hours" }, webhook: { url: "https://example.com/webhook" }, }); console.log(monitor.id, monitor.webhook?.secret); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) monitor = client.monitors.create( name="Acme pricing page", target={"type": "page", "url": "https://acme.com/pricing"}, change_detection={"type": "exact"}, schedule={"type": "interval", "frequency": 6, "unit": "hours"}, webhook={"url": "https://example.com/webhook"}, ) print(monitor.id, monitor.webhook.secret) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) monitor = client.monitors.create( name: "Acme pricing page", target: {type: :page, url: "https://acme.com/pricing"}, change_detection: {type: :exact}, schedule: {type: :interval, frequency: 6, unit: :hours}, webhook: {url: "https://example.com/webhook"} ) puts monitor.id ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) monitor, err := client.Monitors.New(context.TODO(), contextdev.MonitorNewParams{ Name: "Acme pricing page", Target: contextdev.MonitorNewParamsTargetUnion{ OfPage: &contextdev.MonitorNewParamsTargetPage{ URL: "https://acme.com/pricing", }, }, ChangeDetection: contextdev.MonitorNewParamsChangeDetectionUnion{ OfExact: &contextdev.MonitorNewParamsChangeDetectionExact{}, }, Schedule: contextdev.MonitorNewParamsSchedule{ Type: "interval", Frequency: 6, Unit: "hours", }, Webhook: contextdev.MonitorNewParamsWebhook{ URL: "https://example.com/webhook", }, }) if err != nil { panic(err) } fmt.Println(monitor.ID) } ``` ```php PHP theme={null} monitors->create( name: 'Acme pricing page', target: ['type' => 'page', 'url' => 'https://acme.com/pricing'], changeDetection: ['type' => 'exact'], schedule: ['type' => 'interval', 'frequency' => 6, 'unit' => 'hours'], webhook: ['url' => 'https://example.com/webhook'], ); echo $monitor->id; ``` Management calls are free; you pay per run: 1 credit for page & sitemap checks, 10 for semantic extract The monitor runs immediately after creation to capture its initial **baseline**: the snapshot every later run is compared against. The response includes the generated webhook signing secret; store it, you'll need it to [verify deliveries](#receive-webhooks): ```json sample response expandable theme={null} { "mode": "web", "id": "mon_123", "name": "Acme pricing page", "target": { "type": "page", "url": "https://acme.com/pricing", "normalize_whitespace": true }, "change_detection": { "type": "exact" }, "schedule": { "type": "interval", "frequency": 6, "unit": "hours" }, "webhook": { "url": "https://example.com/webhook", "secret": "whsec_8f3a...", "events": ["change.detected"] }, "status": "active", "last_run_at": null, "last_change_at": null, "next_run_at": "2026-07-09T18:00:00Z", "last_error": null, "tags": [], "created_at": "2026-07-09T12:00:00Z", "updated_at": "2026-07-09T12:00:00Z" } ``` ### Request parameters | Parameter | Type | Description | | ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `name` | string | **Required.** Display name, 1–200 characters. | | `target` | object | **Required.** What to watch: a `page`, `sitemap`, or `extract` target. See [Pick a target](#pick-a-target). | | `change_detection` | object | Optional. `{ "type": "exact" }` for literal diffs, or `{ "type": "semantic", "confidence_threshold": 0.75 }` for meaning-level changes. Defaults: `semantic` for `extract` targets, `exact` for `sitemap` targets, and — for `page` targets — `semantic` when `target.instructions` is set, otherwise `exact`. | | `schedule` | object | Optional. `{ "type": "interval", "frequency": 6, "unit": "hours" }`. Units: `minutes`, `hours`, `days`. The total interval must be between 10 minutes and 1 year. Defaults to once per day. | | `webhook` | object | `{ "url": "https://...", "events": ["change.detected", "run.completed"] }` — where to POST webhook events. The API generates the signing `secret`; it can't be set by clients. `events` is optional and defaults to `["change.detected"]` — see [Choose which events to receive](#choose-which-events-to-receive). | | `tags` | string\[] | Up to 20 tags for grouping and filtering monitors and their changes. | ## Pick a target Each target type pairs with a supported detection strategy. Supported combinations: `page` + `exact`, `page` + `semantic`, `sitemap` + `exact`, and `extract` + `semantic`. Unsupported pairs (for example `sitemap` + `semantic`) are rejected with a `400`. ### Page: did this page's text change? Watches a single URL and diffs the visible page text. Whitespace is normalized by default (`normalize_whitespace: true`). ```json theme={null} { "target": { "type": "page", "url": "https://acme.com/pricing" }, "change_detection": { "type": "exact" } } ``` #### Page + semantic: alert only on changes you care about Add `target.instructions` — a plain-language goal describing which page changes matter — and Context.dev judges each confirmed diff against that goal, so ticker widgets, "as of" timestamps, and rotating testimonials stay quiet while a real edit fires. When `instructions` is set and you omit `change_detection`, semantic detection is inferred; passing `change_detection: { type: "exact" }` alongside `instructions` is rejected, and semantic page detection without `instructions` is rejected too. ```json theme={null} { "target": { "type": "page", "url": "https://acme.com/pricing", "instructions": "Report pricing or plan availability changes. Ignore counters, timestamps, testimonials, and navigation." } } ``` Under the hood, a semantic page run compares the current page against the baseline, separates stable content from volatile regions (counters, timestamps, ticker text), re-observes the page in the same run to confirm the diff is real, and only then asks the judge whether the stable change matches your `instructions`. Small numeric drift on values you didn't ask about is ignored; watched numeric changes (for example a price moving from `$29` to `$49`) are promoted even when the delta is small. Tune sensitivity with `change_detection.confidence_threshold` (0–1, default `0.75`) — raise it to only get notified about changes the judge is more certain matter. ### Sitemap: were URLs added or removed? Watches a sitemap for URL additions and removals, ideal for catching new blog posts, product pages, or docs. URLs are normalized and scoped to the monitored site and its subdomains; on a detected difference the sitemap is re-fetched within the same run and only URLs both observations agree on are reported, suppressing transient crawl flaps. ```json theme={null} { "target": { "type": "sitemap", "url": "https://acme.com/sitemap.xml", "include": ["/blog/*"], "exclude": ["/legal/*"], "max_urls": 5000 }, "change_detection": { "type": "exact" } } ``` `include` / `exclude` accept URL path patterns, and `max_urls` caps tracking at up to 10,000 URLs (default 5,000). ### Extract: did the data I care about change? Watches the *meaning* of a site, not its markup. A crawl guided by your `instructions` (and optional JSON `schema`, the same shape the [Extract API](/guides/extract-structured-data-from-websites) uses) selects up to `max_pages` relevant pages; each run re-checks exactly those pages and judges confirmed changes against your instructions, so a reworded paragraph doesn't fire, but a new pricing tier does. The `schema` does three things: it steers which pages get selected for tracking, it gives the change judge extra context on which changes matter (alongside your `instructions`), and it defines the shape of the `data` snapshot on the monitor's [baseline](/api-reference/monitors/retrieve) (refreshed by the re-discovery crawl, at most about once a day). It is **not** a response format for alerts — change events and webhook payloads always contain diffs, summaries, and evidence excerpts, never data shaped by your schema. Skip it and a general summary + key-points schema is used. ```json theme={null} { "target": { "type": "extract", "url": "https://acme.com", "instructions": "Extract every pricing plan with its monthly price and included limits.", "schema": { "type": "object", "properties": { "plans": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "string" } } } } } }, "max_pages": 10 }, "change_detection": { "type": "semantic", "confidence_threshold": 0.75 } } ``` Raise `confidence_threshold` (0–1, default `0.75`) to only get notified about changes the judge is more certain matter. The tracked page set is refreshed by a periodic re-discovery crawl (at most about once a day). ## Receive webhooks Context.dev delivers two webhook events. Subscribe to either or both by setting `webhook.events` when you create or update a monitor. | Event | Fires | Use it when | | ----------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `change.detected` | Only after runs that detect a change. | You just want alerts. | | `run.completed` | After **every** completed run, including runs that found no change. Embeds the change when one was detected. | You want a heartbeat that the monitor ran — for uptime dashboards, "last checked" timestamps, or downstream jobs that need to run whether or not something changed. | Each subscribed event fires independently, so a change-run with both events subscribed produces two deliveries — one per event — with matching `data.change` records. ### Choose which events to receive `webhook.events` is a list. When you create a webhook, omitting it defaults to `["change.detected"]` for backward compatibility. When you update an existing webhook, omitting `events` preserves its current subscription; send the list explicitly to change it. ```json theme={null} { "webhook": { "url": "https://example.com/webhook", "events": ["change.detected", "run.completed"] } } ``` ### `change.detected` payload Sent after a run detects a change. `data.change` is the full change record — the same one returned by `GET /monitors/changes/{change_id}`. ```json change.detected payload theme={null} { "event": "change.detected", "id": "evt_123", "created_at": "2026-07-09T18:00:12Z", "data": { "change": { "mode": "web", "id": "chg_123", "monitor_id": "mon_123", "run_id": "run_123", "tags": ["pricing"], "target_type": "page", "change_detection_type": "exact", "title": "Acme pricing page changed", "summary": "The Starter plan price changed from $10 to $12.", "detected_at": "2026-07-09T18:00:10Z", "url": "https://acme.com/pricing", "diff": "- Starter: $10 per month\n+ Starter: $12 per month", "before_text_excerpt": "Starter: $10 per month", "after_text_excerpt": "Starter: $12 per month" } } } ``` ### `run.completed` payload Sent after **every** completed run when your monitor subscribes to `run.completed`. `data.run` is a snapshot of the run at delivery time. `data.change` is the same full change record delivered by `change.detected`, or `null` when the run found no change (including baseline runs, where `baseline_created` is `true`). ```json run.completed payload — no change theme={null} { "event": "run.completed", "id": "evt_456", "created_at": "2026-07-09T18:00:12Z", "data": { "run": { "id": "run_123", "monitor_id": "mon_123", "status": "completed", "run_type": "scheduled", "target_type": "page", "change_detection_type": "exact", "started_at": "2026-07-09T18:00:00Z", "completed_at": "2026-07-09T18:00:11Z", "change_detected": false, "change_id": null, "baseline_created": false }, "change": null } } ``` `data.run` doesn't include `credits_charged` — billing settles after delivery. Fetch the run via `GET /monitors/{monitor_id}/runs` for the final billing record. ### Verify the signature Every delivery includes an `X-Context-Signature: t=,v1=` header, where the HMAC is SHA-256 over `"{t}.{rawRequestBody}"` keyed by your monitor's webhook `secret`. Recompute it with a constant-time compare and reject stale timestamps to prevent replays: ```typescript TypeScript theme={null} import crypto from "node:crypto"; function verifyWebhook(rawBody: string, signatureHeader: string, secret: string): boolean { const parts = Object.fromEntries( signatureHeader.split(",").map((pair) => pair.split("=")), ); const expected = crypto .createHmac("sha256", secret) .update(`${parts.t}.${rawBody}`) .digest(); const isFresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300; const received = Buffer.from(parts.v1 ?? "", "hex"); return ( isFresh && received.length === expected.length && crypto.timingSafeEqual(expected, received) ); } ``` ```python Python theme={null} import hashlib import hmac import time def verify_webhook(raw_body: bytes, signature_header: str, secret: str) -> bool: parts = dict(pair.split("=", 1) for pair in signature_header.split(",")) message = parts["t"].encode() + b"." + raw_body expected = hmac.new(secret.encode(), message, hashlib.sha256).hexdigest() is_fresh = abs(time.time() - int(parts["t"])) < 300 return is_fresh and hmac.compare_digest(expected, parts["v1"]) ``` Every delivery also sets an `X-Context-Event` header (`change.detected` or `run.completed`) so you can route events without parsing the body first, and an `X-Context-Id` header that matches the payload's top-level `id`. For the full payload schemas, see the [`change.detected` reference](/api-reference/monitors/webhook-payload) and the [`run.completed` reference](/api-reference/monitors/webhook-run-completed). Type-specific change fields include text diffs for exact page monitors, added and removed URLs for sitemap monitors, and confidence plus evidence for semantic extract monitors. ### Inspect delivery status Each monitor run records the outcome of every webhook it attempted, so you can debug misbehaving endpoints without wiring up your own logs. The run object returned by `GET /monitors/{monitor_id}/runs` (and `GET /monitors/runs`) includes a `webhook_deliveries` array — one entry per subscribed event that fired for that run: ```json theme={null} { "id": "run_123", "monitor_id": "mon_123", "status": "completed", "change_detected": true, "change_id": "chg_123", "webhook_deliveries": [ { "event_id": "evt_123", "event": "change.detected", "status": "delivered", "http_status": 200, "attempted_at": "2026-07-09T18:00:12Z", "error": null }, { "event_id": "evt_456", "event": "run.completed", "status": "delivered", "http_status": 200, "attempted_at": "2026-07-09T18:00:12Z", "error": null } ] } ``` `status` is one of: | Status | Meaning | | -------------------- | --------------------------------------------------------------------------- | | `delivered` | Your endpoint returned a 2xx response. | | `rejected` | Your endpoint returned a non-2xx response; see `http_status` and `error`. | | `failed` | No HTTP response was received (timeout, DNS, TLS, connection reset). | | `skipped_unsafe_url` | The webhook URL failed the public-endpoint safety check and was not called. | `event_id` matches the `X-Context-Id` header on the delivery, so you can correlate a run with the exact request your server received. `webhook_deliveries` is omitted when no webhook was attempted, including runs that predate delivery tracking. The legacy top-level `webhook_delivery` field is still returned for backward compatibility. It contains the `change.detected` attempt when present; otherwise it contains the run's sole attempted delivery, such as `run.completed` for a monitor subscribed only to that event. It is **deprecated** — new integrations should read `webhook_deliveries`. ### Track consecutive delivery failures Beyond per-run delivery status, the monitor object itself carries a rolling health signal: `webhook_failure` counts consecutive delivery-attempting runs with at least one failed delivery so you can surface a broken endpoint in your own dashboard. Runs that attempt no webhook leave the streak unchanged. ```json theme={null} { "id": "mon_123", "webhook": { "url": "https://example.com/webhook", "events": ["change.detected", "run.completed"] }, "webhook_failure": { "consecutive_failures": 3, "last_status": "rejected", "last_message": "Webhook endpoint returned HTTP 429.", "last_failed_at": "2026-07-10T09:12:44Z" } } ``` * `consecutive_failures` — number of consecutive delivery-attempting runs whose webhooks did not fully succeed. When a run delivers multiple subscribed events, a single failure among them advances the counter by one. * `last_status` — outcome of the most recent failed delivery: `rejected` (non-2xx response), `failed` (no HTTP response), or `skipped_unsafe_url` (the URL failed the public-endpoint safety check). * `last_message` — human-readable description of the most recent failure. * `last_failed_at` — ISO timestamp of the last failed attempt. `webhook_failure` is `null` when deliveries are healthy or no webhook is configured. It clears after the next run that attempts at least one webhook and delivers every attempt successfully, and resets when you change or remove the webhook URL via `PATCH /monitors/{monitor_id}`. ### Delivery retries Every webhook delivery is retried on network errors, `5xx` responses, and `429` rate-limit responses. When the receiver returns a numeric `Retry-After` header, Context.dev waits that long before the next attempt (capped at 10 seconds). If every attempt fails, the run's `webhook_deliveries[].status` and the monitor's `webhook_failure` record the outcome. ### Get notified when your endpoint breaks Once `consecutive_failures` reaches **3**, Context.dev emails every user in your organization to flag the broken endpoint. You get one email per streak — a run that attempts at least one webhook and delivers every attempt successfully re-arms the notification for the next episode. When several monitors deliver to the same URL, the notification is coalesced: one email covers the endpoint for 24 hours instead of one per monitor. ## Read changes over the API No webhook? Poll instead. List a monitor's detected changes (paginated via `cursor`, filterable by `since` / `until` / `tag`), then fetch full details for any change: text `diff` for page monitors, `added_urls` / `removed_urls` for sitemaps, and `evidence` with before/after snapshots plus `confidence` and `importance` for semantic monitors. ```bash cURL theme={null} curl "https://api.context.dev/v1/monitors/mon_123/changes?limit=20" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" curl https://api.context.dev/v1/monitors/changes/chg_123 \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` ```typescript TypeScript theme={null} const changes = await client.monitors.listChanges("mon_123", { limit: 20 }); for (const change of changes.data) { const detail = await client.monitors.retrieveChange(change.id); console.log(detail.title, detail.diff); } ``` ```python Python theme={null} changes = client.monitors.list_changes(monitor_id="mon_123", limit=20) for change in changes.data: detail = client.monitors.retrieve_change(change.id) print(detail.title, detail.diff) ``` ```ruby Ruby theme={null} changes = client.monitors.list_changes("mon_123", limit: 20) changes.data.each do |change| detail = client.monitors.retrieve_change(change.id) puts detail.title end ``` ```go Go theme={null} changes, err := client.Monitors.ListChanges( context.TODO(), "mon_123", contextdev.MonitorListChangesParams{}, ) if err != nil { panic(err) } for _, change := range changes.Data { detail, err := client.Monitors.GetChange(context.TODO(), change.ID) if err != nil { panic(err) } fmt.Println(detail.Title) } ``` ```php PHP theme={null} monitors->listChanges('mon_123', limit: 20); foreach ($changes->data as $change) { $detail = $client->monitors->retrieveChange($change->id); echo $detail->title; } ``` There's also an account-wide feed across all monitors, `GET /monitors/changes` (`client.monitors.listAccountChanges()`), and the same pair for run history: `GET /monitors/{monitor_id}/runs` and `GET /monitors/runs`. ## Run, pause, and manage Trigger an off-schedule check (queued and processed asynchronously), pause and resume, or delete: ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/monitors/mon_123/run \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" curl -X PATCH https://api.context.dev/v1/monitors/mon_123 \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "paused" }' curl -X DELETE https://api.context.dev/v1/monitors/mon_123 \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` ```typescript TypeScript theme={null} await client.monitors.run("mon_123"); await client.monitors.update("mon_123", { status: "paused" }); await client.monitors.delete("mon_123"); ``` ```python Python theme={null} client.monitors.run("mon_123") client.monitors.update(monitor_id="mon_123", status="paused") client.monitors.delete("mon_123") ``` Two behaviors worth knowing: * **Updating `target` or `change_detection` resets the baseline.** The next run re-captures it instead of reporting a spurious change. Unsupported target/detection combinations are rejected — see [Pick a target](#pick-a-target) for the allowed pairs. * **Failures don't kill monitors.** A failed run flips `status` to `failed` (with `last_error` populated), but the monitor keeps running on schedule and flips back to `active` on the next success. Monitors auto-pause after repeated consecutive failures or insufficient-credit skips; resume by updating `status` to `active`. * **A failed baseline run pauses the monitor immediately.** The baseline is the first run after you create the monitor or edit its `target` or `change_detection` — if that run fails, the configuration itself is probably wrong, so Context.dev sets `status` to `paused` and populates `last_error` on the first failure instead of burning retries. Fix the configuration (or leave it alone if the source was transiently down) and resume with `status: "active"` to clear `last_error` and re-run the baseline. * **Empty, blocked, error, parked, or collapsed pages don't overwrite the baseline.** If a run's snapshot looks degraded — a bot-block interstitial, an error page, a parked domain, or a page that shrank to almost nothing — the run fails cleanly instead of poisoning the baseline with a bad snapshot and firing a spurious disappearance/recovery alert pair on the next healthy run. ## Pricing Creating, listing, updating, and reading monitors, runs, and changes is **free**. You pay per run, priced like the equivalent public endpoint: | Run type | Credits per run | | ---------------------------------------------------- | --------------- | | Page check (`page` + `exact` or `page` + `semantic`) | 1 | | Sitemap check (`sitemap` + `exact`) | 1 | | Semantic extract check (`extract` + `semantic`) | 10 | | Skipped or failed runs | 0 | Monitor spend appears on the [usage page](https://context.dev/dashboard) under the path `/v1/monitors/run`, and `GET /monitors/credit-usage` returns a per-monitor credit and run breakdown over any time window: ```bash cURL theme={null} curl "https://api.context.dev/v1/monitors/credit-usage?since=2026-07-01T00:00:00Z" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` ## Use cases * **Competitor price tracking**: a `page` monitor on each competitor's pricing page, with the webhook posting diffs into Slack. Add `target.instructions` like "report pricing or plan availability changes, ignore counters and testimonials" to make it semantic and skip the cosmetic churn. * **Content ops**: a `sitemap` monitor on a competitor's blog to catch new posts and landing pages the day they ship. * **Positioning intelligence**: an `extract` + `semantic` monitor with instructions like "track packaging, pricing, and headline feature claims"; cosmetic rewording won't fire it. * **Compliance watch**: an `extract` monitor over terms or privacy pages, alerting only when obligations meaningfully change. * **Your own site**: a `sitemap` monitor as a tripwire for pages accidentally dropping out of your sitemap after a deploy. ## Next steps Every endpoint, parameter, and response schema. The schema-driven extraction that powers extract monitors. Caching, error handling, and key hygiene. Status codes, retry patterns, and common errors. # Parse Documents Source: https://docs.context.dev/guides/parse-documents Use the Context.dev Parse API to convert uploaded PDFs, Office docs, spreadsheets, presentations, images, code, and data files into LLM-ready Markdown. Context.dev's Parse API converts raw file bytes into clean, LLM-ready Markdown. Use it for files your users upload, files in your storage bucket, or anything else your application can read into memory. Unlike web scraping, the file doesn't need a public URL. Context.dev detects the file type from its contents. You can also send the file's media type and extension as hints. The response reports the type that was actually detected, which may differ from the hint. | Category | Supported formats | Markdown output | | ------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | Documents | PDF, Word (`.docx`, `.doc`), and rich text (`.rtf`) | Structured sections for PDFs and DOCX files; paragraph text for legacy DOC and RTF files | | Spreadsheets | Excel (`.xlsx`, `.xlsm`, `.xlsb`, `.xltx`, `.xltm`, `.xls`), CSV, and TSV | One Markdown table per sheet, or a fenced block when delimited data can't be read as a table | | Presentations | PowerPoint (`.pptx`, `.pptm`, `.ppsx`, `.ppsm`, `.potx`, `.potm`, `.ppt`, `.pps`, `.pot`) | Slide-by-slide sections with body text, tables, and speaker notes | | Web and data | HTML, XHTML, XML, RSS, Atom, sitemaps, JSON, JSON Lines, NDJSON, YAML, and SVG | Structured Markdown for HTML and XML; fenced blocks for JSON, YAML, and SVG markup | | Text and code | Plain text, Markdown, SRT, Python, JavaScript, TypeScript, Java, PHP, Ruby, shell, CSS, SCSS, Less, Stylus, and Sass | Text is preserved; source code is returned in a language-tagged fenced block | | Images | JPEG, PNG, GIF, BMP, TIFF, WebP, PBM, PGM, PPM, and PNM | Format and dimensions by default; extracted text when `ocr=true` | I'm integrating Context.dev's Parse API (`POST /parse`) into my app. Help me: 1. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. Authenticate every request with a bearer token. 2. Send the raw file bytes in the request body to `https://api.context.dev/v1/parse`. Don't use multipart or JSON. Reject files larger than 25 MiB before sending them. 3. Send the file's `Content-Type` header when known, and optionally pass `extension` as a query hint. Don't send a filename in place of the extension. 4. Use the optional `includeLinks`, `includeImages`, `shortenBase64Images`, and `useMainContentOnly` query parameters to control Markdown output. 5. For PDFs, pass a 1-based inclusive page range as `pdf[start]` and `pdf[end]`. Set `ocr=true` when scanned pages or embedded images need to be read. For raster images, set `ocr=true` to transcribe visible text and describe the image. 6. Read `success`, `markdown`, `type`, and `key_metadata` from the JSON response. Use `key_metadata.credits_consumed` as the actual cost of the request. 7. Branch error handling on both HTTP status and `error_code`, including invalid input or no readable content (400), oversized files (413), unsupported content (415), and rate limits (429). Docs: [https://docs.context.dev/guides/parse-documents](https://docs.context.dev/guides/parse-documents) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` The endpoint accepts raw bytes over HTTPS, so you can call it from any language. The examples below use `curl`. ## Convert a file to Markdown Send the file itself as the request body. `--data-binary` keeps `curl` from changing the bytes: ```bash cURL theme={null} curl -X POST "https://api.context.dev/v1/parse?extension=pdf" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/pdf" \ --data-binary @report.pdf ``` 1 credit per successful conversion; OCR adds 1 credit per recovered page The request stays open while the file is converted; there is nothing to poll. ### Request parameters The request body is required and can contain up to 25 MiB. Send the file's actual `Content-Type` header when you know it, especially for text that uses a character encoding other than UTF-8. All parsing options are query parameters: | Parameter | Type | Default | Description | | --------------------- | ------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | `extension` | string | none | File-type hint such as `pdf`, `.docx`, `xlsx`, or `csv`. It is case-insensitive and may include a leading dot. | | `includeLinks` | boolean | `true` | Preserve hyperlinks in HTML, XML feeds and sitemaps, and Office content. | | `includeImages` | boolean | `false` | Include image references when converting HTML and Office content. | | `shortenBase64Images` | boolean | `true` | Shorten inline base64 image data so it doesn't dominate the Markdown. | | `useMainContentOnly` | boolean | `false` | Remove navigation, headers, footers, and sidebars from HTML and Office content when present. | | `ocr` | boolean | `false` | Read scanned or embedded images in PDFs. For raster images, extract visible text into an `## Extracted text` section. | | `pdf` | object | full document | PDF-only page range with optional `start` and `end` values. Pages are 1-based and the range is inclusive; `end` must be greater than or equal to `start`. | Query parameters are validated strictly. Unrecognized parameters and repeated scalar parameters return a 400 response. Because a parsed file has no source URL, relative links and image paths remain relative in the output. ### Response ```json theme={null} { "success": true, "markdown": "# Quarterly Report\n\n## Summary\n\nRevenue grew 24% quarter over quarter…", "type": "pdf", "key_metadata": { "credits_consumed": 1, "credits_remaining": 499 } } ``` | Field | Type | Description | | -------------------------------- | ------- | ------------------------------------------------------------------------------- | | `success` | boolean | `true` when the file was converted. | | `markdown` | string | The converted Markdown. | | `type` | string | The detected file type, such as `pdf`, `docx`, `xlsx`, `html`, `csv`, or `png`. | | `key_metadata.credits_consumed` | integer | Credits charged for this request. | | `key_metadata.credits_remaining` | integer | Credits left after the request. | Some extensions share a normalized response type. For example, `.xlsm` reports `xlsx`, `.ppsx` reports `pptx`, and `.jpeg` reports `jpg`. ## Read PDFs and images with OCR OCR is off by default. Without OCR, PDFs are converted from their selectable text layer. A scanned PDF that paints images but has no selectable text returns a 400 `PDF_IMAGES_ONLY` response telling you the content is recoverable — retry with `ocr=true`. With `ocr=true`, Context.dev can read scanned PDF pages and text inside embedded images such as charts, screenshots, and stamps. Use the nested `pdf` page range to convert only the pages you need: ```bash cURL theme={null} curl -X POST "https://api.context.dev/v1/parse?extension=pdf&ocr=true&pdf%5Bstart%5D=1&pdf%5Bend%5D=5" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/pdf" \ --data-binary @scanned-contract.pdf ``` In the URL above, `pdf%5Bstart%5D` and `pdf%5Bend%5D` are the URL-encoded forms of `pdf[start]` and `pdf[end]`. You can also send `pdf` as a URL-encoded JSON object such as `{"start":1,"end":5}`. The same `ocr=true` parameter works for raster images. Without it, an image returns Markdown containing its format and dimensions. With it, the response adds an `## Extracted text` section containing text transcribed from the image. Image OCR is text-only — visual content that isn't text is not described. OCR is billed per page it actually recovers: the base request costs 1 credit, and each page whose text came from OCR (a raster image counts as one page) adds 1 credit. A request with `ocr=true` where OCR contributes nothing costs the base 1 credit. Failed parsing and validation requests consume 0 credits. The `x-parse-ocr-used` response header reports whether OCR contributed text, and `key_metadata.credits_consumed` reports the actual charge. ## Convert a spreadsheet or document Point `--data-binary` at any supported file and pass its extension when useful. Excel workbooks become one Markdown table per non-empty sheet. DOCX files preserve headings, lists, and tables, while legacy DOC files return paragraph text. ```bash cURL theme={null} curl -X POST "https://api.context.dev/v1/parse?extension=xlsx" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" \ --data-binary @Q3-forecast.xlsx ``` 1 credit per successful conversion ## Handle errors Error responses include an `error_code` that distinguishes invalid input from files with no extractable content. | Status | `error_code` | Meaning | What to do | | ------ | ----------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | 400 | `INPUT_VALIDATION_ERROR` | The body is empty or a query parameter is invalid. | Attach the raw file bytes and use only the documented query parameters. | | 400 | `WEBSITE_ACCESS_ERROR` | The file type was detected, but no content could be extracted. | Check that the file isn't blank or corrupt. For a page range, confirm the pages exist. | | 400 | `PDF_IMAGES_ONLY` | The PDF paints images but has no selectable text — it's a scan. | Retry with `ocr=true` to recover the scanned pages (1 credit per recovered page). | | 401 | Authentication or usage error | The API key is missing or invalid, or the account can't cover the required credits. | Check the environment variable and available balance. | | 403 | `FORBIDDEN` | The authenticated account isn't allowed to complete the request. | Confirm that the key belongs to an active workspace with access to the API. | | 413 | `INPUT_VALIDATION_ERROR` | The body is larger than 25 MiB. | Reduce or split the file before uploading it. A PDF page range doesn't reduce the uploaded file size. | | 415 | `UNSUPPORTED_CONTENT` | The bytes couldn't be identified as a supported file type. | Check that the file is valid and supported, then provide its `extension` and `Content-Type` as hints. | | 429 | `RATE_LIMITED` | The API-key rate limit was exceeded. | Wait for the rate-limit window to reset, then retry with backoff. | ## Use cases * Let users upload a PDF, Word document, or spreadsheet and send the resulting Markdown to an LLM. * Normalize a folder of mixed documents, decks, spreadsheets, and images before adding them to a RAG index. * Extract text from scanned contracts and invoices without operating a separate OCR service. * Turn uploaded images and screenshots into searchable text and descriptions. ## Next steps Have a URL instead of a file? Turn any page into clean Markdown. Pull schema-shaped data out of websites and linked documents. Caching, error handling, and key hygiene. Backoff strategies and pacing for high-volume jobs. # Submit Batch Jobs Source: https://docs.context.dev/guides/scrape-websites-in-batches Submit up to 25,000 URLs or crawl a site asynchronously, track progress, and consume results as paginated JSON or gzipped NDJSON. Context.dev's Batch API runs large scraping jobs asynchronously. Submit a fixed list of up to 25,000 URLs, or start a crawl from one page or a domain's sitemap. Each successful page costs 1 credit; credits reserved for pages that do not succeed are released when the batch settles. Choose Markdown or HTML output when you submit the batch. You can poll for progress, receive a webhook when processing finishes, page through results as JSON, or download gzipped NDJSON result files. **A batch costs one request against your rate limit.** Submitting 25,000 URLs counts once, exactly like submitting one. Context.dev queues and paces the scraping on its own infrastructure, so the pages inside never draw from your per-minute budget — that is the main reason to move bulk work here. See [Batch jobs count as one request](/optimization/rate-limits#batch-jobs-count-as-one-request). I'm integrating Context.dev's Batch API into my app. Help me: 1. Read the API key from `CONTEXT_DEV_API_KEY`. Never hardcode it. Authenticate every request with a bearer token. 2. Submit `POST /batch/submit` with either a `scrape` input containing up to 25,000 URL objects, or a `crawl` input using a `start_url` or `sitemap` source. Select `markdown` or `html` in `input.data.type`. 3. Send a unique `Idempotency-Key` header so a retry cannot create or charge a duplicate batch. Save the returned batch `id`. 4. Poll `GET /batch/{batch_id}` until `status` is `completed`, `cancelled`, or `failed`. If I provide `webhookUrl`, save `webhook_secret` and verify notifications. 5. Read finished records from `GET /batch/{batch_id}/results` using `has_more` and `next_cursor`. For large batches, download the gzipped NDJSON URLs in `results.files` instead. 6. Handle cancellation with `POST /batch/{batch_id}/cancel`, and permanently remove a finished batch with `DELETE /batch/{batch_id}`. 7. Handle input errors, concurrent batch limits, idempotency conflicts, unfinished results, rate limits, and transient server errors explicitly. Docs: [https://docs.context.dev/guides/scrape-websites-in-batches](https://docs.context.dev/guides/scrape-websites-in-batches) ## Prerequisites Create an API key at [context.dev/signup](https://context.dev/signup), copy it from the [dashboard](https://context.dev/dashboard), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` The examples below call the HTTPS API directly with `curl`. ## Choose how pages enter the batch | Mode | Input | Behavior | | --------------- | ----------------------------------------- | --------------------------------------------------------------------------------------- | | Fixed URL list | `input.type: "scrape"` | Scrapes the URL objects in `input.data.urls`. Submit between 1 and 25,000. | | Start URL crawl | `input.type: "crawl"`, source `start_url` | Fetches the starting page, then follows eligible same-site links. | | Sitemap batch | `input.type: "crawl"`, source `sitemap` | Reads a domain's sitemap and scrapes those URLs without following links from the pages. | For every mode, set `input.data.type` to `markdown` or `html`. Markdown output supports link and image controls in addition to the common scraping options. ## Submit a fixed URL list Each entry in `input.data.urls` requires a `url`. Add `itemId` or `meta` when you need to join result records back to your own data. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/batch/submit \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: docs-import-2026-07-31-v1" \ -d '{ "input": { "type": "scrape", "data": { "type": "markdown", "urls": [ { "url": "https://example.com/docs/getting-started", "itemId": "docs-001", "meta": { "section": "getting-started" } }, { "url": "https://example.com/docs/api", "itemId": "docs-002" } ], "options": { "useMainContentOnly": true, "includeLinks": true, "maxAgeMs": 86400000 } } }, "webhookUrl": "https://example.com/webhooks/context", "tags": ["docs", "migration"] }' ``` 1 credit per successfully scraped page The API reserves credits for accepted pages at submission and returns `202`. Duplicate or invalid URLs are not accepted or charged. ```json sample response expandable theme={null} { "id": "batch_9f2c8a", "status": "queued", "mode": "scrape", "type": "markdown", "tags": ["docs", "migration"], "input": { "submitted": 2, "accepted": 2, "duplicates": 0, "invalid": 0 }, "progress": { "succeeded": 0, "failed": 0, "pending": 2 }, "credits": { "estimated": 2, "charged": 0 }, "timing": { "created_at": "2026-07-31T12:00:00.000Z", "started_at": null, "completed_at": null }, "errors": [], "error": null, "results": null, "invalid_urls": [], "webhook_secret": "whsec_...", "key_metadata": { "credits_consumed": 0, "credits_remaining": 500 } } ``` Retries with the same `Idempotency-Key` and request body return the original batch. Reusing the key with a different body returns `409 IDEMPOTENCY_KEY_CONFLICT`. Keys can contain up to 200 characters. ### Content options Common options under `input.data.options` include: | Option | Description | | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `useMainContentOnly` | Remove navigation, headers, footers, and sidebars. | | `includeSelectors` / `excludeSelectors` | Keep or remove matching CSS subtrees. | | `maxAgeMs` | Reuse a cached scrape younger than this many milliseconds. Set `0` to scrape fresh. | | `waitForMs` | Wait up to 15 seconds after browser load when rendering is needed. | | `settleAnimations` | Wait briefly for CSS transitions and animations to settle. | | `country` | Select the browser/proxy country. | | `pdf` | Control PDF parsing, page range, and OCR. OCR is opt-in and billed at 1 credit per recovered page; skipped PDFs and image-only scans surface `PDF_SKIPPED` / `PDF_IMAGES_ONLY` in the page's error record. | Markdown batches also support `includeLinks`, `includeImages`, and `shortenBase64Images`. See [Submit a Batch](/api-reference/batches/submit) for the complete schema. ## Crawl from a starting URL Use a `start_url` source to follow links from one page. The starting URL is always included, even when `regex` does not match it. If the URL has no scheme, Context.dev reads it as HTTPS. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/batch/submit \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: example-docs-crawl-v1" \ -d '{ "input": { "type": "crawl", "data": { "type": "markdown", "source": { "type": "start_url", "url": "https://example.com/docs", "controls": { "maxUrls": 500, "maxDepth": 3, "followSubdomains": false, "regex": "^https://example\\.com/docs/" } }, "options": { "useMainContentOnly": true } } }, "tags": ["docs-crawl"] }' ``` `controls` is optional. `maxUrls` defaults to 100, `followSubdomains` defaults to `false`, and an omitted `maxDepth` allows any depth until another control stops discovery. ## Scrape URLs from a sitemap Use a `sitemap` source to scrape URLs listed by a domain. The API accepts a bare domain or a full URL and reduces it to the domain. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/batch/submit \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: example-sitemap-v1" \ -d '{ "input": { "type": "crawl", "data": { "type": "html", "source": { "type": "sitemap", "domain": "example.com", "controls": { "maxUrls": 500, "regex": "^https://example\\.com/docs/" } } } } }' ``` A sitemap batch scrapes only URLs from the sitemap. It does not follow links from those pages, so sitemap controls support `maxUrls` and `regex`, but not `maxDepth` or `followSubdomains`. ## Poll for completion Save the `id` returned by submission, then retrieve the batch: ```bash cURL theme={null} export BATCH_ID="batch_9f2c8a" curl https://api.context.dev/v1/batch/$BATCH_ID \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` Poll every 10 to 30 seconds while the status is `queued`, `running`, or `cancelling`. Stop when it becomes `completed`, `cancelled`, or `failed`. Polling is the one part of a batch that does spend rate-limit budget: each retrieve is an ordinary 1-request call, so a two-second poll loop burns 30 requests a minute on status checks alone. Pass `webhookUrl` at submission and you can skip polling altogether. | Field | Meaning | | -------------------- | ------------------------------------------------------------------- | | `progress.succeeded` | Pages scraped successfully. | | `progress.failed` | Pages that could not be scraped. | | `progress.pending` | Accepted pages not yet attempted. It is `0` when a batch completes. | | `credits.estimated` | Credits reserved for accepted pages or the crawl page limit. | | `credits.charged` | Credits consumed by successful pages. | | `errors` | Page failures grouped by error code. | | `error` | Batch-level failure detail when the batch itself fails. | A crawl can complete below `maxUrls` when no more eligible pages are reachable. The retrieve response also repeats `invalid_urls` and `webhook_secret`, so a dropped submit response does not lose them. ## Read result records as JSON Once the batch is terminal, request a page of results: ```bash cURL theme={null} curl -G https://api.context.dev/v1/batch/$BATCH_ID/results \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "limit=100" ``` Successful records have `status: "ok"` plus `http_status`, `final_url`, metadata, and either `markdown` or `html`. Failed records have `status: "error"`, `error_code`, and `message`. Scrape results echo any submitted `itemId` and `meta`. ```json sample response expandable theme={null} { "data": [ { "url": "https://example.com/docs/getting-started", "itemId": "docs-001", "meta": { "section": "getting-started" }, "status": "ok", "http_status": 200, "final_url": "https://example.com/docs/getting-started", "markdown": "# Getting started\n\n...", "metadata": { "title": "Getting started" } }, { "url": "https://example.com/missing", "status": "error", "error_code": "NOT_FOUND", "message": "Page returned 404" } ], "has_more": true, "next_cursor": "...", "key_metadata": { "credits_consumed": 0, "credits_remaining": 498 } } ``` A page can close before `limit` to keep its payload under approximately 8 MB. Continue based on `has_more` and `next_cursor`, not the number of records: ```bash cURL theme={null} curl -G https://api.context.dev/v1/batch/$BATCH_ID/results \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "limit=100" \ --data-urlencode "cursor=$NEXT_CURSOR" ``` For large result sets, retrieve the batch and download the signed URLs in `results.files` instead. Each file is gzipped NDJSON. The response includes `results.expires_at`; retrieve the batch again to obtain fresh links after they expire. ## Find previous batches List batches newest first and combine status, search, and tag filters: ```bash cURL theme={null} curl -G https://api.context.dev/v1/batch/list \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "status=completed" \ --data-urlencode "q=docs" \ --data-urlencode "search_type=prefix" \ --data-urlencode "tags=docs,migration" \ --data-urlencode "limit=50" ``` `q` matches batch IDs, crawl sources, and tags. The `tags` filter matches batches containing any supplied tag. Continue with `next_cursor` when `has_more` is true. ## Cancel or delete a batch Cancellation stops new pages from starting. Pages already in progress finish before the batch reaches `cancelled`, and unused reserved credits are released. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/batch/$BATCH_ID/cancel \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` After a batch reaches `completed`, `cancelled`, or `failed`, you can permanently delete its metadata and stored results: ```bash cURL theme={null} curl -X DELETE https://api.context.dev/v1/batch/$BATCH_ID \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` ## Handle errors | Status | Error | What to do | | ------ | ------------------------------------ | ----------------------------------------------------------------------- | | 400 | Invalid request or unusable input | Check the discriminated input shape, URL count, and strict field names. | | 401 | Authentication or balance error | Check the API key and available credits. | | 403 | `BATCH_LIMIT_EXCEEDED` | Wait for an active batch to finish before submitting another. | | 409 | `IDEMPOTENCY_KEY_CONFLICT` | Use the original body or choose a new idempotency key. | | 409 | `BATCH_NOT_COMPLETED` | Wait for a terminal status before reading results. | | 409 | Batch cannot be cancelled or deleted | Retrieve it and act based on its current status. | | 429 | `RATE_LIMITED` | Wait for the rate-limit window and retry with backoff. | | 500 | Input could not be staged or queued | Retry with the same idempotency key so a duplicate is not created. | ## Next steps Full request schema, examples, and responses. Paginated success and error records. Use synchronous scraping for one page at a time. Authentication, retries, caching, and error handling. # Scrape Websites Source: https://docs.context.dev/guides/scrape-websites-to-markdown Scrape any URL to clean Markdown or HTML, crawl a whole domain, list sitemap URLs, or extract images. Handles PDF, DOCX, XLSX, PPTX, and CSV natively. Context.dev's Web APIs can: * Turn a webpage into clean markdown/HTML * Crawl an entire website and save every page as markdown * Get all webpages under a domain * Extract every image on a webpage Context.dev's scrapers automatically switch to a different web-proxy when they get blocked by bot protection or geo-restrictions. I'm integrating Context.dev's web scraping endpoints into my app. Help me: 1. Install the official SDK for my language: `context.dev` on npm (TypeScript), `context.dev` on PyPI (Python), `context.dev` on RubyGems (Ruby), `context-dev/context-dev-php` on Packagist (PHP), or `github.com/context-dot-dev/context-go-sdk` (Go). Or call the raw HTTP API with `curl` / `fetch`. 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. Authentication is a bearer token on every request. 3. Call `/web/scrape/markdown` to turn a URL into clean Markdown (pass `useMainContentOnly: true` to strip nav, footer, and chrome). 4. Call `/web/scrape/html` for raw rendered HTML, `/web/scrape/images` for an image manifest, `/web/scrape/sitemap` to list a domain's URLs, and `/web/crawl` to walk a whole domain with `maxPages` and `maxDepth` caps. 5. Wrap calls with exponential backoff for transient failures. Proxy escalation is automatic, so most retries succeed on a different IP pool. Docs: [https://docs.context.dev/guides/scrape-websites-to-markdown](https://docs.context.dev/guides/scrape-websites-to-markdown) ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` ## Scrape a single page to Markdown `GET /web/scrape/markdown` scrapes any URL into LLM-ready GitHub Flavored Markdown. Bot protection and geo-blocks are handled by automatic proxy escalation; pass `useMainContentOnly: true` to drop nav, footer, sidebars, and other chrome. The endpoint transparently handles HTML, XML, JSON, text, Markdown, SVG, PDF, DOCX, DOC, XLSX, XLS, PPTX, PPT, and CSV. Excel workbooks come back as one GFM table per sheet (with each sheet name as an `##` heading); PowerPoint decks come back as slide-structured markdown (one `## Slide N: Title` per slide, followed by body text, tables, and speaker notes); CSV files come back as a single GFM table, with any comma-less leading line surfaced as text above it. Unsupported formats (images, media, archives) return a `415`. ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/scrape/markdown \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "url=https://example.com" \ --data-urlencode "useMainContentOnly=true" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.webScrapeMd({ url: "https://example.com", useMainContentOnly: true, }); console.log(response.markdown); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.web_scrape_md( url="https://example.com", use_main_content_only=True, ) print(response.markdown) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.web_scrape_md( url: "https://example.com", use_main_content_only: true, ) puts response.markdown ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.WebScrapeMd(context.TODO(), contextdev.WebWebScrapeMdParams{ URL: "https://example.com", UseMainContentOnly: param.NewOpt(true), }) if err != nil { panic(err) } fmt.Println(response.Markdown) } ``` ```php PHP theme={null} web->webScrapeMd( url: 'https://example.com', useMainContentOnly: true, ); echo $response->markdown, PHP_EOL; ``` 1 credit per call The connection stays open while the page is fetched and converted, so there's no need to poll. Repeated calls for the same URL within `maxAgeMs` return the cached scrape. ### Request Parameters | Parameter | Type | Default | Description | | --------------------- | ------------ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | string (URI) | none | **Required.** Full URL to scrape. Must include `http://` or `https://`. | | `includeLinks` | boolean | `true` | Preserve hyperlinks in the Markdown output. | | `includeImages` | boolean | `false` | Include image references in the Markdown output. | | `shortenBase64Images` | boolean | `true` | Truncate base64-encoded image data so it doesn't dominate the response. | | `useMainContentOnly` | boolean | `false` | Strip headers, footers, sidebars, and navigation, keeping only the main content. | | `includeFrames` | boolean | `false` | When true, the contents of iframes are rendered to Markdown. | | `includeSelectors` | string\[] | none | CSS selectors. When provided, only matching HTML subtrees (and their descendants) are kept before conversion to Markdown. Examples: `article.main`, `#content`, `[role=main]`. | | `excludeSelectors` | string\[] | none | CSS selectors to remove before conversion to Markdown. Applied after `includeSelectors`; exclusion takes precedence. Examples: `nav`, `footer`, `.ad-banner`. | | `pdf` | object | `{ shouldParse: true }` | PDF-page controls: `shouldParse`, `start`, `end` (1-based inclusive range), `ocr`. Set `shouldParse: false` to skip PDFs (skipped PDFs return a 400 `PDF_SKIPPED`). Set `ocr: true` to OCR scanned pages and inline the recognized text alongside the text layer, billed at 1 credit per recovered page; a scanned PDF with `ocr` off returns a 400 `PDF_IMAGES_ONLY`. | | `maxAgeMs` | integer | `86400000` (24h) | Return a cached scrape if one exists younger than this. `0` forces a fresh scrape. Max is 30 days. | | `waitForMs` | integer | none | Browser wait time after initial load (max 30000). Use when the page needs JS time to populate. | | `actions` | array | none | Up to 5 ordered [browser actions](#run-browser-actions-before-scraping) executed after the page loads and before content is captured. Requires a paid plan; bumps the call to 2 credits and bypasses the cache. | | `headers` | object | none | Outbound HTTP headers forwarded to the target URL, sent as deep-object query params (e.g. `headers[X-Custom]=value`). When provided, caching is bypassed entirely. | | `timeoutMS` | integer | none | Abort with a 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | ### Response ```json theme={null} { "success": true, "url": "https://example.com", "markdown": "# Example Domain\n\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\n\n[Learn more](https://iana.org/domains/example)", "contentLength": 174 } ``` | Field | Type | Description | | --------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `success` | boolean | `true` when the scrape completed. | | `url` | string | The URL that was scraped. | | `markdown` | string | The page rendered as GitHub Flavored Markdown. By default the full page is converted; pass `useMainContentOnly: true` to strip nav, footer, sidebars, and other chrome. | | `contentLength` | integer | UTF-8 byte length of `markdown`. Use this to budget tokens or detect empty results without re-measuring the string. | To get the page as raw HTML: ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/scrape/html \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "url=https://example.com" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.webScrapeHTML({ url: "https://example.com" }); console.log(response.html.length); ``` ```python Python theme={null} # Requires beautifulsoup4 and lxml if you copy this parsing example. import os from context.dev import ContextDev from bs4 import BeautifulSoup client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.web_scrape_html(url="https://example.com") soup = BeautifulSoup(response.html, "lxml") print(soup.title.string) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.web_scrape_html(url: "https://example.com") puts response.html.length ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.WebScrapeHTML(context.TODO(), contextdev.WebWebScrapeHTMLParams{ URL: "https://example.com", }) if err != nil { panic(err) } fmt.Println(len(response.HTML)) } ``` ```php PHP theme={null} web->webScrapeHTML(url: 'https://example.com'); echo strlen($response->html), PHP_EOL; ``` 1 credit per call **Request Parameters** | Parameter | Type | Default | Description | | -------------------- | ------------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | string (URI) | none | **Required.** Full URL to scrape. | | `includeFrames` | boolean | `false` | When true, iframes are rendered inline into the returned HTML. | | `useMainContentOnly` | boolean | `false` | Return only the page's main content, excluding headers, footers, sidebars, and navigation when detectable. | | `includeSelectors` | string\[] | none | CSS selectors. When provided, only matching subtrees (and their descendants) are kept; everything else is dropped. | | `excludeSelectors` | string\[] | none | CSS selectors to remove from the result. Applied after `includeSelectors`; exclusion takes precedence. | | `pdf` | object | `{ shouldParse: true }` | PDF-page controls; same shape as `/web/scrape/markdown`. | | `maxAgeMs` | integer | `86400000` | Cache TTL. `0` for fresh. Max 30 days. | | `waitForMs` | integer | none | Wait after initial load (max 30000). | | `actions` | array | none | Up to 5 ordered [browser actions](#run-browser-actions-before-scraping) executed after the page loads and before content is captured. Requires a paid plan; bumps the call to 2 credits and bypasses the cache. | | `headers` | object | none | Outbound HTTP headers forwarded to the target URL (e.g. `headers[X-Custom]=value`). When provided, caching is bypassed. | | `timeoutMS` | integer | none | Abort with a 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | **Response** ```json theme={null} { "success": true, "url": "https://example.com", "html": "Example Domain…", "type": "html" } ``` | Field | Type | Description | | --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `success` | boolean | `true` when the scrape completed. | | `url` | string | The URL that was scraped. | | `html` | string | Rendered HTML for normal pages. For sitemaps and feeds behind an XSL stylesheet, the underlying XML. For Excel workbooks, the extracted sheets as HTML `` elements (one per sheet, headed by an `

`). For PowerPoint decks, the extracted slides as HTML (each slide headed by `

Slide N: Title

`, followed by paragraphs, `
` elements, and an `

Notes

` block when speaker notes are present). | | `type` | enum | Detected content type of `html`. One of `html`, `xml`, `json`, `text`, `csv`, `markdown`, `svg`, `pdf`, `docx`, `doc`, `xlsx`, `xls`, `pptx`, `ppt`. | ## Crawl a whole site `POST /web/crawl` takes a seed URL and returns an array of scraped pages in one call. That's exactly the shape you want for seeding a RAG index or building a knowledge base. ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/web/crawl \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://context.dev", "maxPages": 3, "maxDepth": 1 }' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.webCrawlMd({ url: "https://context.dev", maxPages: 3, maxDepth: 1, }); for (const page of response.results) { console.log(`${page.metadata.url}: ${page.markdown.length} chars`); } ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.web_crawl_md( url="https://context.dev", max_pages=3, max_depth=1, ) for page in response.results: print(f"{page.metadata.url}: {len(page.markdown)} chars") ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.web_crawl_md( url: "https://context.dev", max_pages: 3, max_depth: 1, ) response.results.each do |page| puts "#{page.metadata.url}: #{page.markdown.length} chars" end ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.WebCrawlMd(context.TODO(), contextdev.WebWebCrawlMdParams{ URL: "https://context.dev", MaxPages: param.NewOpt(int64(3)), MaxDepth: param.NewOpt(int64(1)), }) if err != nil { panic(err) } for _, page := range response.Results { fmt.Printf("%s: %d chars\n", page.Metadata.URL, len(page.Markdown)) } } ``` ```php PHP theme={null} web->webCrawlMd( url: 'https://context.dev', maxPages: 3, maxDepth: 1, ); foreach ($response->results as $page) { echo $page->metadata->url, ': ', strlen($page->markdown), ' chars', PHP_EOL; } ``` 1 credit per page scraped Crawls are billed per page, not per call. Scraping a website with 50 pages costs 50 credits. Set `maxPages` accordingly. ### Request Parameters | Parameter | Type | Default | Description | | --------------------- | ------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | `url` | string (URI) | none | **Required.** Starting URL for the crawl. | | `maxPages` | integer | `100` | Maximum pages to crawl. Hard cap: `500`. | | `maxDepth` | integer | none | Maximum link depth from the starting URL (`0` = only the seed). | | `urlRegex` | string | none | Only URLs matching this regex are followed and scraped. Example: `^https?://[^/]+/blog/`. | | `followSubdomains` | boolean | `false` | When true, follow links on subdomains (`docs.example.com` from `example.com`). `www` and apex are always treated as equivalent. | | `includeLinks` | boolean | `true` | Preserve hyperlinks in each page's Markdown. | | `includeImages` | boolean | `false` | Include image references in each page's Markdown. | | `shortenBase64Images` | boolean | `true` | Truncate base64 image data. | | `useMainContentOnly` | boolean | `false` | Strip nav/footer/sidebars on every page. | | `includeFrames` | boolean | `false` | Render iframes on every page. | | `includeSelectors` | string\[] | none | CSS selectors. When provided, only matching HTML subtrees (and their descendants) are kept before each page is converted to Markdown. | | `excludeSelectors` | string\[] | none | CSS selectors to remove before each page is converted to Markdown. Applied after `includeSelectors`; exclusion takes precedence. | | `pdf` | object | `{ shouldParse: true }` | PDF-page controls. Set `shouldParse: false` to skip PDFs entirely. | | `maxAgeMs` | integer | `86400000` | Per-page cache TTL. | | `waitForMs` | integer | none | Per-page wait after initial load. Max 30000. | | `stopAfterMs` | integer | `80000` | Soft time budget for the entire crawl (10000–110000). The crawler returns what it has so far when exceeded. | | `timeoutMS` | integer | none | Hard abort: returns a 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | ### Response ```json expandable theme={null} { "results": [ { "markdown": "# Context.dev\n\nTurn any domain into structured, AI-ready data…", "metadata": { "url": "https://context.dev/", "title": "Context.dev: Brand & Web APIs for Agents", "crawlDepth": 0, "statusCode": 200, "success": true } }, { "markdown": "# Brand.dev is now Context.dev\n\nWhy we renamed…", "metadata": { "url": "https://context.dev/blog/brand-dev-is-now-context-dev", "title": "Brand.dev is now Context.dev", "crawlDepth": 1, "statusCode": 200, "success": true } }, { "markdown": "# Pricing\n\nPay only for successful calls…", "metadata": { "url": "https://context.dev/pricing", "title": "Pricing | Context.dev", "crawlDepth": 1, "statusCode": 200, "success": true } } ], "metadata": { "numUrls": 3, "maxCrawlDepth": 1, "numSucceeded": 3, "numFailed": 0, "numSkipped": 0 } } ``` | Field | Type | Description | | ------------------------------- | ------- | -------------------------------------------------------------------- | | `results[]` | array | One entry per crawled page. | | `results[].markdown` | string | The page body as GitHub-Flavored Markdown. | | `results[].metadata.url` | string | The URL that was fetched (after redirects). | | `results[].metadata.title` | string | The page's `` tag value. | | `results[].metadata.crawlDepth` | number | Link-hops from the seed URL (`0` for the seed itself). | | `results[].metadata.statusCode` | number | HTTP status of the underlying fetch. | | `results[].metadata.success` | boolean | `false` for pages that failed to render; `markdown` may be empty. | | `metadata.numUrls` | number | Total URLs the crawler attempted. | | `metadata.maxCrawlDepth` | number | Deepest hop reached during the crawl. | | `metadata.numSucceeded` | number | Pages fetched successfully. Matches the credit cost. | | `metadata.numFailed` | number | Pages that errored. | | `metadata.numSkipped` | number | Pages skipped (e.g. by `urlRegex` or `pdf: { shouldParse: false }`). | ## Get all URLs of a domain `GET /web/scrape/sitemap` reads `sitemap.xml` from a domain root, follows any nested sitemap indexes, and returns a de-duplicated URL list without rendering any of the pages. Use it for cheap coverage of large sites or to feed a downstream scraper with a curated list. <CodeGroup> ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/scrape/sitemap \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=stripe.com" \ --data-urlencode "maxLinks=50" \ --data-urlencode "urlRegex=/customers/" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.webScrapeSitemap({ domain: "stripe.com", maxLinks: 50, urlRegex: "/customers/", }); console.log(`${response.urls.length} URLs across ${response.meta.sitemapsDiscovered} sitemaps`); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.web_scrape_sitemap( domain="stripe.com", max_links=50, url_regex="/customers/", ) print(f"{len(response.urls)} URLs across {response.meta.sitemaps_discovered} sitemaps") ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.web_scrape_sitemap( domain: "stripe.com", max_links: 50, url_regex: "/customers/", ) puts "#{response.urls.length} URLs across #{response.meta.sitemaps_discovered} sitemaps" ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.WebScrapeSitemap(context.TODO(), contextdev.WebWebScrapeSitemapParams{ Domain: "stripe.com", MaxLinks: param.NewOpt(int64(50)), URLRegex: param.NewOpt("/customers/"), }) if err != nil { panic(err) } fmt.Printf("%d URLs across %d sitemaps\n", len(response.URLs), response.Meta.SitemapsDiscovered) } ``` ```php PHP theme={null} <?php use ContextDev\Client; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); $response = $client->web->webScrapeSitemap( domain: 'stripe.com', maxLinks: 50, urlRegex: '/customers/', ); echo count($response->urls), ' URLs across ', $response->meta->sitemapsDiscovered, ' sitemaps', PHP_EOL; ``` </CodeGroup> <Badge icon="coins">1 credit per call</Badge> ### Request Parameters | Parameter | Type | Default | Description | | ----------- | ------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | `domain` | string | none | **Required.** Domain to build a sitemap for (e.g. `example.com`). No protocol required; the API validates and normalizes the input. | | `maxLinks` | integer | `500` | Maximum URLs to return (effective range 1–500). The response's `urls[]` array is hard-capped at 500 entries, so values above 500 are clamped. | | `urlRegex` | string | none | Filter the discovered URLs by regex pattern. | | `headers` | object | none | Outbound HTTP headers forwarded to the target URL (e.g. `headers[X-Custom]=value`). When provided, caching is bypassed. | | `timeoutMS` | integer | none | Abort with a 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | ### Response ```json theme={null} { "success": true, "domain": "stripe.com", "urls": [ "https://stripe.com/customers/all", "https://stripe.com/customers/gamma", "https://stripe.com/customers/chatbase" ], "meta": { "sitemapsDiscovered": 4, "sitemapsFetched": 4, "sitemapsSkipped": 0, "errors": 0 } } ``` | Field | Type | Description | | ------------------------- | --------- | -------------------------------------------------------------------------------------------------- | | `success` | boolean | `true` when the sitemap crawl completed. | | `domain` | string | The normalized domain that was crawled. | | `urls[]` | string\[] | Discovered page URLs, de-duplicated. Bounded by `maxLinks` and capped at 500 entries per response. | | `meta.sitemapsDiscovered` | number | Total sitemap XML files discovered (root + nested indexes). | | `meta.sitemapsFetched` | number | Sitemaps actually fetched and parsed. | | `meta.sitemapsSkipped` | number | Sitemaps skipped (404s, malformed XML, etc.). | | `meta.errors` | number | Errors encountered during crawling. | ## Extract every image on a page `GET /web/scrape/images` takes a URL and returns a manifest of every image referenced on the page: `<img>` tags, inline `<svg>`, CSS background images, `<picture>` sources, OpenGraph and Twitter card images, favicons. Opt into `enrichment` to also get measured dimensions, a CDN-hosted copy, and a visual-type classification per image. <CodeGroup> ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/scrape/images \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "url=https://airbnb.com" \ --data-urlencode "enrichment[resolution]=true" \ --data-urlencode "enrichment[classification]=true" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.webScrapeImages({ url: "https://airbnb.com", enrichment: { resolution: true, classification: true }, }); const hero = response.images .filter((img) => img.enrichment?.width && img.enrichment?.height) .sort((a, b) => b.enrichment!.width! * b.enrichment!.height! - a.enrichment!.width! * a.enrichment!.height!)[0]; console.log(hero?.src, hero?.enrichment?.type); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.web_scrape_images( url="https://airbnb.com", enrichment={"resolution": True, "classification": True}, ) sized = [img for img in response.images if img.enrichment and img.enrichment.width and img.enrichment.height] hero = max(sized, key=lambda i: i.enrichment.width * i.enrichment.height, default=None) if hero: print(hero.src, hero.enrichment.type) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) response = client.web.web_scrape_images( url: "https://airbnb.com", enrichment: { resolution: true, classification: true }, ) sized = response.images.select { |i| i.enrichment && i.enrichment.width && i.enrichment.height } hero = sized.max_by { |i| i.enrichment.width * i.enrichment.height } puts "#{hero.src} #{hero.enrichment.type}" if hero ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) response, err := client.Web.WebScrapeImages(context.TODO(), contextdev.WebWebScrapeImagesParams{ URL: "https://airbnb.com", Enrichment: contextdev.WebWebScrapeImagesParamsEnrichment{ Resolution: param.NewOpt(true), Classification: param.NewOpt(true), }, }) if err != nil { panic(err) } fmt.Printf("found %d images\n", len(response.Images)) } ``` ```php PHP theme={null} <?php use ContextDev\Client; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); $response = $client->web->webScrapeImages( url: 'https://airbnb.com', enrichment: ['resolution' => true, 'classification' => true], ); $sized = array_filter( $response->images ?? [], fn ($img) => $img->enrichment?->width && $img->enrichment?->height, ); usort($sorted = array_values($sized), fn ($a, $b) => ($b->enrichment->width * $b->enrichment->height) <=> ($a->enrichment->width * $a->enrichment->height) ); $hero = $sorted[0] ?? null; if ($hero) { echo $hero->src, ' ', $hero->enrichment->type, PHP_EOL; } ``` </CodeGroup> <Badge icon="coins">1 credit per call</Badge> <Badge icon="coins">5 credits per call if enrichment flags are used</Badge> ### Request Parameters | Parameter | Type | Default | Description | | --------------------------- | ------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | string (URI) | none | **Required.** Page URL to inspect. | | `maxAgeMs` | integer | `86400000` | Cache TTL (0 forces fresh; max 30 days). | | `enrichment.resolution` | boolean | `false` | Measure width × height in pixels when possible. | | `enrichment.hostedUrl` | boolean | `false` | Host materializable images on Context.dev's CDN and return their URL + MIME type. | | `enrichment.classification` | boolean | `false` | Classify each image as `photography`, `illustration`, `logo`, `wordmark`, `icon`, `pattern`, `graphic`, or `other`. | | `enrichment.maxTimePerMs` | integer | `30000` | Per-image enrichment timeout (1–60000 ms). | | `waitForMs` | integer | none | Browser wait after initial load (max 30000). | | `actions` | array | none | Up to 5 ordered [browser actions](#run-browser-actions-before-scraping) executed after the page loads and before images are collected. Requires a paid plan; bumps the base call to 2 credits and bypasses the cache. Enriched calls stay at 5 credits. | | `headers` | object | none | Outbound HTTP headers forwarded to the target URL (e.g. `headers[X-Custom]=value`). When provided, caching is bypassed. | | `timeoutMS` | integer | none | Abort with a 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | ### Response ```json expandable theme={null} { "success": true, "url": "https://airbnb.com", "images": [ { "src": "https://a0.muscache.com/im/pictures/airbnb-platform-assets/AirbnbPlatformAssets-UserProfile/original/5347d650-16de-4f5a-a38e-79edc988befa.png?im_w=720", "element": "img", "type": "url", "alt": null, "enrichment": { "width": 720, "height": 720, "type": "illustration" } }, { "src": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" …></svg>", "element": "svg", "type": "html", "alt": null, "enrichment": { "width": 16, "height": 16, "type": "icon" } } ] } ``` | Field | Type | Description | | ------------------------------ | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `success` | boolean | `true` when the scrape completed. | | `url` | string | The page URL that was scraped. | | `images[]` | array | One entry per image referenced on the page. | | `images[].src` | string | For `type: "url"`, the absolute image URL. For `type: "html"`, the raw inline SVG/HTML. | | `images[].element` | enum | DOM origin: `img`, `svg`, `link`, `source`, `video`, `css`, `object`, `meta`, or `background`. | | `images[].type` | enum | Format of `src`: `url` (external image), `html` (inline markup like SVG), or `base64` (data URI). | | `images[].alt` | string \| null | Alt text where present. | | `images[].enrichment.width` | number | Pixel width. Present when `enrichment.resolution=true`. | | `images[].enrichment.height` | number | Pixel height. Present when `enrichment.resolution=true`. | | `images[].enrichment.mimetype` | string | MIME type. Present when hosted via `enrichment.hostedUrl=true`. | | `images[].enrichment.url` | string | Context.dev CDN URL. Present when `enrichment.hostedUrl=true`. | | `images[].enrichment.type` | enum | Visual category. Present when `enrichment.classification=true`. One of `photography`, `illustration`, `logo`, `wordmark`, `icon`, `pattern`, `graphic`, `other`. | The base manifest is 1 credit. Setting any `enrichment` flag (`resolution`, `hostedUrl`, or `classification`) bumps the entire call to 5 credits, even if only one image qualifies for enrichment. ## Run browser actions before scraping Some pages only reveal their real content after a user interacts — dismissing a cookie banner, clicking "Load more", switching a tab, or waiting for an animation. Pass an `actions` array to `/web/scrape/markdown`, `/web/scrape/html`, or `/web/scrape/images` to run up to **5** ordered browser actions after the page loads and before content is captured. <Note> Actions require a paid plan. Free-tier keys receive a `403 PAID_PLAN_REQUIRED`. When any action is provided, the request costs **2 credits** (5 for enriched images) and both the scrape cache and any HTTP/PDF fast paths are bypassed. </Note> Each action is a JSON object discriminated by `do`: | `do` | Fields | Purpose | | --------- | ------------------------------- | ---------------------------------------------------------------------------------------------------- | | `wait` | `timeMs` (integer, `0`–`30000`) | Pause for a fixed number of milliseconds before continuing to the next action. | | `perform` | `action` (string, 1–500 chars) | Resolve and perform a natural-language browser instruction, such as `click the "Accept all" button`. | <CodeGroup> ```bash cURL theme={null} curl -G https://api.context.dev/v1/web/scrape/markdown \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "url=https://news.ycombinator.com" \ --data-urlencode 'actions=[{"do":"perform","action":"click the More link at the bottom"},{"do":"wait","timeMs":1500}]' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const response = await client.web.webScrapeMd({ url: "https://news.ycombinator.com", actions: [ { do: "perform", action: 'click the More link at the bottom' }, { do: "wait", timeMs: 1500 }, ], }); console.log(response.markdown); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) response = client.web.web_scrape_md( url="https://news.ycombinator.com", actions=[ {"do": "perform", "action": "click the More link at the bottom"}, {"do": "wait", "time_ms": 1500}, ], ) print(response.markdown) ``` </CodeGroup> Actions run in array order. A common recipe is one `perform` to trigger the interaction followed by a short `wait` so the DOM can settle before capture. ## Use cases * Build a [RAG pipeline](/use-cases/build-rag-from-websites) from a docs site by crawling and chunking the returned Markdown. * [Cut LLM token bills](/use-cases/build-rag-from-websites) by feeding clean Markdown instead of raw HTML. * Seed a vector index without managing scrapers or proxy infrastructure. * Monitor competitors' marketing pages by scraping them on a schedule. ## Next steps <CardGroup> <Card title="Prefetch for Faster Response" icon="bolt" href="/optimization/prefetching"> Hide cold-hit latency from your users. </Card> <Card title="Handle Rate Limits" icon="gauge-high" href="/optimization/rate-limits"> Backoff strategies, client cache, and prefetch fallbacks. </Card> <Card title="Best Practices" icon="list-check" href="/optimization/best-practices"> Caching, error handling, and key hygiene. </Card> <Card title="Troubleshooting" icon="bug" href="/optimization/troubleshooting"> Status codes, retry patterns, and common errors. </Card> </CardGroup> # Capture Screenshots Source: https://docs.context.dev/guides/take-webpage-screenshot Get a screenshot PNG of a webpage in a desktop viewport or as a full-page capture Context.dev's Screenshot API finds and opens any page in a browser, captures a PNG screenshot, hosts it on a CDN, and sends back a URL to access it. It can dismiss cookie banners, capture the full scrollable height, and find standard pages (like pricing, login, etc.) for a given domain without you entering the exact path. <Prompt description="Integrate Context.dev's Screenshot API in your app" icon="sparkles"> I'm integrating Context.dev's Screenshot API (`GET /web/screenshot`) into my app. Help me: 1. Install the official SDK for my language (`context.dev` on npm / PyPI / RubyGems, `context-dev/context-dev-php` on Packagist, `github.com/context-dot-dev/context-go-sdk` for Go). 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Call `client.web.screenshot({ domain })` (or `directUrl` for an exact URL). The response is JSON with `screenshot` (a CDN URL), `screenshotType`, `width`, `height`. It is not raw image bytes. 4. Toggle `fullScreenshot: "true"` for full-page capture, set `viewport: { width, height }` for a specific viewport, and pass `page: "pricing"` / `"login"` / etc. when I want the heuristic to resolve the right URL on a domain. 5. Set `handleCookiePopup: "true"` when capturing a site with a consent banner. 6. Use `maxAgeMs: 0` to force a fresh capture; default cache is 1 day, max 30 days. 7. Retry HTTP 500 with exponential backoff. Surface HTTP 400 (validation) as a user-facing error. Docs: [https://docs.context.dev/guides/take-webpage-screenshot](https://docs.context.dev/guides/take-webpage-screenshot) </Prompt> ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it: ```bash theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` * **An SDK (optional).** Install for your language, or skip the install and call directly with `curl`: <CodeGroup> ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` </CodeGroup> ## Capture a screenshot There are two ways to point at the page you want to capture: 1. **Give a specific URL**: pass `directUrl` with the full URL (e.g. `https://stripe.com/pricing`). 2. **Give a domain and a page type**: pass `domain` (e.g. `stripe.com`) for the homepage. Add a `page` type (choose from `login`, `signup`, `blog`, `careers`, `pricing`, `terms`, `privacy`, or `contact`) to let Context.dev's resolver find the right URL on the domain. <CodeGroup> ```bash cURL theme={null} # 1. Give a specific URL curl -G https://api.context.dev/v1/web/screenshot \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "directUrl=https://stripe.com/pricing" # 2. Give a domain and a page type curl -G https://api.context.dev/v1/web/screenshot \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=stripe.com" \ --data-urlencode "page=pricing" ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); // 1. Give a specific URL const exact = await client.web.screenshot({ directUrl: "https://stripe.com/pricing", }); // 2. Give a domain and a page type const heuristic = await client.web.screenshot({ domain: "stripe.com", page: "pricing", }); console.log(exact.screenshot, heuristic.screenshot); ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) # Give a domain (or `direct_url`) and a page type. response = client.web.screenshot( domain="stripe.com", page="pricing", ) print(response.screenshot) ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) # 1. Give a specific URL exact = client.web.screenshot( direct_url: "https://stripe.com/pricing", ) # 2. Give a domain and a page type heuristic = client.web.screenshot( domain: "stripe.com", page: :pricing, ) puts "#{exact.screenshot} #{heuristic.screenshot}" ``` ```go Go theme={null} package main import ( "context" "fmt" "os" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" "github.com/context-dot-dev/context-go-sdk/packages/param" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) ctx := context.TODO() // 1. Give a specific URL exact, err := client.Web.Screenshot(ctx, contextdev.WebScreenshotParams{ DirectURL: param.NewOpt("https://stripe.com/pricing"), }) if err != nil { panic(err) } // 2. Give a domain and a page type heuristic, err := client.Web.Screenshot(ctx, contextdev.WebScreenshotParams{ Domain: param.NewOpt("stripe.com"), Page: contextdev.WebScreenshotParamsPagePricing, }) if err != nil { panic(err) } fmt.Println(exact.Screenshot, heuristic.Screenshot) } ``` ```php PHP theme={null} <?php use ContextDev\Client; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); // 1. Give a specific URL $exact = $client->web->screenshot(directURL: 'https://stripe.com/pricing'); // 2. Give a domain and a page type $heuristic = $client->web->screenshot(domain: 'stripe.com', page: 'pricing'); echo $exact->screenshot, ' ', $heuristic->screenshot, PHP_EOL; ``` </CodeGroup> <Badge icon="coins"> 5 credits per successful call </Badge> Context.dev finds and opens the page, closes any cookie consent pop-ups (when `handleCookiePopup` is set to `"true"`), takes a screenshot, uploads it to a CDN and returns the public URL. <Info> Captures are cached for one day by default; pass `maxAgeMs: 0` to force a fresh render, or up to 30 days for longer reuse. </Info> ### Request Parameters <Warning>Pass either `domain` or `directUrl`, not both.</Warning> | Parameter | Type | Default | Description | | ------------------- | -------------------------------------------------------------------------------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | `domain` | string | — | **Required** unless `directUrl` is provided. Domain to screenshot (e.g. `stripe.com`). | | `directUrl` | string (URI) | — | **Required** unless `domain` is provided. Exact URL to screenshot. | | `fullScreenshot` | string enum (`"true"` / `"false"`) | `"false"` | `"true"` captures the full scrollable height; otherwise a single viewport frame. | | `handleCookiePopup` | string enum (`"true"` / `"false"`) | `"false"` | When `"true"`, dismisses the cookie/consent banner before capture. | | `viewport` | object `{ width, height }` | `{ width: 1920, height: 1080 }` | Browser viewport in pixels. `width` 240–7680, `height` 240–4320. | | `page` | enum (`login` / `signup` / `blog` / `careers` / `pricing` / `terms` / `privacy` / `contact`) | — | Resolve the right URL for the page type via link-scraping heuristics. Only valid with `domain`, not `directUrl`. | | `maxAgeMs` | integer | `86400000` (1 day) | Return a cached capture younger than this. `0` forces fresh. Max `2592000000` (30 days). | | `waitForMs` | integer | `3000` | Browser wait after page load before capture. Min `0`, max `30000` (30 seconds). | | `timeoutMS` | integer | — | Abort with 408 if the request exceeds this many milliseconds. Min `1000`, max `300000` (5 min). | ### Response ```json theme={null} { "status": "ok", "code": 200, "domain": "stripe.com", "screenshot": "https://media.brand.dev/screenshots/cache/f7d1dab4f1fd942032eeb849f1ad9df7.png", "screenshotType": "viewport", "width": 1920, "height": 1080 } ``` | Field | Type | Description | | ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on success. | | `code` | integer | HTTP status code, echoed for convenience. | | `domain` | string | Normalized domain that was processed. For `directUrl` requests, the host parsed out of the URL. | | `screenshot` | string | Public CDN URL of the captured PNG. Content-addressed: the same query against the same target returns the same URL until `maxAgeMs` expires. | | `screenshotType` | enum | `"viewport"` or `"fullPage"`. Mirrors what was actually captured. | | `width` | integer | Width of the captured image in pixels. | | `height` | integer | Height in pixels. With `fullScreenshot: "true"`, this is the full scrollable height (often 5–20× the viewport). | ## Handle errors The endpoint surfaces four failure modes: | Status | Meaning | What to do | | ------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | | 400 | Validation error: neither `domain` nor `directUrl` provided, both provided at once, `page` combined with `directUrl`, or a malformed value | Surface as a user-facing error. The response body's `error_code` distinguishes `INPUT_VALIDATION_ERROR`, `WEBSITE_ACCESS_ERROR`, etc. | | 401 | Missing or invalid API key | Re-check the env var and the dashboard. | | 408 | `REQUEST_TIMEOUT`: the page didn't render before `timeoutMS` elapsed (typically a cold hit) | Retry once with backoff, or prefetch the capture ahead of time. | | 500 | Transient renderer or server error | Retry with exponential backoff. | A retry pattern that covers 500: <CodeGroup> ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); async function screenshotWithRetry(domain: string, maxRetries = 3) { for (let i = 0; i < maxRetries; i++) { try { return await client.web.screenshot({ domain }); } catch (err: any) { if (err.status === 500 && i < maxRetries - 1) { await new Promise((r) => setTimeout(r, 2 ** i * 1000)); continue; } throw err; } } } ``` ```python Python theme={null} import os import time from context.dev import ContextDev, APIError client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) def screenshot_with_retry(domain, max_retries=3): for i in range(max_retries): try: return client.web.screenshot(domain=domain) except APIError as e: if e.status_code == 500 and i < max_retries - 1: time.sleep(2 ** i) continue raise ``` ```ruby Ruby theme={null} require "context_dev" def screenshot_with_retry(domain, max_retries: 3) client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) max_retries.times do |i| return client.web.screenshot(domain: domain) rescue ContextDev::Errors::APIError => e raise unless e.status == 500 && i < max_retries - 1 sleep(2 ** i) end end ``` ```php PHP theme={null} <?php use ContextDev\Client; use ContextDev\Core\Exceptions\APIStatusException; function screenshotWithRetry(string $domain, int $maxRetries = 3) { $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); for ($i = 0; $i < $maxRetries; $i++) { try { return $client->web->screenshot(domain: $domain); } catch (APIStatusException $e) { if ($e->status === 500 && $i < $maxRetries - 1) { usleep((2 ** $i) * 1_000_000); continue; } throw $e; } } } ``` </CodeGroup> For the full error code catalog, see [Troubleshooting](/optimization/troubleshooting). ## Use cases * Auto-generate [on-brand campaign and preview images](/use-cases/branded-campaign-assets) for every page. * Give your coding agent screenshotting tools to do QA or classification tasks. * Archive dated visual snapshots of pages for compliance or audits. * Power server-side link-preview / share-card generation for chat apps, comments, and any paste-a-URL flow. ## Next steps <CardGroup> <Card title="Prefetch for Faster Response" icon="bolt" href="/optimization/prefetching"> Hide cold-hit latency from your users. </Card> <Card title="Handle Rate Limits" icon="gauge-high" href="/optimization/rate-limits"> Backoff strategies, client cache, and prefetch fallbacks. </Card> <Card title="Best Practices" icon="list-check" href="/optimization/best-practices"> Caching, error handling, and key hygiene. </Card> <Card title="Troubleshooting" icon="bug" href="/optimization/troubleshooting"> Status codes, retry patterns, and common errors. </Card> </CardGroup> # Install the CLI Source: https://docs.context.dev/install-cli Install the context-dev CLI to call brand lookups, web scraping, screenshots, and every Context.dev API endpoint straight from your terminal or agent. The [`context-dev` CLI](https://github.com/context-dot-dev/context-dev-cli) wraps every Context.dev endpoint in a single binary. Anything that can run a shell command — you, a CI job, or a coding agent like Claude Code or Codex — can resolve brands, scrape pages to Markdown, take screenshots, and classify industries without writing any SDK code. <PromptBanner /> ## Install Prebuilt binaries for macOS, Linux, and Windows ship with every [GitHub release](https://github.com/context-dot-dev/context-dev-cli/releases/latest). If you have Go 1.22+ installed, `go install` works too. <Tabs> <Tab title="macOS"> ```bash terminal theme={null} # Apple Silicon — swap arm64 for amd64 on Intel Macs curl -fsSL https://api.github.com/repos/context-dot-dev/context-dev-cli/releases/latest \ | grep -o 'https://[^"]*macos_arm64\.zip' \ | xargs curl -fsSL -o context-dev.zip unzip -o context-dev.zip -d context-dev-cli sudo mv context-dev-cli/context-dev /usr/local/bin/ ``` The archive also bundles shell completions (bash, zsh, fish) and man pages if you want them. </Tab> <Tab title="Linux"> ```bash terminal theme={null} # Debian/Ubuntu (amd64) curl -fsSL https://api.github.com/repos/context-dot-dev/context-dev-cli/releases/latest \ | grep -o 'https://[^"]*linux_amd64\.deb' \ | xargs curl -fsSL -o context-dev.deb sudo dpkg -i context-dev.deb ``` `.rpm`, `.apk` (Alpine), `.pkg.tar.zst` (Arch), and plain `.tar.gz` builds for amd64, arm64, 386, and armv6 are on the [releases page](https://github.com/context-dot-dev/context-dev-cli/releases/latest). </Tab> <Tab title="Windows"> ```powershell terminal theme={null} # x64 — swap amd64 for arm64 on ARM machines $release = Invoke-RestMethod https://api.github.com/repos/context-dot-dev/context-dev-cli/releases/latest $url = ($release.assets | Where-Object name -like "*windows_amd64.zip").browser_download_url Invoke-WebRequest $url -OutFile context-dev.zip Expand-Archive context-dev.zip -DestinationPath "$env:LOCALAPPDATA\context-dev" setx PATH "$env:PATH;$env:LOCALAPPDATA\context-dev" ``` Open a new terminal after `setx` so the updated `PATH` takes effect. </Tab> <Tab title="Go"> ```bash terminal theme={null} go install 'github.com/context-dot-dev/context-dev-cli/cmd/context-dev@latest' ``` Go places the binary in `$HOME/go/bin` (or `$GOPATH/bin` if `GOPATH` is set). If the command isn't found afterwards, add that directory to your `PATH`: ```bash terminal theme={null} # Add to your shell profile (.zshrc, .bashrc, etc.) export PATH="$PATH:$(go env GOPATH)/bin" ``` </Tab> </Tabs> Confirm it installed: ```bash terminal theme={null} context-dev --version ``` ## Set your API key Sign up at [context.dev/signup](https://context.dev/signup) (free tier: 500 one-time credits, no card) and copy your key from the [dashboard](https://context.dev/dashboard) — it starts with `ctxt_secret_`. The CLI reads the key from the `CONTEXT_DEV_API_KEY` environment variable. Every command also accepts an explicit `--api-key` flag, which takes precedence over the environment. ### Temporary (current terminal only) `export` sets the key for the shell you're in; it disappears when you close the terminal: ```bash terminal theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` For a single command, prefix the variable or pass the flag — neither touches your shell state: ```bash terminal theme={null} CONTEXT_DEV_API_KEY="ctxt_secret_..." context-dev brand retrieve --domain stripe.com context-dev brand retrieve --domain stripe.com --api-key "ctxt_secret_..." ``` ### Permanent (every new terminal) Append the export to your shell profile so the key is set in every session: ```bash terminal theme={null} # zsh (macOS default) echo 'export CONTEXT_DEV_API_KEY="ctxt_secret_..."' >> ~/.zshrc && source ~/.zshrc # bash echo 'export CONTEXT_DEV_API_KEY="ctxt_secret_..."' >> ~/.bashrc && source ~/.bashrc ``` On Windows, `setx` persists it for all future terminals: ```powershell terminal theme={null} setx CONTEXT_DEV_API_KEY "ctxt_secret_..." ``` <Warning> Never commit the key. Keep it in your shell profile, an `.envrc`, or a secret manager — and never bake it into scripts that land in a repo. </Warning> ## Usage Commands follow a resource-based structure: ```bash terminal theme={null} context-dev [resource] <command> [flags...] ``` | Resource | What it covers | | ---------- | ------------------------------------------------------------------------------------------------------------------------------ | | `brand` | Brand profiles by domain, name, email, ticker, or ISIN; transaction identification | | `web` | Scraping (Markdown, HTML, images, sitemap, crawl), search, screenshots, styleguide, fonts, competitors, JSON Schema extraction | | `ai` | Product extraction and AI data queries | | `industry` | NAICS and SIC classification | | `utility` | Zero-credit cache prefetching | `--help` works at every level: `context-dev --help` lists the resources, `context-dev web --help` lists its commands, and `context-dev web web-scrape-md --help` documents every flag. Three global flags do most of the output work: ```bash terminal theme={null} # Pull one field out of the response with GJSON syntax context-dev brand retrieve --domain stripe.com --transform 'brand.colors' # Force plain JSON for piping into jq or a file context-dev brand retrieve --domain stripe.com --format json > stripe.json # Interactively browse a large response context-dev web extract-styleguide --domain stripe.com --format explore ``` `--format` accepts `auto`, `explore`, `json`, `jsonl`, `pretty`, `raw`, and `yaml`; `auto` (the default) picks based on whether output is going to a terminal or a pipe. `--transform` uses [GJSON syntax](https://github.com/tidwall/gjson/blob/master/SYNTAX.md) to reshape responses before they're printed. ## Examples One example per endpoint, grouped the same way as the [API Reference](/api-reference/brand-intelligence/retrieve-brand-data-by-domain). Credit costs are noted inline; the full breakdown is on the [pricing page](https://context.dev/pricing). ### Brand Intelligence ```bash terminal theme={null} # Full brand profile — logos, colors, socials, industry, links (10 credits) context-dev brand retrieve --domain stripe.com # Same profile from other identifiers (10 credits each) context-dev brand retrieve-by-name --name "Stripe" context-dev brand retrieve-by-email --email contact@stripe.com context-dev brand retrieve-by-ticker --ticker AAPL context-dev brand retrieve-by-isin --isin US0378331005 # Slimmer payload: just domain, title, colors, logos, and backdrops (10 credits) context-dev brand retrieve-simplified --domain stripe.com # Resolve a raw card-statement descriptor to a real merchant (10 credits) context-dev brand identify-from-transaction \ --transaction-info "UBER *TRIP HELP.UBER.COM" \ --country-gl us ``` See [Get brand data](/guides/get-brand-data) and [Enrich transaction codes](/guides/enrich-transaction-codes) for what comes back. ### Web Scraping ```bash terminal theme={null} # One page → LLM-ready Markdown (1 credit) context-dev web web-scrape-md --url https://stripe.com/pricing # Raw HTML instead (1 credit) context-dev web web-scrape-html --url https://stripe.com/pricing # Every image asset on a page (1 credit; 5 with --enrichment) context-dev web web-scrape-images --url https://stripe.com # All URLs in a site's sitemap (1 credit) context-dev web web-scrape-sitemap --domain stripe.com # Crawl a whole site to Markdown (1 credit per page) context-dev web web-crawl-md --url https://docs.stripe.com --max-pages 25 # Search the web (1 credit per result) context-dev web search --query "stripe billing pricing" # Screenshot — returns a hosted PNG URL (5 credits) context-dev web screenshot --direct-url https://stripe.com/pricing context-dev web screenshot --domain stripe.com --page pricing --full-screenshot ``` See [Scrape websites to Markdown](/guides/scrape-websites-to-markdown) and [Take webpage screenshots](/guides/take-webpage-screenshot). ### Web Extraction ```bash terminal theme={null} # Full design system: colors, typography, spacing, shadows, components (10 credits) context-dev web extract-styleguide --domain stripe.com # Fonts only (5 credits) context-dev web extract-fonts --domain stripe.com # Direct competitors, from landing-page and web-search evidence context-dev web extract-competitors --domain stripe.com --num-competitors 5 # Typed extraction from any URL with a JSON Schema (10 credits) context-dev web extract \ --url https://stripe.com/pricing \ --instructions "Extract the pricing plans" \ --schema '{ "type": "object", "properties": { "plans": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "string", "description": "Display price, like 2.9% + 30c" } } } } } }' ``` See [Extract a design system](/guides/extract-design-system-from-website) and [Extract structured data](/guides/extract-structured-data-from-websites). ### Product Extraction & AI Queries ```bash terminal theme={null} # Is this URL a product page? If so, extract the product (10 credits) context-dev ai extract-product --url https://www.allbirds.com/products/mens-wool-runners # Pull a product list from a brand's whole site (10 credits) context-dev ai extract-products --domain allbirds.com --max-products 10 # Ask for arbitrary datapoints from a brand's website (10 credits) context-dev ai ai-query \ --domain stripe.com \ --data-to-extract.datapoint-name ceo_name \ --data-to-extract.datapoint-description "Full name of the company's CEO" \ --data-to-extract.datapoint-type text ``` See [Extract products from websites](/guides/extract-product-from-websites). ### Industry Classification ```bash terminal theme={null} # 2022 NAICS codes from a domain or company name context-dev industry retrieve-naics --input stripe.com # SIC codes — original_sic (1987 list, default) or latest_sec (SEC's current list) context-dev industry retrieve-sic --input stripe.com --type latest_sec ``` See the [classification overview](/guides/classification/overview) for how the three systems differ. ### Prefetch ```bash terminal theme={null} # Warm the cache so the next lookup lands in under a second (0 credits, paid plans only) context-dev utility prefetch --type brand --identifier.domain stripe.com context-dev utility prefetch --type brand --identifier.email contact@stripe.com ``` See [Prefetching](/optimization/prefetching) for when this pays off. ## Give it to your agent Any agent with shell access can use the CLI as-is — no MCP server or tool config required. Make sure `CONTEXT_DEV_API_KEY` is exported in the shell your agent inherits, then tell it the CLI exists in your `CLAUDE.md` or `AGENTS.md`: ```markdown CLAUDE.md / AGENTS.md theme={null} ## Context.dev CLI The `context-dev` CLI is installed and `CONTEXT_DEV_API_KEY` is set. Use it to look up brand data (`context-dev brand retrieve --domain example.com`), scrape pages to Markdown (`context-dev web web-scrape-md --url ...`), take screenshots, extract styleguides and products, and classify industries. Run `context-dev --help` to list resources and `context-dev <resource> <command> --help` for flags. ``` When the agent pipes a command, `--format auto` emits plain JSON, so the output is parseable without extra flags. For trimming large responses before they hit the agent's context window, `--transform` is the tool: `--transform 'brand.colors'` returns just the colors instead of the full profile. ## Next steps <CardGroup> <Card title="Agent Quickstart" icon="robot" href="/agent-quickstart"> The full agent setup: copyable system prompt, SKILL.md, and MCP, in one page. </Card> <Card title="Install MCP" icon="plug" href="/install-mcp"> Prefer tool calls over shell commands? Connect the MCP server instead. </Card> <Card title="SKILL.md" icon="book-open" href="/install-skill"> Teach your agent when to reach for each endpoint. </Card> <Card title="API Reference" icon="code" href="/api-reference/brand-intelligence/retrieve-brand-data-by-domain"> The underlying endpoints every CLI command calls. </Card> </CardGroup> # Connect the Context.dev MCP server Source: https://docs.context.dev/install-mcp Give Claude, Cursor, Codex, ChatGPT, VS Code, and other AI agents secure access to Context.dev through OAuth. Connect your AI agent to Context.dev once, then ask it to scrape, search, extract, parse, enrich, or monitor the web directly from chat. <Info> **Hosted MCP URL:** `https://mcp.context.dev/mcp` Context.dev uses OAuth. You sign in through your browser, so you do not need to paste an API key into your MCP configuration. </Info> ## Connect your client Choose your client and follow the steps below. Use the exact hosted URL, including `/mcp`. <Tabs> <Tab title="Claude"> ### Claude, Cowork, and Claude Desktop <Steps> <Step title="Add a custom connector"> Open **Customize → Connectors**, select **+**, then choose **Add custom connector**. On Team and Enterprise plans, an organization owner must first add Context.dev from **Organization settings → Connectors**. </Step> <Step title="Enter the Context.dev MCP URL"> Name the connector `Context.dev` and enter: ```text theme={null} https://mcp.context.dev/mcp ``` Leave the optional OAuth client ID and client secret fields empty. </Step> <Step title="Connect your account"> Select **Add**, then **Connect**. Sign in to Context.dev in the browser window and approve access. </Step> <Step title="Enable it in a conversation"> Select the **+** button beside the composer, open **Connectors**, and enable Context.dev. </Step> </Steps> ### Claude Code Add the hosted server for your user: ```bash terminal theme={null} claude mcp add --transport http --scope user context https://mcp.context.dev/mcp ``` Start Claude Code, run `/mcp`, select `context`, and complete the browser sign-in. </Tab> <Tab title="Cursor"> Open your global MCP configuration at `~/.cursor/mcp.json` and add: ```json ~/.cursor/mcp.json theme={null} { "mcpServers": { "context": { "url": "https://mcp.context.dev/mcp" } } } ``` Then open **Cursor Settings → Tools & MCP**: 1. Find `context`. 2. Select **Authenticate**. 3. Sign in to Context.dev in the browser window. 4. Confirm that Cursor shows the server as connected. Use `.cursor/mcp.json` instead if you only want Context.dev available in one project. </Tab> <Tab title="Codex"> Add the hosted server: ```bash terminal theme={null} codex mcp add context --url https://mcp.context.dev/mcp ``` Authenticate: ```bash terminal theme={null} codex mcp login context ``` Run `codex mcp list` to verify the connection. In the Codex CLI, use `/mcp` to inspect the available Context.dev tools. You can also add the server from **Settings → MCP servers** in the ChatGPT desktop app or Codex IDE extension. Choose **Streamable HTTP**, enter the hosted URL, save, restart the client, and select **Authenticate**. </Tab> <Tab title="ChatGPT desktop"> <Steps> <Step title="Open MCP settings"> Open the ChatGPT desktop app, go to **Settings → MCP servers**, and select **Add server**. </Step> <Step title="Add Context.dev"> Name the server `Context.dev`, choose **Streamable HTTP**, and enter: ```text theme={null} https://mcp.context.dev/mcp ``` </Step> <Step title="Restart and authenticate"> Save the server, restart the app, and select **Authenticate** beside Context.dev. Complete the browser sign-in. </Step> <Step title="Confirm the connection"> Enter `/mcp` in the composer to view the connected server and its tools. </Step> </Steps> <Note> ChatGPT on the web uses workspace plugins for remote MCP tools and does not read the MCP configuration from your computer. </Note> </Tab> <Tab title="VS Code"> Run **MCP: Open User Configuration** from the Command Palette, or create `.vscode/mcp.json` for a project-specific connection: ```json .vscode/mcp.json theme={null} { "servers": { "context": { "type": "http", "url": "https://mcp.context.dev/mcp" } } } ``` Start the server from the inline action above its configuration. VS Code opens a browser for OAuth the first time it connects. </Tab> <Tab title="Other clients"> Use a remote Streamable HTTP server with OAuth: ```json mcp.json theme={null} { "mcpServers": { "context": { "type": "http", "url": "https://mcp.context.dev/mcp" } } } ``` Your client must support remote Streamable HTTP MCP servers and OAuth. When prompted, sign in to Context.dev and approve access. </Tab> </Tabs> ## Verify the connection Start a new conversation and ask: > Use Context.dev to retrieve the live brand profile for stripe.com. Tell me which Context.dev tool you called. A working connection calls `get-brand` or `brand-retrieve-unified` and returns live data. If the agent answers from memory without making a tool call, confirm that Context.dev is enabled for the conversation. ## What your agent can do The MCP server exposes the callable operations in the [public Context.dev API](/introduction), plus a visual brand card. | Capability | Tools | | --------------------------- | ------------------------------------------------------------------------------------------------------------------ | | Parse files | `parse-document` | | Scrape pages and sites | `web-scrape-html`, `web-scrape-markdown`, `web-scrape-images`, `web-scrape-sitemap`, `web-crawl`, `web-screenshot` | | Search and extract | `web-search`, `web-extract` | | Brand intelligence | `get-brand`, `brand-retrieve-unified`, `web-styleguide`, `web-fonts` | | Products and classification | `brand-ai-product`, `brand-ai-products`, `web-naics`, `web-sic` | | Cache warming | `utility-prefetch` | | Monitor management | `list-monitors`, `create-monitor`, `get-monitor`, `update-monitor`, `delete-monitor` | | Monitor runs | `run-monitor-now`, `list-monitor-runs`, `get-monitor-run`, `list-account-runs` | | Monitor changes and usage | `list-monitor-changes`, `list-changes`, `get-change`, `list-monitor-credit-usage`, `rotate-monitor-webhook-secret` | ### Prompts to try <CardGroup> <Card title="Research a website" icon="magnifying-glass"> Scrape the Acme pricing page and summarize every plan, limit, and billing interval. </Card> <Card title="Extract structured data" icon="brackets-curly"> Extract all open engineering roles from this careers site as JSON with title, location, and application URL. </Card> <Card title="Parse a document" icon="file-lines"> Parse this PDF and return its tables as clean Markdown, preserving the section hierarchy. </Card> <Card title="Monitor a change" icon="radar"> Create a daily monitor for this changelog and notify me only about new product releases. </Card> </CardGroup> ## Authentication and permissions Context.dev uses OAuth 2.0 Authorization Code flow with PKCE. The MCP client receives scoped tokens; it never receives your Context.dev password or API key. The server requests: * `api.read` for parsing, scraping, searching, extraction, enrichment, and reading monitor data * `api.write` for creating, updating, deleting, or manually running monitors and rotating webhook secrets <Warning> Monitor tools can change persistent account state. Keep tool approvals enabled and review calls to `create-monitor`, `update-monitor`, `delete-monitor`, `run-monitor-now`, and `rotate-monitor-webhook-secret`. </Warning> MCP calls use your Context.dev account and consume the same credits as the corresponding API operations. See [pricing](https://context.dev/pricing) and [monitor credit usage](/api-reference/monitors/credit-usage). ## Troubleshooting <AccordionGroup> <Accordion title="The server does not appear or shows zero tools"> Confirm that the URL is exactly `https://mcp.context.dev/mcp`, including `/mcp`. Restart or refresh the client after editing its configuration, then make sure Context.dev is enabled for the current conversation. </Accordion> <Accordion title="The browser sign-in did not open"> Open the client's MCP settings and select **Authenticate** or **Connect** beside Context.dev. In Claude Code, run `/mcp`. In Codex, run `codex mcp login context`. </Accordion> <Accordion title="Authentication loops or returns 401"> Clear the saved authentication for Context.dev in your client, reconnect, and complete the browser flow again. Do not add an API key or OAuth secret to the URL. </Accordion> <Accordion title="The agent answers without calling Context.dev"> Enable Context.dev for the conversation and name it explicitly in the prompt. In clients with tool controls, confirm that the relevant Context.dev tools are enabled. </Accordion> <Accordion title="Check whether the hosted server is online"> Run: ```bash terminal theme={null} curl -fsS https://mcp.context.dev/health ``` A healthy server returns a JSON response with a healthy status. If it is healthy but your client cannot connect, inspect the client's MCP output log and reconnect. </Accordion> </AccordionGroup> ## Next steps <CardGroup> <Card title="Browse the API" icon="code" href="/introduction"> See the endpoints and data available through the MCP tools. </Card> <Card title="Monitor websites" icon="radar" href="/guides/monitor-website-changes"> Learn how monitor targets, schedules, changes, and webhooks work. </Card> <Card title="Install the skill" icon="book-open" href="/install-skill"> Teach your agent when and how to use Context.dev while writing code. </Card> </CardGroup> # Install the Context.dev skill Source: https://docs.context.dev/install-skill Install the Context.dev skill so your coding agent knows when and how to use the correct APIs. The Context.dev skill teaches your coding agent how to use Context.dev without being told each time. The skill file is hosted at [`docs.context.dev/skill.md`](https://docs.context.dev/skill.md). Once installed, your agent will be able to: * Look up brand information using name, domain, email, stock ticker, or ISIN * Scrape websites and get markdown outputs * Classify industries and transactions * Integrate Context.dev APIs and SDKs into your application ## Prerequisites * **A Context.dev API key.** Sign up at [context.dev/signup](https://context.dev/signup), copy the key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`), and export it in the shell your agent inherits so the skill can read it: ```bash theme={null} # Add to your shell profile or .envrc — never commit it. export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` For a single project, drop it in `.env.local` and have the agent load that file before each run. * **A supported agent.** Claude Code, Codex, Cursor, Windsurf, OpenCode, Gemini CLI, GitHub Copilot, and [50+ others](https://github.com/vercel-labs/skills#supported-agents) read skill files. * **Node.js** to run the `npx skills` installer (or install manually with `curl`). ## Installation ### Method 1: Skills CLI (one command, every agent) The skills CLI detects your agent and drops the skill in the directory that agent reads. One command covers every supported agent: ```bash theme={null} npx skills add -g https://docs.context.dev/skill.md ``` Drop the `-g` to install into the current project instead of globally. ### Method 2: Manual install with `curl` Pick your client below and run the matching `curl`. Use the project commands for an in-repo skill, or the global commands for a cross-project skill that lives in your home directory. <Tabs> <Tab title="Claude Code"> ```bash theme={null} # Project mkdir -p .claude/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o .claude/skills/context-dev/SKILL.md # Global (across all projects) mkdir -p ~/.claude/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o ~/.claude/skills/context-dev/SKILL.md ``` </Tab> <Tab title="Codex"> ```bash theme={null} # Project mkdir -p .agents/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o .agents/skills/context-dev/SKILL.md # Global mkdir -p ~/.codex/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o ~/.codex/skills/context-dev/SKILL.md ``` </Tab> <Tab title="Cursor"> ```bash theme={null} # Project mkdir -p .agents/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o .agents/skills/context-dev/SKILL.md # Global mkdir -p ~/.cursor/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o ~/.cursor/skills/context-dev/SKILL.md ``` </Tab> <Tab title="Windsurf"> ```bash theme={null} # Project mkdir -p .windsurf/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o .windsurf/skills/context-dev/SKILL.md # Global mkdir -p ~/.codeium/windsurf/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o ~/.codeium/windsurf/skills/context-dev/SKILL.md ``` </Tab> <Tab title="OpenCode"> ```bash theme={null} # Project mkdir -p .agents/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o .agents/skills/context-dev/SKILL.md # Global mkdir -p ~/.config/opencode/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o ~/.config/opencode/skills/context-dev/SKILL.md ``` </Tab> <Tab title="Any agent (.agents)"> Codex, Cursor, OpenCode, Gemini CLI, GitHub Copilot, Cline, and other agents share the `.agents/skills/` directory: ```bash theme={null} mkdir -p .agents/skills/context-dev curl -fsSL https://docs.context.dev/skill.md -o .agents/skills/context-dev/SKILL.md ``` </Tab> </Tabs> ## Verify it loaded Open a fresh agent session and ask: > "Using Context.dev, what's the fastest, lightest-payload way to get just a brand's logos and colors for a domain?" A correctly loaded skill answers with `GET /brand/retrieve-simplified` and notes it costs the same 10 credits as the full brand retrieve. If the agent invents an endpoint, the skill didn't load. Confirm the file exists at the path your agent reads and that nothing else is shadowing it. ## Next steps <CardGroup> <Card title="Agent Quickstart" icon="robot" href="/agent-quickstart"> Pair the skill with a copyable agent prompt. </Card> <Card title="MCP server" icon="plug" href="/install-mcp"> Add live API execution alongside the skill. </Card> <Card title="Get brand data" icon="address-card" href="/guides/get-brand-data"> The core endpoint the skill teaches. </Card> <Card title="Introduction" icon="book" href="/introduction"> What Context.dev returns and how responses are shaped. </Card> </CardGroup> # Introduction Source: https://docs.context.dev/introduction What Context.dev is, the APIs it offers, and how it performs. Context.dev turns any domain or URL into structured, AI-ready data. Send a domain, get a typed brand profile. Send a URL, get clean Markdown, a design system, a screenshot, or an AI-extracted answer. Every response is typed JSON. ## Context Reference Context.dev APIs can give you these outputs. | Output | Examples | Use this to | | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- | | [Logos](/guides/get-brand-data) | Light, dark, and icon variants in SVG + PNG, each with `type`, `mode`, and `resolution` | Render brand logos in onboarding, CRMs, and logo walls | | [Structured data from webpage](/guides/extract-structured-data-from-websites) | Define a JSON Schema; get it back typed: `founded_year: 2010`, `has_free_trial: true`, `pricing_tiers: [{ name: "Pro", price: 99 }]` | Comparison pages and structured extraction at scale | | [Markdown / HTML](/guides/scrape-websites-to-markdown#scrape-a-single-page-to-markdown) | `# Vercel Pricing…` or fully-rendered `<!doctype html>...` | Feed LLMs and RAG pipelines, or run your own parsers | | [Company profile](/guides/get-brand-data) | Title, description, slogan, email, phone, and a links map (careers, blog, pricing, terms, privacy) | Enrich CRM records and pre-fill onboarding forms | | [Social handles](/guides/get-brand-data) | Typed URLs for X, LinkedIn, GitHub, YouTube, and 25+ more | Populate social links and power outreach | | [Company Address](/guides/get-brand-data) | `140 2nd Street, San Francisco, CA, US, 94105` | Territory routing, KYC, and firmographic enrichment | | [Stock](/guides/get-brand-data) | Stock ticker (\$AAPL) and exchange name (NASDAQ) for public companies | Investor dashboards and ticker enrichment | | [Industry codes (EIC / NAICS / SIC)](/guides/classification/overview) | EIC `Technology › Software (B2B)` inline on every full brand response; NAICS `334220` and SIC `3663` with confidence scores | Segment and route accounts, plus regulatory and SEC reporting | | [Website Styleguide](/guides/extract-design-system-from-website#extract-the-full-styleguide) | Accent / background / text colors, typography, spacing, shadows, button + card CSS | Build on-brand UI and white-label theming | | [Fonts](/guides/extract-design-system-from-website#extract-just-the-fonts) | `Geist` (weights 400–900) with downloadable `@font-face` URLs and usage counts | Match brand typography in emails, ads, and PDFs | | [Dynamic embeddable logo](/guides/get-logo-from-url) | `logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com` as an `<img>` src | High-volume logo embeds straight from a CDN | | [Screenshot](/guides/take-webpage-screenshot) | Hosted PNG at a `1920×1080` viewport or full-page height | Link previews, share cards, and visual archives | | [Product data](/guides/extract-product-from-websites) | `Men's Wool Runner · $110 USD · MENS_WOOL_RUNNERS` + features, images | Catalogs, price monitoring, and competitor tracking | | [Merchant from a transaction](/guides/enrich-transaction-codes) | `AMZN MKTP US` → Amazon + Retail | Spend analytics and transaction tagging | ## Context.dev APIs There are 4 product categories: <Tabs> <Tab title="Brand APIs"> Resolve a domain into a brand's assets and metadata: logos, colors, company profile data, and industry labels. <Columns> <Card title="Retrieve Brand" icon="building" href="/guides/get-brand-data"> Get company logos, description, social media handles, address, and more from just the name, domain, work email, stock ticker, or ISIN. </Card> <Card title="Retrieve a Website's Styleguide" icon="palette" href="/guides/extract-design-system-from-website#extract-the-full-styleguide"> Get colors, fonts, spacing and shadows for detected components. </Card> <Card title="Retrieve a Website's Fonts" icon="font" href="/guides/extract-design-system-from-website#extract-just-the-fonts"> Get detected font families, weights, @import links, and usage counts. </Card> </Columns> </Tab> <Tab title="Logo Link CDN"> Embed always-fresh brand logos straight from a CDN, no API call required. <Columns> <Card title="Get Embeddable Brand Logos" icon="image" href="/guides/get-logo-from-url"> Display brand logos on your website with one embeddable URL </Card> </Columns> </Tab> <Tab title="Web APIs"> Render, crawl, screenshot, and extract structured data from any URL. Bot detection bypass and proxy escalation are automatic. <Columns> <Card title="Crawl Websites" icon="spider" href="/guides/scrape-websites-to-markdown#crawl-a-whole-site"> Get clean markdown for reachable pages on a website </Card> <Card title="Scrape Markdown" icon="markdown" href="/guides/scrape-websites-to-markdown#scrape-a-single-page-to-markdown"> Get clean markdown with nav and ads stripped, ready for LLMs. </Card> <Card title="Capture Webpage Screenshot" icon="camera" href="/guides/take-webpage-screenshot"> Get full-page or custom viewport size screenshot of a webpage. </Card> <Card title="Extract Product" icon="tag" href="/guides/extract-product-from-websites"> Get structured data about the products on a website </Card> <Card title="Extract Structured Data" icon="sparkles" href="/guides/extract-structured-data-from-websites"> Describe the data you want as a JSON Schema and get a typed JSON answer extracted from a website's pages. </Card> </Columns> </Tab> <Tab title="Classification APIs"> Classify a domain by industry code, or resolve a card descriptor to a real merchant. <Columns> <Card title="Classify into NAICS" icon="layer-group" href="/guides/classification/NAICS"> Get the assigned NAICS code and industry for regulatory reporting from a domain name. </Card> <Card title="Classify into SIC" icon="layer-group" href="/guides/classification/SIC"> Get the assigned SIC code and industry for tax and accounting systems from a domain name. </Card> <Card title="Transaction Enrichment" icon="credit-card" href="/guides/enrich-transaction-codes"> Get the merchant's brand and industry from transaction information or MCC. </Card> </Columns> </Tab> </Tabs> ## Features * **Free plan, no credit card needed.** Start building with 500 one-time API credits and 10K Logo Link requests as soon as you sign up. * **Simple, credit-based pricing with a subscription.** Every API call costs a fixed number of credits. Plans come with generous and clear rate limits. * **Simple APIs and SDKs built for developers.** Consistent authentication and response shapes for every endpoint. * **Typed responses.** Every endpoint returns typed JSON output, so you won't need to parse responses. * **Bot detection bypass on every plan at no extra cost.** Automatic proxy escalation for webpage crawling on every plan. ## Reliability * **Cached hits return in under 1 second.** Around 60% of brand lookups hit the cache. * **Cold hits** (the first lookup for a domain Context.dev hasn't crawled yet) run a full crawl through a specialized pipeline. They almost always return in under 60 seconds. | Percentile | Cold-hit latency | | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------- | | p50 | 7s | | p90 | 18s | | p99 | 1m | | Use the [prefetch endpoints](/optimization/prefetching) to hide this latency, or set a client-side timeout of at least 60 seconds. | | ## Ways to use Context.dev <Columns> <Card title="SDKs" icon="cube" href="/quickstart"> Official SDKs for TypeScript, Python, Ruby, Go, and PHP. One bearer-token header, fully typed responses. </Card> <Card title="REST API" icon="server" href="/api-reference/brand-intelligence/retrieve-brand-data-by-domain"> Call any endpoint directly over HTTPS with a bearer token. No SDK required. </Card> <Card title="MCP server" icon="robot" href="/install-mcp"> Give Claude, Cursor, VS Code, and any MCP-compatible agent direct access to Context.dev. </Card> <Card title="No-code" icon="puzzle-piece"> Drop brand and web data into [Zapier](/nocode/zapier), [Make](/nocode/make), [Google Sheets](/nocode/google-sheets), and [Excel](/nocode/microsoft-excel). </Card> </Columns> ## Next steps <CardGroup> <Card title="Quickstart" icon="bolt" href="/quickstart"> Install an SDK and make your first call in two steps. </Card> <Card title="Agent Quickstart" icon="robot" href="/agent-quickstart"> Set up an AI agent to call Context.dev correctly. </Card> </CardGroup> # Google Sheets Source: https://docs.context.dev/nocode/google-sheets Drop company logos into Google Sheets cells with Logo Link and the built-in IMAGE() formula. No code, no scripts. Logo Link URLs return image bytes directly. Pair them with Google Sheets' built-in [`IMAGE()`](https://support.google.com/docs/answer/3093333) formula and any cell becomes a logo. <img alt="Logo Link in Google Sheets" /> ## Prerequisites * A Context.dev account with a Logo Link `publicClientId` (prefix `brandLL_`). Copy it from the [Logo Link dashboard](https://context.dev/dashboard/logolink). ## Basic usage Use the built-in `IMAGE()` function with a Logo Link URL: ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com") ``` ## Dynamic domains Reference a cell containing the domain instead of hardcoding it. If cell `A2` holds `stripe.com`: ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=" & A2) ``` Drag the formula down a column to fetch logos for an entire list of domains. ## Sizing The second argument of `IMAGE()` controls how the logo fits inside the cell. From [Google's `IMAGE()` reference](https://support.google.com/docs/answer/3093333): | Mode | Value | Behavior | | --------------------- | ----- | ------------------------------------------------------------------------- | | Fit to cell (default) | `1` | Resizes the image to fit inside the cell, maintaining aspect ratio | | Stretch | `2` | Stretches or compresses the image to fill the cell, ignoring aspect ratio | | Original size | `3` | Leaves the image at original size; may cause cropping | | Custom size | `4` | Specify custom height and width in pixels as additional parameters | ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com", 2) ``` For mode `4`: ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=stripe.com", 4, 120, 200) ``` <Tip> Adjust row height and column width so logos display at a reasonable size. Mode `1` (fit to cell) usually looks best. Icons and monograms are square; wordmarks may be wider. </Tip> ## Fallbacks If a logo isn't published for a domain, Logo Link automatically returns a generated **monogram** based on the domain name. Note that the monogram is an SVG, which Sheets' `IMAGE()` can't render (see [Limitations](#limitations)), so for unknown domains the cell may stay blank rather than show the fallback. ## Limitations * **No SVG.** Google Sheets' `IMAGE()` does not render SVG files. Most Logo Link responses for known brands are PNG, but the monogram fallback is SVG and won't render, so pass a known domain when you can. * **No Google Drive URLs.** `IMAGE()` cannot load images from `drive.google.com`. Logo Link's `logos.context.dev` host is fine. * **No volatile functions inside the URL.** `IMAGE()` rejects `NOW()`, `RAND()`, and other volatile functions in the base URL. ## Next steps <CardGroup> <Card title="Microsoft Excel" icon="file-excel" href="/nocode/microsoft-excel"> Same workflow in Excel for Microsoft 365 and Excel for the web. </Card> <Card title="Logo Link reference" icon="image" href="/guides/get-logo-from-url"> All Logo Link URL options and the publicClientId setup. </Card> <Card title="Zapier integration" icon="bolt" href="/nocode/zapier"> Programmatic enrichment for Google Sheets rows beyond logos. </Card> <Card title="Logo Link dashboard" icon="key" href="https://context.dev/dashboard/logolink"> Grab your publicClientId and lock it to your own domain. </Card> </CardGroup> # Make Source: https://docs.context.dev/nocode/make Add Context.dev brand lookups, screenshots, styleguide, and product extraction to any Make scenario via the native integration or an HTTP module. [Make](https://www.make.com) (formerly Integromat) is a visual automation platform. Context.dev publishes a native integration on the Make marketplace, plus all endpoints are reachable through Make's generic HTTP module. * Native integration: install once, drop pre-built modules into any scenario * HTTP module: call any Context.dev endpoint, including ones not yet exposed as native modules <Card title="Install Context.dev for Make" icon="download" href="https://www.make.com/en/integrations/context-dev"> Open the Make marketplace listing and add the integration to your account. </Card> ## Install the native integration 1. Open the [Context.dev integration on Make](https://www.make.com/en/integrations/context-dev). 2. Click **Install** and authorize Context.dev in your Make account. 3. Paste your Context.dev API key from the [dashboard](https://context.dev/dashboard). ## Available modules Once installed, the following modules appear under Context.dev in Make's module picker: | Module | Input | Output | Underlying endpoint | | ---------------------- | ---------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- | | Retrieve Brand Data | Domain, name, email, or ticker | Brand record (logos, colors, company data) | `POST /brand/retrieve` (`type`: `by_domain`, `by_name`, `by_email`, or `by_ticker`) | | NAICS Classification | Domain or company name | NAICS code(s) with confidence | `/web/naics` | | Transaction Enrichment | Merchant descriptor, MCC, location | Merchant brand with logo and industry | `POST /brand/retrieve` with `type: "by_transaction"` | | AI Products Extraction | Domain | Product catalog with pricing and features | `/brand/ai/products` | | Screenshot Capture | URL | Hosted screenshot URL | `/web/screenshot` | | Styleguide Extraction | Domain | Design system (colors, fonts, components) | `/web/styleguide` | Each module returns a structured object the rest of the scenario can map into downstream modules. ## Walkthrough: brand a Google Slides presentation The scenario fetches a brand record from Context.dev and pipes the logo and company name into a Google Slides template. A similar pattern is covered in [Branded Campaign Assets](/use-cases/branded-campaign-assets). ### 1. Design a Google Slides template Create a Google Slides template with placeholders for the brand logo and name. Wrap each placeholder in double curly braces, e.g. `{{client_logo}}` and `{{client_name}}`. For logo placement, insert a **shape** where you want the logo to appear, then add text inside it with the placeholder (e.g. `{{client_logo}}`). The shape acts as a bounding box: the image module added in step 4 will replace it with the resized logo while preserving aspect ratio. <img alt="Google Slides template with placeholders" /> ### 2. Set up the Make scenario Start with a trigger that captures new client signups or form submissions (Google Forms, Typeform, etc.) and pipe its domain output into the Context.dev module. <img alt="Make scenario with trigger feeding Context.dev module" /> ### 3. Add the Google Slides module Add the Google Slides **Create a Presentation from a Template** module. Select your template and map the text placeholders to the corresponding fields from the trigger and Context.dev modules: * `{{client_name}}` → company name from the form or `brand.title` from Context.dev * `{{client_logo}}` → leave unmapped, so it stays as literal placeholder text that step 4's image module can find and replace You can also override the destination folder and the new presentation's name in the same module. <Info> The Google Slides template must have placeholders wrapped in double curly braces **before** you add this module. If you edit the template afterward, delete and re-add the module (or change the presentation ID) so Make refreshes the field list. </Info> <img alt="Make Google Slides module configured with mappings" /> ### 4. Replace the logo placeholder Add the **Upload an Image to a Presentation** module. Select the presentation created in the previous step; the module finds the `{{client_logo}}` placeholder text left in place by step 3 and swaps it for the image. For the **Image URL** field, map `brand.logos[1].url` from the Context.dev module (Make arrays start at `1`, so index `1` is the primary logo). ### 5. Optional final step A common closer is a notification: a Slack message to the team, a Notion entry, or a record in your project management tool linking to the new presentation. ### 6. Test and activate Run the scenario a few times against test inputs. Once the output looks right, activate the scenario. ### Result A few presentations generated through the scenario for a fictional Pied Piper client: <img alt="Pied Piper branded slide 1" /> <img alt="Pied Piper branded slide 2" /> <img alt="Pied Piper branded slide 3" /> <img alt="Pied Piper branded slide 4" /> ## HTTP module fallback For endpoints not yet exposed as a native module, use Make's HTTP module: <Steps> <Step title="Add the HTTP module"> Add an **HTTP > Make a request** module. </Step> <Step title="Configure the request"> * **URL:** `https://api.context.dev/v1/brand/retrieve` * **Method:** `GET` * **Query string:** `domain` → mapped from the trigger * **Headers:** `Authorization: Bearer YOUR_API_KEY` </Step> <Step title="Enable JSON parsing"> Tick **Parse response** so downstream modules can map fields directly (e.g. `brand.title`). </Step> </Steps> ## Transform brand data inside Make Make's built-in functions handle the common reshapes without a Code module. ### Extract a domain from an email ``` {{trim(get(split(email; "@"); 2))}} ``` Make uses `;` to separate function arguments, and its arrays are 1-indexed: index `1` is the part before the `@`, index `2` is the domain. ### Flatten brand fields for downstream modules ``` Company Name: {{brand.title}} Logo URL: {{brand.logos[1].url}} Primary Color: {{brand.colors[1].hex}} Industry: {{brand.industries.eic[1].industry}} ``` ### Fall back when a field is missing ``` {{if(brand.logos[1].url; brand.logos[1].url; "https://placehold.co/400x400?text=No+Logo")}} ``` ## Handle errors Make routes errors through dedicated error-handler branches: <Steps> <Step title="Add an error handler"> Right-click the Context.dev module and select **Add error handler**. </Step> <Step title="Pick the error type"> * `DataError`: invalid request format * `RuntimeError`: API errors (400, 408, 429, 500, etc.) * `ConnectionError`: network issues </Step> <Step title="Define recovery"> Retry with exponential backoff, log to a database, notify an admin, or continue with fallback data. </Step> </Steps> Rate limits apply per API key regardless of which platform calls the API. Use Make's scheduling and rate-limit features to stay within your plan; see [Handle Rate Limits](/optimization/rate-limits) for the current per-plan caps. ## Example workflows ### Enrich new HubSpot contacts ``` Trigger: New Contact in HubSpot ↓ Action: Extract domain from email ↓ Context.dev: Retrieve Brand Data ↓ Router: → If brand found: Update HubSpot contact → If not found: Add to manual review list ``` ### Monitor competitors daily ``` Trigger: Scheduled (daily) ↓ Array: List of competitor domains ↓ For each: → Context.dev: Retrieve Brand Data → Context.dev: AI Products Extraction ↓ Action: Update Google Sheets ↓ Action: Slack alert on changes ``` ### Process transactions in real time ``` Trigger: Webhook (new transaction) ↓ Context.dev: Transaction Enrichment ↓ Router: → If brand identified: - Attach logo and category to the transaction → If not identified: - Flag for manual review ``` ## Pricing Context.dev API calls cost the same whether they go through Make or a direct HTTP call. Make charges per operation (including HTTP module calls). Caching reduces both bills. ## Next steps <CardGroup> <Card title="Make documentation" icon="book" href="https://www.make.com/en/help/getting-started"> Make basics: scenarios, modules, and triggers. </Card> <Card title="Make HTTP module guide" icon="code" href="https://www.make.com/en/help/modules/http"> Reference for the HTTP module used above. </Card> <Card title="Context.dev API Reference" icon="code" href="/api-reference/brand-intelligence/retrieve-brand-data-by-domain"> Endpoint reference for every Make module and HTTP call. </Card> <Card title="Zapier Integration" icon="plug" href="/nocode/zapier"> The same workflows on Zapier. </Card> </CardGroup> <Tip> Stuck wiring up a Make scenario with Context.dev? [Email us](mailto:hello@context.dev) and we'll help you get it working. </Tip> # Microsoft Excel Source: https://docs.context.dev/nocode/microsoft-excel Drop company logos into Excel cells with Logo Link and the IMAGE() function. Works in Excel for Microsoft 365 and Excel for the web. Logo Link URLs return image bytes directly. Pair them with Excel's [`IMAGE()`](https://support.microsoft.com/en-us/office/image-function-7e112975-5e52-4f2a-b9da-1d913d51f5d5) function and any cell becomes a logo. <img alt="Logo Link in Microsoft Excel" /> <Note> The `IMAGE()` function is available in Excel for Microsoft 365, Excel for Microsoft 365 for Mac, Excel for the web, Excel 2024, Excel 2024 for Mac, Excel for iPhone, and Excel for Android phones. It is **not** available in older perpetual-license desktop Excel versions. </Note> ## Prerequisites * A Context.dev account with a Logo Link `publicClientId` (prefix `brandLL_`). Copy it from the [Logo Link dashboard](https://context.dev/dashboard/logolink). ## Basic usage Use `IMAGE()` with a Logo Link URL: ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=github.com") ``` ## Dynamic domains Reference a cell containing the domain instead of hardcoding it. If cell `A2` holds `github.com`: ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=" & A2) ``` Drag the formula down a column to fetch logos for an entire list of domains. ## Syntax From [Microsoft's `IMAGE()` reference](https://support.microsoft.com/en-us/office/image-function-7e112975-5e52-4f2a-b9da-1d913d51f5d5): ``` =IMAGE(source, [alt_text], [sizing], [height], [width]) ``` | Argument | Purpose | | ----------------- | --------------------------------------------------------- | | `source` | URL of the image (must use `https`). Required. | | `alt_text` | Alternative text for accessibility. Optional. | | `sizing` | Image sizing mode (see below). Optional. | | `height`, `width` | Custom dimensions in pixels. Used only with `sizing = 3`. | ### Sizing modes | Value | Behavior | | ----- | ------------------------------------------------------------- | | `0` | Fit the image in the cell and maintain aspect ratio (default) | | `1` | Fill the cell with the image; ignore aspect ratio | | `2` | Use the original image size; may exceed the cell boundary | | `3` | Customize the image size with `height` and `width` | Example with alt text and fill mode: ``` =IMAGE("https://logos.context.dev/?publicClientId=brandLL_xxx&domain=github.com", "GitHub logo", 1) ``` <Tip> Adjust row height and column width so logos display at a reasonable size. Sizing mode `0` (fit and maintain aspect) usually looks best. Icons and monograms are square; wordmarks may be wider. </Tip> ## Fallbacks If a logo isn't published for a domain, Logo Link automatically returns a generated **monogram** based on the domain name. Note that the monogram is an SVG, which Excel's `IMAGE()` can't render (see [Limitations](#limitations)), so for unknown domains the cell may stay blank rather than show the fallback. ## Limitations * **No SVG.** Excel's `IMAGE()` supports BMP, JPG/JPEG, GIF, TIFF, PNG, ICO, and WEBP (WEBP is unsupported on Web and Android). It does not render SVG. Most Logo Link responses for known brands are PNG, but the monogram fallback is SVG and won't render, so pass a known domain when you can. * **HTTPS only.** `IMAGE()` requires `https`. Logo Link is `https://logos.context.dev/...`, so this is already met. * **No redirected URLs.** If the source URL redirects, Excel blocks it for security. Logo Link serves the image bytes directly, no redirects. * **No auth-gated URLs.** If the source URL requires authentication, the image doesn't render. Logo Link's `publicClientId` is a query-string parameter, not auth, so it works. ## Next steps <CardGroup> <Card title="Google Sheets" icon="table" href="/nocode/google-sheets"> Same workflow in Google Sheets with the `IMAGE()` formula. </Card> <Card title="Logo Link reference" icon="image" href="/guides/get-logo-from-url"> All Logo Link URL options and the publicClientId setup. </Card> <Card title="Zapier integration" icon="bolt" href="/nocode/zapier"> Programmatic enrichment for spreadsheet rows beyond logos. </Card> <Card title="Logo Link dashboard" icon="key" href="https://context.dev/dashboard/logolink"> Grab your publicClientId and lock it to your own domain. </Card> </CardGroup> # Zapier Integration Source: https://docs.context.dev/nocode/zapier Connect Context.dev's brand data, NAICS classification, transaction enrichment, screenshots, and styleguide endpoints to 8,000+ Zapier apps. No code. [Zapier](https://zapier.com) connects Context.dev to 8,000+ apps. You bring the trigger (Typeform submission, new HubSpot contact, new Gmail email) and Context.dev provides the enrichment action. <Card title="Install the Context.dev Zapier app" icon="bolt" href="https://zapier.com/apps/contextdev/integrations"> Authorize Context.dev inside Zapier and connect your API key. </Card> ## What you get Context.dev's Zapier app exposes **five actions**, all backed by the same endpoints used directly via the API: | Action | Input | Output | Endpoint | | ------------------------------ | ---------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------- | | **Retrieve Brand** | Name, domain, email, or ticker | Brand record (logo, colors, description, socials, industry) | `POST /brand/retrieve` (`type`: `by_domain`, `by_name`, `by_email`, or `by_ticker`) | | **Identify Transaction** | Descriptor + optional MCC, city, country | Brand record for the merchant | `POST /brand/retrieve` with `type: "by_transaction"` | | **Fetch NAICS Classification** | Domain or company name | NAICS code(s) with confidence | `/web/naics` | | **Fetch Screenshot** | URL + viewport / full-page | PNG image URL | `/web/screenshot` | | **Fetch Styleguide** | URL | Fonts, colors, spacing, shadows | `/web/styleguide` | There are no Context.dev-provided triggers: you bring the trigger from another app and chain a Context.dev action after it. ## Common trigger pairings | Trigger source | Typical pairing | | ----------------------------------- | --------------------------------------------------- | | Typeform "New Form Entry" | Enrich the submitted email or domain | | HubSpot "New Contact" | Enrich the contact with logo, industry, and socials | | Google Sheets "New Spreadsheet Row" | Bulk-enrich a list of domains | | Gmail "New Email" or Email Parser | Pull the sender's domain and enrich | | Webflow / Tally | Capture a domain from a form | | Email by Zapier | Quickest manual-trigger setup for testing | ## Setup walkthrough Trigger fires, Context.dev resolves a brand, the response flows into the destination app. ### Prerequisites * A Zapier account (free tier works for testing) * A [Context.dev](https://context.dev) account and an API key from the [dashboard](https://context.dev/dashboard) (prefix `ctxt_secret_`) * A Zapier-supported trigger source (for testing, **Email by Zapier** works without external setup) ### 1. Install the Context.dev Zapier app Open the [Context.dev Zapier listing](https://zapier.com/apps/contextdev/integrations) and click **Connect**. Zapier prompts for the API key. Paste your `ctxt_secret_*` key from the [Context.dev dashboard](https://context.dev/dashboard), then give the connection a name (e.g. "Context.dev (production)") so you can distinguish it from staging keys later. You only do this once per Context.dev account. Every Zap that uses Context.dev re-uses the saved connection. ### 2. Add a trigger Create a new Zap and pick a trigger that fires on the event you care about. For testing without any other integration, use **Email by Zapier > New Inbound Email**: 1. Pick **Email by Zapier** as the trigger app. 2. Pick **New Inbound Email** as the trigger event. 3. Zapier generates an inbox address like `xyz123@zapiermail.com`. Note it. 4. Click **Test trigger**. Zapier waits for an inbound message. 5. Send an email to the Zapier inbox address from step 3 with a domain in the subject line (e.g. `test stripe.com`). Zapier should detect it. For production, swap in a real trigger: Typeform "New Submission", HubSpot "New Contact", Google Sheets "New Spreadsheet Row", whatever fires on the event you want to enrich. ### 3. Add the Context.dev action After the trigger, click **+** and add an action. Search for **Context.dev** and pick the action that matches what you want to extract. For **Retrieve Brand**, configure: * **Input Type:** Name, Domain, or Ticker * **Input Value:** Map the value from the trigger (e.g. the domain parsed from a Typeform submission) Click **Test step**. Zapier hits Context.dev and shows the parsed response. The first call on a cold domain takes around 7 seconds at the median (and can take up to a minute at p99); subsequent calls return in \~250 ms. ### 4. Test and publish Click **Test & Review** to run the whole Zap end-to-end. Verify every step turns green, then give the Zap a descriptive name and toggle it **On**. Watch the first few real runs in **Zap History**: it's the fastest way to spot mapping mistakes before they pile up. ## Sample response Every brand action returns the standard `brand` envelope. Downstream Zap steps reference fields by path (e.g. `2. Retrieve Brand: Brand Title`): ```json expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "loom.com", "title": "Loom", "description": "Loom is a video messaging platform that enables users to record their screen, camera, or both, to communicate more effectively. Now part of Atlassian.", "slogan": "Empowering everyone to communicate more effectively, wherever they are", "colors": [ { "hex": "#040404", "name": "Armor Wash" }, { "hex": "#655ef3", "name": "Blue Hepatica" } ], "logos": [ { "url": "https://media.brand.dev/660ae867-d4a1-4c38-a815-6dbc1ceb33d5.svg", "mode": "light", "type": "logo", "resolution": { "width": 150, "height": 48, "aspect_ratio": 3.13 } } ], "socials": [ { "type": "linkedin", "url": "https://linkedin.com/company/useloom" }, { "type": "x", "url": "https://x.com/loom" } ], "industries": { "eic": [{ "industry": "Technology", "subindustry": "Software (B2B)" }] }, "links": { "blog": "https://loom.com/newsroom", "pricing": "https://loom.com/pricing", "contact": "https://loom.com/connect/enterprise" }, "address": { "street": "140 2nd Street", "city": "San Francisco", "country_code": "US", "postal_code": "94105" } } } ``` ## Reshape responses with Code by Zapier Most destination apps want flat fields. Add a **Code by Zapier > Run Python** step between the Context.dev action and the destination action. ### One-shot flatten (most-used) When you want every common field as a flat output: ```python theme={null} import json status = input_data.get("status", "") brand = json.loads(input_data.get("brand") or "{}") logos = brand.get("logos", []) or [] colors = brand.get("colors", []) or [] socials = brand.get("socials", []) or [] links = brand.get("links", {}) or {} stock = brand.get("stock", {}) or {} address = brand.get("address", {}) or {} eic = brand.get("industries", {}).get("eic", []) or [] socials_by_type = {s.get("type", "").lower(): s.get("url", "") for s in socials} light_logo = next((l.get("url") for l in logos if l.get("mode") == "light"), None) icon_logo = next((l.get("url") for l in logos if l.get("type") == "icon"), None) output = { "company_name": brand.get("title", ""), "domain": brand.get("domain", ""), "description": brand.get("description", ""), "logo_url": light_logo or (logos[0].get("url") if logos else ""), "icon_url": icon_logo or "", "primary_color": colors[0].get("hex", "") if colors else "", "linkedin": socials_by_type.get("linkedin", ""), "twitter": socials_by_type.get("x", ""), "industry": eic[0].get("industry", "") if eic else "", "subindustry": eic[0].get("subindustry", "") if eic else "", "ticker": stock.get("ticker", "") or "", "city": address.get("city", "") or "", "country_code": address.get("country_code", "") or "", "pricing_url": links.get("pricing", "") or "", } output["enrichment_ok"] = status == "ok" and bool(brand.get("title")) ``` ### Best logo for a given UI `brand.logos[]` is an array of variants. Pick one by `type` (icon vs. full wordmark) and `mode` (light, dark, opaque): ```python theme={null} import json brand = json.loads(input_data.get("brand") or "{}") logos = brand.get("logos", []) def find(type_, mode): return next((l.get("url") for l in logos if l.get("type") == type_ and l.get("mode") == mode), None) output = { "logo_light": find("logo", "light"), "logo_dark": find("logo", "dark"), "icon_light": find("icon", "light"), "icon_dark": find("icon", "dark"), "logo_any": logos[0].get("url") if logos else None, } ``` | Destination | Use | | ------------------------------- | ----------------------------- | | White-background email template | `logo_light` | | Dark Slack notification | `logo_dark` | | Round avatar bubble in a CRM | `icon_light` (or `icon_dark`) | | Anything else | `logo_any` | ### Detect a missing or weak response A no-brand result (HTTP 400, `error_code: "NOT_FOUND"` or `"WEBSITE_ACCESS_ERROR"`) or a server error (HTTP 500) comes back without a usable `brand`. Branch on it before writing to the destination: ```python theme={null} import json status = input_data.get("status", "") brand = json.loads(input_data.get("brand") or "{}") output = { "enrichment_ok": status == "ok" and bool(brand.get("title")), "status": status, "has_logo": bool(brand.get("logos")), "has_industry": bool(brand.get("industries", {}).get("eic")), "company_name": brand.get("title", ""), } ``` Add a **Filter by Zapier** step after this: "Only continue if `enrichment_ok` is true." The Zap silently skips records that didn't enrich. ## Example automations ### Enrich a new HubSpot contact 1. **Trigger:** HubSpot "New Contact" 2. **Action:** Context.dev "Retrieve Brand" with the email domain 3. **Code by Zapier:** [One-shot flatten](#one-shot-flatten-most-used) 4. **Filter:** Continue only if `enrichment_ok` is true 5. **Action:** HubSpot "Update Contact" with logo, industry, LinkedIn, and address fields ### Slack notification with brand context 1. **Trigger:** Stripe "New Customer" 2. **Action:** Context.dev "Retrieve Brand" by email domain 3. **Code by Zapier:** [Best logo for a given UI](#best-logo-for-a-given-ui) (use `logo_dark` for dark Slack themes) 4. **Action:** Slack "Send Channel Message" with company name in the title, dark logo as icon, industry in attachment text ### Bulk-enrich a Google Sheet 1. **Trigger:** Google Sheets "New Spreadsheet Row" with a `domain` column 2. **Action:** Context.dev "Retrieve Brand" 3. **Code by Zapier:** [One-shot flatten](#one-shot-flatten-most-used) 4. **Action:** Google Sheets "Update Spreadsheet Row" with logo, industry, LinkedIn, and pricing-page columns ### NAICS-tag a CRM lead 1. **Trigger:** Salesforce "New Lead" 2. **Action:** Context.dev "Fetch NAICS Classification" with the lead's domain 3. **Code by Zapier:** Pull `codes[0].code` for the highest-confidence NAICS 4. **Action:** Salesforce "Update Lead" with the NAICS code in a custom field ### Visual transaction enrichment 1. **Trigger:** Plaid webhook 2. **Action:** Context.dev "Identify Transaction" with the raw descriptor + optional MCC 3. **Code by Zapier:** Pull brand name + logo 4. **Action:** Notion "Create Page" with merchant logo, name, and category ## Troubleshooting * **"Authentication failed."** The API key was rejected. Re-paste it in Zapier's **My Apps > Context.dev** connection settings; confirm the `ctxt_secret_` prefix. * **Action returns 408 ("timeout").** Cold-hit timeout on a domain Context.dev hadn't crawled before. Re-run; the second hit will be warm. * **No logo in the response.** A few brands haven't published a logo Context.dev could capture. Use Logo Link as a fallback (`https://logos.context.dev/?publicClientId=brandLL_xxx&domain=...`) for a generated monogram. ## Next steps <CardGroup> <Card title="Make integration" icon="diagram-project" href="/nocode/make"> The Zapier alternative when you need branching logic and built-in error handling. </Card> <Card title="Brand API reference" icon="globe" href="/api-reference/brand-intelligence/retrieve-brand-data-by-domain"> The underlying endpoints. Useful when reading Zap test responses. </Card> <Card title="Industry classification" icon="layer-group" href="/guides/classification/overview"> EIC vs NAICS vs SIC: when each one fits. </Card> <Card title="Troubleshooting" icon="bug" href="/optimization/troubleshooting"> HTTP status codes, retry strategies, and common error patterns. </Card> </CardGroup> <Tip> Need help implementing a specific Zap? [Email us](mailto:hello@context.dev) and we'll walk through it with you. </Tip> # Best Practices Source: https://docs.context.dev/optimization/best-practices Integration patterns for Context.dev: caching, prefetching, retries, choosing endpoints, filtering emails, and staying within plan rate limits. If you're building on top of Context.dev's APIs and SDKs, this page contains some best practices to give your users a good experience. ## 1. Prefetch as soon as you know the domain or email 60% of Brand API requests return within 1 second. But for the other 40%, when Context.dev hasn't seen the domain before, it can take up to a minute. Prefetching fixes this. It's a free API that you can call a few moments before your app needs the brand data. It makes sure the results come back typically in under a second when you actually run the Brand API call. See [Prefetch for Faster Response](/optimization/prefetching) for the canonical pattern. ## 2. Cache API responses If you need brand or classification API outputs frequently, it's a good idea to cache them in your DB or in the browser's localStorage. This saves your rate limit quota and API credits usage. Brand records (logos, descriptions, addresses, classifications, etc.) change very infrequently. Context.dev itself only updates a brand in cache every 3 months. Some recommended TTLs: | Data | Suggested TTL | Why | | ---------------------------- | ------------- | ------------------------------------------------------------------------ | | Brand response | 30 days | Identity barely moves; Context.dev itself only refreshes every 3 months. | | Product extractions | 7 days | Catalogs change more often than identity. | | Industry codes (NAICS / SIC) | Indefinite | Classification systems move on regulator timescales. | ## 3. Set `timeoutMS` for cold hits Warm domains come back in around 250ms. A domain Context.dev has never seen has to be crawled live, which can take up to 60 seconds. If your client timeout is set to something tight like 5 seconds, you'll cut off the exact requests that needed the most patience. So on any path that can tolerate the wait, set a generous timeout. The `timeoutMS` parameter lets you say it explicitly: <CodeGroup> ```typescript TypeScript theme={null} const { brand } = await client.brand.retrieve({ type: "by_domain", domain: "example.com", timeoutMS: 60000, // 60s of headroom for cold hits }); ``` ```python Python theme={null} brand = client.brand.retrieve( type="by_domain", domain="example.com", timeout_ms=60000, ).brand ``` ```ruby Ruby theme={null} brand = client.brand.retrieve( body: { type: :by_domain, domain: "example.com", timeout_ms: 60000, }, ).brand ``` ```go Go theme={null} // Continuing from the client setup in the Quickstart. `ctx` is your // context.Context; `param` is github.com/context-dot-dev/context-go-sdk/packages/param. response, err := client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{ Domain: "example.com", }, TimeoutMs: param.NewOpt[int64](60000), }) ``` ```php PHP theme={null} $response = $client->brand->retrieve( type: 'by_domain', domain: 'example.com', timeoutMs: 60000, // 60s of headroom for cold hits ); $brand = $response->brand; ``` </CodeGroup> `timeoutMS` tops out at 300,000ms (5 minutes); past that the server gives up and returns a 408. See [Troubleshooting](/optimization/troubleshooting) for how to handle a 408 when it does happen. ## 4. Run bulk jobs in the background Some calls are inherently slow. A full-site crawl (`/web/crawl`) or a storefront product sweep (`/brand/ai/products`) walks many pages, and on a large site that can run long. Don't block a user's request on it. Kick the work off, return immediately, and write the results back when they land. <CodeGroup> ```typescript TypeScript theme={null} const response = await client.web.webCrawlMd({ url: "https://context.dev", maxPages: 50, maxDepth: 2, }); console.log(`${response.results.length} pages crawled`); ``` ```python Python theme={null} response = client.web.web_crawl_md( url="https://context.dev", max_pages=50, max_depth=2, ) print(f"{len(response.results)} pages crawled") ``` ```ruby Ruby theme={null} response = client.web.web_crawl_md( url: "https://context.dev", max_pages: 50, max_depth: 2, ) puts "#{response.results.length} pages crawled" ``` ```go Go theme={null} response, err := client.Web.WebCrawlMd(ctx, contextdev.WebWebCrawlMdParams{ URL: "https://context.dev", MaxPages: param.NewOpt[int64](50), MaxDepth: param.NewOpt[int64](2), }) if err != nil { panic(err) } fmt.Printf("%d pages crawled\n", len(response.Results)) ``` ```php PHP theme={null} $response = $client->web->webCrawlMd( url: 'https://context.dev', maxPages: 50, maxDepth: 2, ); echo count($response->results), ' pages crawled', PHP_EOL; ``` </CodeGroup> Wrap that call in whatever worker queue you already run (like BullMQ, Sidekiq, Cloud Tasks, or a goroutine, etc.), show the user a status field while it runs, and notify them when the result is ready. Past a few dozen pages, hand the job to the [Batch API](/guides/scrape-websites-in-batches) instead of running your own queue against the synchronous endpoints. Context.dev holds the queue, paces the scraping, and calls your `webhookUrl` when the batch settles — and the whole submission counts as [one request against your rate limit](/optimization/rate-limits#batch-jobs-count-as-one-request) no matter how many pages it covers. ## 5. Retry transient failures with backoff Three error classes are worth retrying: `429` (rate limit), `408` (cold-hit timeout), and `500` (transient server error). Everything else (a `401`, a `422`) is a bug in the request, and retrying it just wastes calls. The retry contract (honor the `Retry-After` header on 429s, otherwise doubling delay, capped attempts) and copy-paste implementations in every SDK live on the [Rate limits](/optimization/rate-limits) page. Use that pattern rather than rolling your own. ## 6. Skip free and disposable emails before you look them up A brand-by-email lookup against `gmail.com`, `yahoo.com`, `outlook.com`, and the 10,000+ disposable services out there will never resolve to a company: there's no brand behind a personal inbox. `POST /brand/retrieve` with `type: "by_email"` returns a `422` for these. You can save the round trip by filtering the obvious ones up front: <CodeGroup> ```typescript TypeScript theme={null} const FREE_PROVIDERS = new Set([ "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", "aol.com", "icloud.com", "proton.me", ]); function shouldEnrich(email: string): boolean { const domain = email.split("@")[1]?.toLowerCase(); return Boolean(domain) && !FREE_PROVIDERS.has(domain); } ``` ```python Python theme={null} FREE_PROVIDERS = { "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", "aol.com", "icloud.com", "proton.me", } def should_enrich(email: str) -> bool: parts = email.split("@") domain = parts[1].lower() if len(parts) == 2 else None return bool(domain) and domain not in FREE_PROVIDERS ``` ```ruby Ruby theme={null} require "set" FREE_PROVIDERS = %w[ gmail.com yahoo.com hotmail.com outlook.com aol.com icloud.com proton.me ].to_set def should_enrich(email) domain = email.split("@")[1]&.downcase !domain.nil? && !FREE_PROVIDERS.include?(domain) end ``` ```go Go theme={null} var freeProviders = map[string]bool{ "gmail.com": true, "yahoo.com": true, "hotmail.com": true, "outlook.com": true, "aol.com": true, "icloud.com": true, "proton.me": true, } func shouldEnrich(email string) bool { parts := strings.Split(email, "@") if len(parts) != 2 { return false } return !freeProviders[strings.ToLower(parts[1])] } ``` ```php PHP theme={null} $FREE_PROVIDERS = [ 'gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com', 'aol.com', 'icloud.com', 'proton.me', ]; function shouldEnrich(string $email): bool { $parts = explode('@', $email); $domain = isset($parts[1]) ? strtolower($parts[1]) : null; return $domain !== null && !in_array($domain, $FREE_PROVIDERS, true); } ``` </CodeGroup> **You don't have to maintain the full disposable-domain list yourself**: `POST /utility/prefetch` detects 10,000+ free and disposable providers when you pass `identifier.email`, so calling it skips the manual guard entirely. Read [how to prefetch](/optimization/prefetching). ## 7. Set up fallbacks for missing datapoints A `200` doesn't promise a complete record. A private company has no stock ticker, a brand-new domain may have no logo on file yet, and any optional field can come back `null` or empty. Fall back to a default value instead of branching your whole layout around what's present: <CodeGroup> ```typescript TypeScript theme={null} const primaryColor = brand.colors[0]?.hex ?? "#000000"; const logoUrl = brand.logos[0]?.url ?? "/placeholder-logo.svg"; const description = brand.description ?? `${brand.title} (description unavailable)`; ``` ```python Python theme={null} primary_color = brand.colors[0].hex if brand.colors else "#000000" logo_url = brand.logos[0].url if brand.logos else "/placeholder-logo.svg" description = brand.description or f"{brand.title} (description unavailable)" ``` ```ruby Ruby theme={null} primary_color = brand.colors.first&.hex || "#000000" logo_url = brand.logos.first&.url || "/placeholder-logo.svg" description = brand.description || "#{brand.title} (description unavailable)" ``` ```go Go theme={null} primaryColor := "#000000" if len(brand.Colors) > 0 { primaryColor = brand.Colors[0].Hex } logoURL := "/placeholder-logo.svg" if len(brand.Logos) > 0 { logoURL = brand.Logos[0].URL } description := brand.Description if description == "" { description = brand.Title + " (description unavailable)" } ``` ```php PHP theme={null} $primaryColor = '#000000'; if ($brand->colors) { $primaryColor = $brand->colors[0]->hex; } $logoUrl = '/placeholder-logo.svg'; if ($brand->logos) { $logoUrl = $brand->logos[0]->url; } $description = $brand->description ?? "{$brand->title} (description unavailable)"; ``` </CodeGroup> Defensive defaults keep the page from collapsing when the API hands back a sparse record. ## 8. Show a real loading state on cold paths Cold brand calls and full-site crawls take seconds, not milliseconds, long enough that a frozen screen can seem "broken." Some recommended UI fixes: * Use skeleton boxes shaped like the content, not a generic spinner. * Echo the user's input back optimistically while the fetch runs. * Have a graceful "we couldn't find this one" state ready for 400 responses (`NOT_FOUND` or `WEBSITE_ACCESS_ERROR`) and sparse records. Build it once and the wait stops feeling like a bug. ## 9. Keep your API key on the server Your API key is a bearer credential: whoever holds it can spend your credits and burn your rate limit. Treat it exactly like a database password. That means it never ships in front-end code, where anyone with devtools can read it. The one exception is Logo Link, which uses a separate `publicClientId` credential built to be safe in the client-side browser. See [Get logos from a domain](/guides/get-logo-from-url). ## Related resources <CardGroup> <Card title="Prefetch" icon="bolt" href="/optimization/prefetching"> Warm the cache before the user-facing call. </Card> <Card title="Rate limits" icon="gauge" href="/optimization/rate-limits"> Stay under the per-minute request cap. </Card> <Card title="Tag requests" icon="tag" href="/optimization/tag-requests"> Attribute credit usage to environments, teams, or features. </Card> <Card title="Fair use" icon="scale-balanced" href="/optimization/fair-use"> Responsible use of brand data and scraped content. </Card> <Card title="Troubleshooting" icon="triangle-exclamation" href="/optimization/troubleshooting"> Error codes and recovery patterns. </Card> </CardGroup> # Compression Source: https://docs.context.dev/optimization/compression Use gzip response compression to reduce transfer size and improve latency on large Context.dev responses. Context.dev supports gzip response compression across the API. Send `Accept-Encoding: gzip` with your request, or use a client that sends compression headers automatically, and Context.dev returns compressed JSON when the response is large enough to benefit. This is most useful for response-heavy endpoints like `/web/scrape/html`, `/web/scrape/markdown`, and `/web/crawl`, all covered in the [Scrape Websites guide](/guides/scrape-websites-to-markdown). In production benchmarks on scrape responses, gzip reduced bytes on the wire by about 82%. Large payloads, especially 500KB and above, saw a median latency improvement of about 70ms, while smaller responses were roughly neutral. For brand, quality, extraction, and classification-style endpoints, gzip is still supported as an option. The benefit depends on how large the response is: small JSON payloads may not move much, while larger AI or crawl-derived responses can benefit from the same transfer-size reduction. ## Enable gzip Most HTTP clients already request compressed responses and decompress them automatically. The main rules are: * Don't override `Accept-Encoding` with `identity` unless you are deliberately measuring an uncompressed baseline. * Let Ruby `Net::HTTP` and Go `net/http` manage `Accept-Encoding`; if you set that header manually in those clients, they return compressed bytes and you must decompress them yourself. * Treat the decoded JSON as the application contract. Some clients expose `content-encoding: gzip`, some negotiate `br`, and some strip the header after decompression. All examples below read the API key from `CONTEXT_DEV_API_KEY` and request `/web/scrape/markdown` with automatic decompression. No manual `gunzip` step is needed. Run these from a backend process; never expose the secret API key in browser code. <CodeGroup> ```bash cURL theme={null} curl --compressed -G https://api.context.dev/v1/web/scrape/markdown \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "url=https://example.com" \ --data-urlencode "useMainContentOnly=true" ``` ```typescript TypeScript fetch theme={null} type ScrapeMarkdownResponse = { success: boolean; markdown: string; }; const apiKey = process.env.CONTEXT_DEV_API_KEY; if (!apiKey) { throw new Error("CONTEXT_DEV_API_KEY is required"); } const response = await fetch( "https://api.context.dev/v1/web/scrape/markdown?url=https%3A%2F%2Fexample.com&useMainContentOnly=true", { headers: { Authorization: `Bearer ${apiKey}`, }, }, ); if (!response.ok) { throw new Error(`Context.dev returned ${response.status}: ${await response.text()}`); } const data = (await response.json()) as ScrapeMarkdownResponse; console.log(data.markdown); ``` ```javascript Node.js Axios theme={null} import axios from "axios"; const apiKey = process.env.CONTEXT_DEV_API_KEY; if (!apiKey) { throw new Error("CONTEXT_DEV_API_KEY is required"); } const { data } = await axios.get( "https://api.context.dev/v1/web/scrape/markdown", { params: { url: "https://example.com", useMainContentOnly: true, }, headers: { Authorization: `Bearer ${apiKey}`, }, }, ); console.log(data.markdown); ``` ```python Python theme={null} import os import requests api_key = os.environ["CONTEXT_DEV_API_KEY"] response = requests.get( "https://api.context.dev/v1/web/scrape/markdown", params={"url": "https://example.com", "useMainContentOnly": "true"}, headers={"Authorization": f"Bearer {api_key}"}, timeout=60, ) response.raise_for_status() data = response.json() print(data["markdown"]) ``` ```ruby Ruby Net::HTTP theme={null} require "json" require "net/http" require "uri" api_key = ENV.fetch("CONTEXT_DEV_API_KEY") uri = URI("https://api.context.dev/v1/web/scrape/markdown") uri.query = URI.encode_www_form( url: "https://example.com", useMainContentOnly: "true", ) request = Net::HTTP::Get.new(uri) request["Authorization"] = "Bearer #{api_key}" response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end unless response.is_a?(Net::HTTPSuccess) raise "Context.dev returned #{response.code}: #{response.body}" end data = JSON.parse(response.body) puts data.fetch("markdown") ``` ```go Go net/http theme={null} package main import ( "encoding/json" "fmt" "net/http" "net/url" "os" "time" ) type ScrapeMarkdownResponse struct { Success bool `json:"success"` Markdown string `json:"markdown"` } func main() { apiKey := os.Getenv("CONTEXT_DEV_API_KEY") if apiKey == "" { panic("CONTEXT_DEV_API_KEY is required") } params := url.Values{} params.Set("url", "https://example.com") params.Set("useMainContentOnly", "true") req, err := http.NewRequest( http.MethodGet, "https://api.context.dev/v1/web/scrape/markdown?"+params.Encode(), nil, ) if err != nil { panic(err) } req.Header.Set("Authorization", "Bearer "+apiKey) client := &http.Client{Timeout: 60 * time.Second} response, err := client.Do(req) if err != nil { panic(err) } defer response.Body.Close() if response.StatusCode < 200 || response.StatusCode >= 300 { panic(fmt.Sprintf("Context.dev returned %d", response.StatusCode)) } var data ScrapeMarkdownResponse if err := json.NewDecoder(response.Body).Decode(&data); err != nil { panic(err) } fmt.Println(data.Markdown) } ``` </CodeGroup> For Node Axios and Python `requests`, install the client library first: <CodeGroup> ```bash Node.js theme={null} npm install axios ``` ```bash Python theme={null} pip install requests ``` </CodeGroup> With these clients, the decoded JSON is what your application sees. Compression and decompression happen at the HTTP layer. ## Verify compression To confirm gzip is being negotiated, inspect the response headers with a client that does not hide the wire-level response: ```bash theme={null} curl -s -o /dev/null -D - -G https://api.context.dev/v1/web/scrape/markdown \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Accept-Encoding: gzip" \ --data-urlencode "url=https://example.com" ``` Look for: ```text theme={null} content-encoding: gzip ``` If you see no `content-encoding` header in application code, the response may be small enough that compression is not worth applying, or your client may have already decompressed it before exposing headers. That is normal for clients like Axios, Ruby `Net::HTTP`, and Go `net/http`. Node's built-in `fetch` may expose `gzip` or `br` depending on what it negotiated; the response body is still decoded before `response.json()` runs. ## Where compression helps most Gzip improves transfer size for any compressible JSON response, but the latency impact depends on payload size and network conditions. | Response shape | Expected impact | | -------------------------------------- | ------------------------------------------------------------------------------------------------------- | | Large rendered HTML | Highest benefit. HTML compresses well, and `/web/scrape/html` can return hundreds of KB or multiple MB. | | Full-site crawl responses | High benefit. `/web/crawl` can return many Markdown documents in one JSON response. | | Markdown scrape responses | Moderate benefit. Markdown is usually smaller than HTML, but large pages still benefit. | | Brand and quality-style JSON responses | Optional. Use gzip when available, but expect smaller gains unless the response is large. | | Very small responses | Usually neutral. The response is already small, so transfer savings are limited. | The benchmarked scrape responses had a median compression ratio of 6.5x for HTML and 4.2x for Markdown. On slower, mobile, metered, or distant networks, the same byte reduction can translate into a larger user-visible latency win than it does from a fast server-to-server connection. ## Keep connections warm Compression reduces bytes on the wire, but connection setup can still dominate latency. Reuse HTTP connections instead of creating a fresh client for every request: <CodeGroup> ```typescript TypeScript theme={null} import axios from "axios"; import https from "node:https"; const api = axios.create({ baseURL: "https://api.context.dev/v1", headers: { Authorization: `Bearer ${process.env.CONTEXT_DEV_API_KEY}`, "Accept-Encoding": "gzip", }, httpsAgent: new https.Agent({ keepAlive: true }), }); const { data } = await api.get("/web/scrape/html", { params: { url: "https://example.com" }, }); ``` ```python Python theme={null} import os import requests session = requests.Session() session.headers.update({ "Authorization": f"Bearer {os.environ['CONTEXT_DEV_API_KEY']}", "Accept-Encoding": "gzip", }) response = session.get( "https://api.context.dev/v1/web/scrape/html", params={"url": "https://example.com"}, ) ``` </CodeGroup> For bulk scrape or crawl jobs, a reused client plus gzip is usually the best default: fewer transferred bytes, less network time on large responses, and less work for your application to move data around. ## Combine with payload controls Compression works best alongside endpoint parameters that avoid returning bytes you do not need: * Use `useMainContentOnly=true` when you only need the main article or page body. * Prefer `/web/scrape/markdown` over `/web/scrape/html` when plain text is enough. * Keep `includeImages=false` and `shortenBase64Images=true` for Markdown scrapes unless image references are required. * Use `includeSelectors` and `excludeSelectors` to narrow scrape output to the relevant page regions. * Use `maxAgeMs` for repeated scrapes so cached responses can be served quickly. ## Related resources <CardGroup> <Card title="Scrape websites" icon="spider" href="/guides/scrape-websites-to-markdown"> Use scrape and crawl endpoints that benefit most from response compression. </Card> <Card title="Best Practices" icon="list-check" href="/optimization/best-practices"> Production patterns for caching, timeouts, retries, and background jobs. </Card> <Card title="Prefetching" icon="bolt" href="/optimization/prefetching"> Warm brand lookups before user-facing requests. </Card> <Card title="Troubleshooting" icon="triangle-exclamation" href="/optimization/troubleshooting"> Diagnose timeouts, retries, and slow requests. </Card> </CardGroup> # Fair Use Source: https://docs.context.dev/optimization/fair-use Guidance on fair use of brand data and responsible practices. Context.dev is a data service provider offering brand data, web scraping, and structured extraction via API. It is your responsibility to ensure you are using this data in compliance with all applicable laws, regulations, and third-party terms of service. As long as you are using Context.dev data to enrich user experiences and power your applications, you should be fine. Specifically: * **Do not imply brand endorsement.** Don't suggest a brand sponsors, endorses, or is affiliated with your product unless you have a written agreement saying so. * **Do not alter a brand's assets without permission.** Logos, colors, and other assets should arrive at the end user the way the brand published them. * **Do not use the data in a misleading or deceptive manner.** That includes phishing, spoofing, or any flow designed to make the user think the message came from the brand itself. * **When using web scraping endpoints, respect the target website's terms of service and `robots.txt` directives.** Many sites explicitly forbid automated access; the responsibility for honoring that does not transfer to Context.dev. Logo Link is designed for direct image embedding, therefore images are not allowed to be cached or stored locally. Browsers cache each image for 24 hours, which means repeat requests from the same device within that window only count once. If you are unsure whether a specific use is allowed, ask before shipping. Reach out to [hello@context.dev](mailto:hello@context.dev). ## Related resources <CardGroup> <Card title="Best practices" icon="list-check" href="/optimization/best-practices"> Integration patterns that keep your usage clean. </Card> <Card title="Contact support" icon="envelope" href="mailto:hello@context.dev"> Ask before shipping anything ambiguous. </Card> </CardGroup> # Prefetch for Faster Response Source: https://docs.context.dev/optimization/prefetching Warm the Context.dev brand cache with POST /utility/prefetch so the next /brand/retrieve lookup returns in under a second instead of ~7s cold. A Brand lookup for a domain Context.dev hasn't seen before triggers a full crawl of the website and socials, which typically takes around 7s, up to a minute at p99, with a hard platform cap of 5 minutes. Once cached, the same lookup returns in under a second, and about 60% of all Brand API calls already hit that warm cache (full breakdown in the [latency table](#latency) below). Prefetching warms the cache ahead of time. Call `POST /utility/prefetch` as soon as you know the domain or email, and the user-facing `/brand/retrieve` lands on a warm cache. The request body carries a `type` (currently only `"brand"`) and an `identifier` object with exactly one of `domain` or `email`: ```json theme={null} { "type": "brand", "identifier": { "domain": "stripe.com" } } { "type": "brand", "identifier": { "email": "founder@stripe.com" } } ``` The canonical case is a signup or onboarding form: fire a prefetch the moment the email field validates, and by the time the user submits, `/brand/retrieve` returns instantly. <Badge>0 Credits</Badge>. No rate limit. Subscriber-only. <Note> The legacy `POST /brand/prefetch` and `POST /brand/prefetch-by-email` endpoints (and their SDK methods `utility.prefetch` / `utility.prefetchByEmail`) still work unchanged. New integrations should use `POST /utility/prefetch` so future identifier types are picked up automatically. </Note> <CodeGroup> ```bash cURL theme={null} # 1. As soon as the email field validates, fire a prefetch. curl -X POST https://api.context.dev/v1/utility/prefetch \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "brand", "identifier": { "email": "founder@acme.com" } }' # 2. On submit, the real call hits a warm cache. curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"by_domain","domain":"acme.com"}' ``` ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); // 1. As soon as the email field validates, fire a prefetch. async function onEmailEntered(email: string) { // Fire-and-forget. Ignore errors (disposable email, etc.). client.utility .prefetch({ type: "brand", identifier: { email } }) .catch(() => {}); } // 2. On submit, the real call hits a warm cache. async function onSignupComplete(email: string) { const domain = email.split("@")[1]; const { brand } = await client.brand.retrieve({ type: "by_domain", domain }); return brand; } ``` ```python Python theme={null} import os from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) # 1. As soon as the email field validates, fire a prefetch. def on_email_entered(email: str) -> None: try: client.utility.prefetch(type="brand", identifier={"email": email}) except Exception: pass # disposable / personal email; safe to ignore # 2. On submit, the real call hits a warm cache. def on_signup_complete(email: str): domain = email.split("@", 1)[1] return client.brand.retrieve(type="by_domain", domain=domain).brand ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) # 1. Fire a prefetch the moment the email validates. def on_email_entered(client, email) client.utility.prefetch(type: "brand", identifier: { email: email }) rescue StandardError # disposable / personal email; safe to ignore end # 2. On submit, the real call hits a warm cache. def on_signup_complete(client, email) domain = email.split("@", 2).last client.brand.retrieve(body: { type: :by_domain, domain: domain }).brand end ``` ```go Go theme={null} package main import ( "context" "os" "strings" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) func main() { client := contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) ctx := context.TODO() // 1. Fire a prefetch on email entry. Ignore errors. _, _ = client.Utility.Prefetch(ctx, contextdev.UtilityPrefetchParams{ Type: "brand", Identifier: contextdev.UtilityPrefetchParamsIdentifier{ Email: "founder@acme.com", }, }) // 2. On submit, the user-facing call lands warm. domain := strings.Split("founder@acme.com", "@")[1] _, _ = client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: domain}, }) } ``` ```php PHP theme={null} <?php use ContextDev\Client; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); // 1. As soon as the email field validates, fire a prefetch. function onEmailEntered(string $email): void { global $client; try { $client->utility->prefetch(type: 'brand', identifier: ['email' => $email]); } catch (Throwable) { // disposable / personal email; safe to ignore } } // 2. On submit, the real call hits a warm cache. function onSignupComplete(string $email) { global $client; $domain = explode('@', $email, 2)[1]; return $client->brand->retrieve(type: 'by_domain', domain: $domain)->brand; } ``` </CodeGroup> ## How the cache works * **Cache TTL is up to 3 months.** After that, the next call triggers a refresh in the background. * **The cache is shared across the account.** A prefetch from a backend job warms the cache for a user-facing call seconds later. * **Prefetch is fire-and-forget.** The endpoint returns immediately after queuing the work. You do not wait for the prefetch before calling `/brand/retrieve`. * **Low timeouts fail fast on cold domains.** A `/brand/retrieve` with `timeoutMS` below 10,000 ms on a domain that isn't cached yet returns an immediate `422` (`COLD_DOMAIN_TIMEOUT_TOO_LOW`) instead of a guaranteed 408 — a cold crawl can never finish that fast. Prefetching is the fix: once the cache is warm, low-timeout lookups succeed. * **Prefetch by email skips known free/disposable providers.** Calls against `gmail.com`, `yahoo.com`, `outlook.com`, and the 10,000+ disposable services return a `422` (`FREE_EMAIL_DETECTED` or `DISPOSABLE_EMAIL_DETECTED`) that you can safely ignore. * **Provide exactly one identifier.** Sending both `domain` and `email` (or neither) returns a `400`. ## Latency | Pattern | p50 | p90 | p99 | | ------------------------------------------------------ | ---- | ---- | ------- | | Cold `/brand/retrieve` (no prefetch) | 7s | 18s | \~1 min | | Cached `/brand/retrieve` (after prefetch or prior hit) | \<1s | \<1s | \<1s | Every second of prefetch lead time turns a multi-second (sometimes minute-long) cold wait into a sub-second user-facing call. ## What prefetch does not do * **It does not speed up scraping endpoints.** `/web/scrape/*`, `/web/crawl`, `/web/screenshot`, and `/brand/ai/*` are not affected by the brand cache. Each call fetches the target URL. * **It does not preempt rate limits.** Prefetch itself is rate-limit-free, but the eventual `/brand/retrieve` call still counts against your plan's per-minute rate limit. * **It does not return brand data.** The endpoint queues the work and returns `{ status, message, type, domain, key_metadata }`. To read the brand, call `/brand/retrieve` separately. ## Related resources <CardGroup> <Card title="Rate limits" icon="gauge" href="/optimization/rate-limits"> How the per-plan per-minute limits interact with cached and prefetched calls. </Card> <Card title="Best practices" icon="list-check" href="/optimization/best-practices"> Where prefetching fits in the broader integration pattern. </Card> <Card title="Troubleshooting" icon="triangle-exclamation" href="/optimization/troubleshooting"> Cold-hit timeouts and how to handle them. </Card> <Card title="Get brand data" icon="address-card" href="/guides/get-brand-data"> The endpoint prefetching warms. </Card> </CardGroup> # Handle Rate Limits Source: https://docs.context.dev/optimization/rate-limits Stay under your plan's per-minute request cap on the Context.dev API with client-side caching, exponential backoff on 429s, and prefetching. Each plan has a per-minute request cap. If you exceed it, the API returns `429 Too Many Requests`. To make your app production-ready, use these four patterns to prevent this or handle errors when it happens: * Client-side caching for hot domains. * Backoff on 429, honoring the `Retry-After` header. * Prefetch to shift slow work ahead of bursts. * Tier-aware fallbacks when the limit holds. Before reaching for any of them, check whether the work belongs in a batch. [One batch submission counts as a single request](#batch-jobs-count-as-one-request) however many pages it covers, which removes the pressure instead of managing it. ## Rate limits per plan Rate limits apply per API key, are measured per minute, and are visible on your [dashboard](https://www.context.dev/dashboard). The current tiers: | Plan | Credits per month | Rate limit | Overage | | ---------- | ----------------- | ---------------- | -------------------- | | Free | 500 one-time\* | 30 requests/min | None | | Hobby | 10,000 | 60 requests/min | \$15 per 10K credits | | Starter | 30,000 | 120 requests/min | \$12 per 10K credits | | Pro | 200,000 | 300 requests/min | \$9 per 10K credits | | Scale | 2,500,000 | 800 requests/min | \$6 per 10K credits | | Enterprise | Custom | Custom | Contact sales | \* Free plan credits are a one-time grant, not a monthly allowance. <Info> [Logo Link](/guides/get-logo-from-url) and [Prefetch](/optimization/prefetching) endpoints do not have any rate limits. Monitors management endpoints (`/v1/monitors/*`) use a [separate per-organization bucket](#monitors-api-has-its-own-bucket). Pages scraped inside a [batch](#batch-jobs-count-as-one-request) are exempt too; only the submit call itself counts. </Info> ## Monitors API has its own bucket Requests to `/v1/monitors/*` — the endpoints that create, list, update, delete, and inspect monitors and their runs — do **not** count against the per-plan rate limit in the table above. They draw from a separate per-organization bucket: | Limit | Value | | ------------------------------- | ---------------- | | Requests per minute (all plans) | **1000** | | Scope | Per organization | This bucket is isolated in both directions: heavy monitor polling never eats into your data-API budget, and heavy brand/web traffic never throttles your monitors dashboard or webhook backfill queries. The 1000/min ceiling is flat across every plan, including Free. When you exceed the monitors bucket, the response is the same `429 Rate limit exceeded` envelope described below, but the `X-RateLimit-*` headers on monitors responses reflect the monitors bucket (limit `1000`) rather than your plan's data-API limit. Apply the same [backoff pattern](#pattern-2-backoff-on-429-with-retry-after) — reading `Retry-After` and `X-RateLimit-Remaining` from the monitors response works the same way. <Info> Monitor **runs** (the actual scrape work executed on your monitor's schedule) are separate from the monitors management API. Run frequency and count are controlled by your plan's monitor limits and the monitor's own schedule, not this per-minute cap. </Info> ## Weighted endpoints Two endpoints fan out to many upstream scrapes per call and count as **10 requests** against your per-minute rate limit instead of 1: | Endpoint | Weight | | ------------------------- | ------ | | `POST /web/crawl` | 10 | | `POST /brand/ai/products` | 10 | Every other endpoint still counts as 1 request. On a Pro plan (300 requests/min), that means at most 30 crawl or product-extraction calls per minute before you start seeing 429s, while lighter endpoints keep their full 300/min budget. Rejected requests do not consume budget — if a weighted call is throttled, none of the 10 units are charged and other requests in the same window are unaffected. The `X-RateLimit-Remaining` header reflects the post-weight count, so a successful `/web/crawl` on a fresh 300/min window drops `X-RateLimit-Remaining` from 300 to 290. ## Batch jobs count as one request A batch is a single API call no matter how large it is. `POST /batch/submit` carrying 25,000 URLs counts as **1 request** against your per-minute limit — the same as a batch carrying one URL. The pages inside are queued, paced, and scraped by Context.dev's own workers, so they never draw from your budget. That makes the [Batch API](/guides/scrape-websites-in-batches) the cheapest way to move volume: | Approach | Requests against your limit | | --------------------------------------------- | --------------------------- | | 5,000 calls to `POST /web/scrape/markdown` | 5,000 | | One `POST /batch/submit` with 5,000 URLs | 1 | | One `POST /batch/submit` with a `crawl` input | 1 | On a Pro plan (300 requests/min), the first row saturates your limit for roughly 17 minutes. The second spends one request and leaves the other 299 in that window for user-facing traffic. Crawls benefit the most. A synchronous `POST /web/crawl` is a [weighted endpoint](#weighted-endpoints) costing 10 requests; the same crawl submitted as a batch costs 1. ### Polling does count The work inside a batch is free of your rate limit. The calls you make to check on it are not — every `GET /batch/{batch_id}` and `GET /batch/{batch_id}/results` is an ordinary 1-request call. A batch polled every two seconds spends 30 requests a minute doing nothing but asking. Two ways around it: * **Take the webhook.** Pass `webhookUrl` at submission and Context.dev calls you when the batch settles, so you spend zero requests waiting. * **Poll slowly.** Every 10–30 seconds resolves a job that runs for minutes just as well as every 2 seconds does. <Info> For batch throughput, the concurrent-batch limit binds long before the per-minute rate limit does. Submitting past it returns `403 BATCH_LIMIT_EXCEEDED`. See [Submit Batch Jobs](/guides/scrape-websites-in-batches#handle-errors). </Info> ## Read rate-limit headers on every response Every response from an authenticated request now includes three headers so you can pace requests without waiting for a 429: | Header | Meaning | | ----------------------- | ---------------------------------------------------------------- | | `X-RateLimit-Limit` | Maximum requests allowed in the current fixed one-minute window. | | `X-RateLimit-Remaining` | Requests remaining in the current window. | | `X-RateLimit-Reset` | Unix timestamp (seconds) when the window resets. | Use `X-RateLimit-Remaining` to slow down proactively — for example, add a small delay when it drops under 10% of `X-RateLimit-Limit` — instead of retrying after a 429. ## What a 429 looks like The API returns a JSON envelope: ```json theme={null} { "status": "error", "message": "Rate limit exceeded", "code": 429, "key_metadata": { "credits_consumed": 0, "credits_remaining": 29940 } } ``` `credits_consumed` is always `0` on a 429 — throttled requests are never charged. Every 429 response also includes the standard `X-RateLimit-*` headers plus a `Retry-After` header with the precise number of seconds (1–60) until your per-minute window resets: ```text theme={null} Retry-After: 23 ``` Through an SDK, the error surfaces as a typed exception with `status === 429`. The SDK does not retry automatically. You wire that in. ## Pattern 1: Client-side cache for hot domains The cheapest way to stay under the cap is to skip the call. Brand data changes on the order of months, so a 24-hour client cache is safe for most products: <CodeGroup> ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); const CACHE_TTL_MS = 30 * 24 * 60 * 60 * 1000; const cache = new Map<string, { data: unknown; at: number }>(); async function getBrand(domain: string) { const hit = cache.get(domain); if (hit && Date.now() - hit.at < CACHE_TTL_MS) return hit.data; const { brand } = await client.brand.retrieve({ type: "by_domain", domain }); cache.set(domain, { data: brand, at: Date.now() }); return brand; } ``` ```python Python theme={null} import os import time from context.dev import ContextDev client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) CACHE_TTL_S = 30 * 24 * 60 * 60 _cache: dict[str, tuple[float, dict]] = {} def get_brand(domain: str): hit = _cache.get(domain) if hit and time.time() - hit[0] < CACHE_TTL_S: return hit[1] brand = client.brand.retrieve(type="by_domain", domain=domain).brand _cache[domain] = (time.time(), brand) return brand ``` ```ruby Ruby theme={null} require "context_dev" client = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) CACHE_TTL_S = 30 * 24 * 60 * 60 @cache = {} def get_brand(client, domain) hit = @cache[domain] return hit[:data] if hit && Time.now.to_i - hit[:at] < CACHE_TTL_S brand = client.brand.retrieve(body: { type: :by_domain, domain: domain }).brand @cache[domain] = { data: brand, at: Time.now.to_i } brand end get_brand(client, "acme.com") ``` ```go Go theme={null} package main import ( "context" "os" "sync" "time" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) var ( cacheMu sync.Mutex cache = map[string]struct { data any at time.Time }{} cacheTTL = 30 * 24 * time.Hour client = contextdev.NewClient(option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY"))) ) func GetBrand(ctx context.Context, domain string) (any, error) { cacheMu.Lock() if hit, ok := cache[domain]; ok && time.Since(hit.at) < cacheTTL { cacheMu.Unlock() return hit.data, nil } cacheMu.Unlock() r, err := client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: domain}, }) if err != nil { return nil, err } cacheMu.Lock() cache[domain] = struct { data any at time.Time }{r.Brand, time.Now()} cacheMu.Unlock() return r.Brand, nil } ``` ```php PHP theme={null} <?php use ContextDev\Client; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); const CACHE_TTL_S = 30 * 24 * 60 * 60; $cache = []; function getBrand(string $domain) { global $client, $cache; if (isset($cache[$domain]) && time() - $cache[$domain]['at'] < CACHE_TTL_S) { return $cache[$domain]['data']; } $brand = $client->brand->retrieve(type: 'by_domain', domain: $domain)->brand; $cache[$domain] = ['data' => $brand, 'at' => time()]; return $brand; } ``` </CodeGroup> Reasonable TTL starting points: 30 days for brand responses, 7 days for product extractions, indefinite for industry codes (NAICS / SIC). Adjust per use case. ## Pattern 2: Backoff on 429 with `Retry-After` When you hit rate limits, you get a 429 status code on the response: ```json theme={null} { "status": "error", "message": "Rate limit exceeded", "code": 429 } ``` The response's `Retry-After` header tells you exactly how many seconds until your window resets, so use it as the wait time when it's present. Fall back to exponential backoff (wait 1 second before the first retry and double the delay on each subsequent attempt) if you can't read the header. Here's an example of a retry script that honors `Retry-After` and falls back to exponential delays: <CodeGroup> ```typescript TypeScript theme={null} async function retrieveWithBackoff(domain: string, maxAttempts = 4) { for (let attempt = 0; attempt < maxAttempts; attempt++) { try { return await client.brand.retrieve({ type: "by_domain", domain }); } catch (err: any) { if (err.status !== 429 || attempt === maxAttempts - 1) throw err; const retryAfter = Number(err.headers?.["retry-after"]); const delayMs = retryAfter > 0 ? retryAfter * 1000 : Math.pow(2, attempt) * 1000; await new Promise((r) => setTimeout(r, delayMs)); } } } ``` ```python Python theme={null} import time from context.dev import APIStatusError def retrieve_with_backoff(domain: str, max_attempts: int = 4): for attempt in range(max_attempts): try: return client.brand.retrieve(type="by_domain", domain=domain) except APIStatusError as e: if e.status_code != 429 or attempt == max_attempts - 1: raise retry_after = int(e.response.headers.get("Retry-After", 0)) time.sleep(retry_after if retry_after > 0 else 2 ** attempt) ``` ```ruby Ruby theme={null} def retrieve_with_backoff(client, domain, max_attempts: 4) attempt = 0 begin client.brand.retrieve(body: { type: :by_domain, domain: domain }) rescue ContextDev::Errors::APIStatusError => e raise unless e.status == 429 && attempt < max_attempts - 1 retry_after = e.headers["retry-after"].to_i sleep(retry_after.positive? ? retry_after : 2**attempt) attempt += 1 retry end end ``` ```go Go theme={null} import ( "context" "errors" "fmt" "math" "strconv" "time" contextdev "github.com/context-dot-dev/context-go-sdk" ) func RetrieveWithBackoff(ctx context.Context, domain string) (*contextdev.BrandGetResponse, error) { const maxAttempts = 4 for attempt := 0; attempt < maxAttempts; attempt++ { r, err := client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: domain}, }) if err == nil { return r, nil } var apiErr *contextdev.Error if !errors.As(err, &apiErr) || apiErr.StatusCode != 429 || attempt == maxAttempts-1 { return nil, err } delay := time.Duration(math.Pow(2, float64(attempt))) * time.Second if secs, parseErr := strconv.Atoi(apiErr.Response.Header.Get("Retry-After")); parseErr == nil && secs > 0 { delay = time.Duration(secs) * time.Second } time.Sleep(delay) } return nil, fmt.Errorf("unreachable") } ``` ```php PHP theme={null} <?php use ContextDev\Client; use ContextDev\Core\Exceptions\APIStatusException; function retrieveWithBackoff(string $domain, int $maxAttempts = 4) { global $client; for ($attempt = 0; $attempt < $maxAttempts; $attempt++) { try { return $client->brand->retrieve( type: 'by_domain', domain: $domain, requestOptions: ['maxRetries' => 0], ); } catch (APIStatusException $e) { if ($e->status !== 429 || $attempt === $maxAttempts - 1) { throw $e; } $retryAfter = (int) ($e->response?->getHeaderLine('Retry-After') ?: 0); sleep($retryAfter > 0 ? $retryAfter : 2 ** $attempt); } } throw new RuntimeException('unreachable'); } ``` </CodeGroup> ## Pattern 3: Prefetch to shift slow work ahead of bursts Bursty traffic (like when a marketing email triggers 200 signups in 60 seconds) can get you rate limited. Prefetching doesn't reduce the number of Brand API calls that count against your limit; every user-facing `/brand/retrieve` still spends rate-limit budget. What it does is shift the slow crawl work earlier, so each call during the burst completes in under a second instead of stalling for up to a minute and piling up retries on top of an already-saturated window. Here's how it works: * During the burst, your application calls `POST /utility/prefetch` right when it first receives the target domain or email, passing `type: "brand"` and either `identifier.domain` or `identifier.email`. Prefetch is rate-limit-free, so 200 calls in a minute is fine. * A few seconds later, when the user actually submits and the user-facing client hits the Brand API, the request lands on a warm cache and returns in under a second. That call still counts toward your per-minute limit; it's just fast. See [Prefetch for Faster Response](/optimization/prefetching) for the full pattern. ## Pattern 4: Degrade gracefully when the limit holds If exponential backoff has run out of retries and you are still seeing 429s, the user is better served by a missing-data fallback than an error screen. Some examples: * **Onboarding form.** Skip the prefilled fields. Let the user enter them by hand and do not block on the API. * **Logo wall.** Render the customer's name in a styled box instead of the logo. * **CRM enrichment.** Queue the contact for an offline enrichment job that runs overnight. Build the fallback once and the end user never sees a rate-limit message. ## Related resources <CardGroup> <Card title="Prefetch" icon="bolt" href="/optimization/prefetching"> Warm the cache so burst-time calls return fast. </Card> <Card title="Best practices" icon="list-check" href="/optimization/best-practices"> Cache, fallback, and proxy patterns end to end. </Card> <Card title="Troubleshooting" icon="triangle-exclamation" href="/optimization/troubleshooting"> Other status codes, retry logic, and SDK gotchas. </Card> <Card title="Pricing" icon="receipt" href="https://www.context.dev/pricing"> Per-plan credit, rate limit, and overage details. </Card> </CardGroup> # Tag Requests Source: https://docs.context.dev/optimization/tag-requests Attach caller-defined tags to any Context.dev API request so you can filter and attribute credit usage by environment, team, or feature on the dashboard. Every non-monitor endpoint accepts an optional `tags` input that gets recorded on the request's usage log. Tags are yours to define — common uses are environment (`production`, `staging`), team or tenant (`team-alpha`, `customer-42`), or feature (`onboarding-flow`, `nightly-refresh`). You can then filter the usage tab of your [dashboard](https://www.context.dev/dashboard) by any tag to see credits burned by that slice. Tags are purely for observability. They don't change response shape, pricing, caching, or rate limits. ## When to use tags Reach for tags when a single API key serves multiple workloads and you need to see which one is spending credits: * Split spend between `production` and `staging` on the same key. * Attribute usage to internal teams, tenants, or customers. * Compare cost of one code path (say, `nightly-batch`) against another (`user-triggered`). * Track cost of an experiment or migration before you commit. If everything on the key is one workload, you don't need tags. ## How to send tags Tags are optional on every endpoint except `/v1/monitors/*` and `/v1/admin/*`. On monitors, `tags` keeps its existing meaning — tags belong to the monitor resource itself, and every run of a tagged monitor automatically carries those tags to its usage log. The shape depends on the HTTP method: | Request type | Where tags go | Format | | -------------------------- | ------------------------ | --------------------------------------------------- | | `POST` (JSON body) | `tags` field in the body | Array of strings | | `GET` and `POST /v1/parse` | `tags` query parameter | Comma-separated string, or repeated `?tags=` params | Limits (same as monitor tags): * Up to **20 tags** per request. * Each tag is **1–50 characters**. * Duplicates across body and query are deduplicated. * Invalid tags return `400 INPUT_VALIDATION_ERROR`. ### POST example <CodeGroup> ```bash cURL theme={null} curl -X POST https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "by_domain", "domain": "stripe.com", "tags": ["production", "team-alpha"] }' ``` ```typescript TypeScript theme={null} const { brand } = await client.brand.retrieve({ type: "by_domain", domain: "stripe.com", tags: ["production", "team-alpha"], }); ``` ```python Python theme={null} brand = client.brand.retrieve( type="by_domain", domain="stripe.com", tags=["production", "team-alpha"], ) ``` </CodeGroup> ### GET example <CodeGroup> ```bash cURL theme={null} curl "https://api.context.dev/v1/web/scrape/markdown?url=https://example.com&tags=production,team-alpha" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` ```bash Repeated params theme={null} curl "https://api.context.dev/v1/web/scrape/markdown?url=https://example.com&tags=production&tags=team-alpha" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` </CodeGroup> ## Filter usage by tag Once a tagged request is logged, open the usage tab of your [dashboard](https://www.context.dev/dashboard) and filter by any tag to see the credits and request count attributed to that slice. Monitor runs on a monitor that has resource-level `tags` also appear under those tags, so you can view monitor and non-monitor spend side by side. ## Related * [Handle Rate Limits](/optimization/rate-limits) — pace requests once you've identified which tag is burning quota. * [Best Practices](/optimization/best-practices) — patterns to keep spend predictable. # Troubleshooting Source: https://docs.context.dev/optimization/troubleshooting HTTP status codes, error_code values, common failures, and copy-paste recovery patterns (retries, fallbacks, email filtering) for the Context.dev API. Every Context.dev failure surfaces as a typed exception in the SDK or a structured error envelope from the HTTP API. The envelope carries a `status`, a human-readable `message`, and a machine-readable `error_code` (429 responses use `code` instead): ```json theme={null} { "message": "Domain branding not present (DNS resolution failed) [acme-nonexistent.com]", "status": "error", "error_code": "WEBSITE_ACCESS_ERROR" } ``` The most common status codes: | Status | Meaning | Where to look | | ------ | ------------------------------------------------------------------------ | ----------------------------------------------- | | 400 | Invalid input, or a well-formed domain that can't be resolved | [Bad Request](#bad-request-400) | | 401 | Missing or invalid API key | [Unauthorized](#unauthorized-401) | | 408 | Cold-hit timeout or custom `timeoutMS` exceeded | [Request Timeout](#request-timeout-408) | | 422 | Invalid, disposable, or free email (only on `by_email` brand lookups) | [Invalid Email](#invalid-email-422) | | 429 | Rate limit exceeded — wait the seconds given in the `Retry-After` header | [Handle Rate Limits](/optimization/rate-limits) | | 500 | Transient server error | [Server Error](#server-error-500) | For the current API status, see [status.context.dev](https://status.context.dev). ## Bad Request (400) Good news first: you don't have to sanitize the domain yourself. The API strips the protocol and the `www.` subdomain for you, so `stripe.com`, `https://stripe.com`, and `www.stripe.com` all resolve to the same brand. <CodeGroup> ```typescript TypeScript theme={null} // All three resolve to stripe.com — the API normalizes protocol and www. await client.brand.retrieve({ type: "by_domain", domain: "stripe.com" }); await client.brand.retrieve({ type: "by_domain", domain: "https://stripe.com" }); await client.brand.retrieve({ type: "by_domain", domain: "www.stripe.com" }); // 400 INPUT_VALIDATION_ERROR — no TLD, fails the domain format check await client.brand.retrieve({ type: "by_domain", domain: "stripe" }); ``` ```python Python theme={null} # All three resolve to stripe.com — the API normalizes protocol and www. client.brand.retrieve(type="by_domain", domain="stripe.com") client.brand.retrieve(type="by_domain", domain="https://stripe.com") client.brand.retrieve(type="by_domain", domain="www.stripe.com") # 400 INPUT_VALIDATION_ERROR — no TLD, fails the domain format check client.brand.retrieve(type="by_domain", domain="stripe") ``` ```ruby Ruby theme={null} # All three resolve to stripe.com — the API normalizes protocol and www. client.brand.retrieve(body: { type: :by_domain, domain: "stripe.com" }) client.brand.retrieve(body: { type: :by_domain, domain: "https://stripe.com" }) client.brand.retrieve(body: { type: :by_domain, domain: "www.stripe.com" }) # 400 INPUT_VALIDATION_ERROR — no TLD, fails the domain format check client.brand.retrieve(body: { type: :by_domain, domain: "stripe" }) ``` ```go Go theme={null} // All three resolve to stripe.com — the API normalizes protocol and www. client.Brand.Get(ctx, contextdev.BrandGetParams{OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: "stripe.com"}}) client.Brand.Get(ctx, contextdev.BrandGetParams{OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: "https://stripe.com"}}) client.Brand.Get(ctx, contextdev.BrandGetParams{OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: "www.stripe.com"}}) // 400 INPUT_VALIDATION_ERROR — no TLD, fails the domain format check client.Brand.Get(ctx, contextdev.BrandGetParams{OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: "stripe"}}) ``` ```php PHP theme={null} // All three resolve to stripe.com — the API normalizes protocol and www. $client->brand->retrieve(type: 'by_domain', domain: 'stripe.com'); $client->brand->retrieve(type: 'by_domain', domain: 'https://stripe.com'); $client->brand->retrieve(type: 'by_domain', domain: 'www.stripe.com'); // 400 INPUT_VALIDATION_ERROR — no TLD, fails the domain format check $client->brand->retrieve(type: 'by_domain', domain: 'stripe'); ``` </CodeGroup> A 400 actually comes back in several distinct flavors, told apart by `error_code`: * **`INPUT_VALIDATION_ERROR`** — the request itself is malformed. A domain with no TLD (`stripe`), a missing required parameter, an out-of-range value (company name on a `by_name` brand lookup must be 3–30 characters), or both/neither of an either-or pair (`/web/styleguide`, `/web/fonts`, and `/web/screenshot` each take `domain` or `directUrl`, never both and never neither). * **`WEBSITE_ACCESS_ERROR`** — the site exists but couldn't be scraped (blocked, hostile WAF, unreachable mid-crawl). This is effectively "no brand here," and on `/brand/retrieve` it comes back as a 400, not a 404. * **`WEBSITE_NOT_FOUND`** — the domain definitively doesn't resolve (dead DNS). Previously folded into `WEBSITE_ACCESS_ERROR`; now its own code so you can tell a dead domain apart from a live site that blocked the crawl. * **`NOT_FOUND`** — no brand matched the identifier you passed. The request is not billed. * **`PDF_SKIPPED`** — the scraping target is a PDF and the request set `pdf[shouldParse]: false`. * **`PDF_IMAGES_ONLY`** — the target PDF is a scan with images but no text layer. Retry with OCR enabled (`ocr=true` on `/parse`, `pdf[ocr]=true` on scraping endpoints) to recover the content at 1 credit per recovered page. Surface an `INPUT_VALIDATION_ERROR` as a user-facing validation message, not a retryable failure. `WEBSITE_NOT_FOUND` and `WEBSITE_ACCESS_ERROR` both mean the brand can't be crawled, so treat them as a clean "not found" — `WEBSITE_NOT_FOUND` is the definitive signal that the domain is dead. ## Unauthorized (401) The API key is missing, invalid, expired, or deleted. Start by confirming the key is actually being loaded, without ever logging the key itself: <CodeGroup> ```typescript TypeScript theme={null} console.log("API key present:", !!process.env.CONTEXT_DEV_API_KEY); console.log("API key length:", process.env.CONTEXT_DEV_API_KEY?.length); const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); ``` ```python Python theme={null} import os print("API key present:", bool(os.environ.get("CONTEXT_DEV_API_KEY"))) print("API key length:", len(os.environ.get("CONTEXT_DEV_API_KEY", ""))) ``` ```ruby Ruby theme={null} puts "API key present: #{!ENV['CONTEXT_DEV_API_KEY'].nil? && !ENV['CONTEXT_DEV_API_KEY'].empty?}" puts "API key length: #{ENV['CONTEXT_DEV_API_KEY']&.length}" ``` ```go Go theme={null} key := os.Getenv("CONTEXT_DEV_API_KEY") fmt.Println("API key present:", key != "") fmt.Println("API key length:", len(key)) ``` ```php PHP theme={null} use ContextDev\Client; echo 'API key present: ', getenv('CONTEXT_DEV_API_KEY') !== false ? 'true' : 'false', PHP_EOL; echo 'API key length: ', strlen(getenv('CONTEXT_DEV_API_KEY') ?: ''), PHP_EOL; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); ``` </CodeGroup> Common gotchas: * **Env var name mismatch.** The expected name is `CONTEXT_DEV_API_KEY`. Watch for typos like `CONTEXTAPIKEY` or `CONTEXT_DEV_APIKEY`. * **`.env` not loaded.** In Node, `import "dotenv/config"` (or `require("dotenv").config()`) must run before the SDK is initialized. In Python, `load_dotenv()` from `python-dotenv` does the same. * **Key was rotated.** Generate a new key in the [dashboard](https://context.dev/dashboard) and update the environment variable everywhere the application runs. ## Request Timeout (408) A 408 comes back when either your `timeoutMS` budget elapsed before the API finished, or the cold-hit crawl ran past the 5-minute platform maximum. For reference, cold-hit latency is around 7 seconds at p50 and up to a minute at p99; cached hits return in around 250ms. Two related behaviors on brand lookups for domains that aren't cached yet: a `timeoutMS` below 10,000 ms fails immediately with a 422 `COLD_DOMAIN_TIMEOUT_TOO_LOW` instead of burning the budget on a guaranteed timeout (a cold crawl can never finish that fast), and when a cold lookup does 408, the error message includes a hint pointing at the free [prefetch endpoint](/optimization/prefetching) so your retry lands on a warm cache. Three recovery strategies, in order of preference: **1. Prefetch the domain or email.** A warmed cache lands the eventual `/brand/retrieve` in under a second. See [Prefetch for Faster Response](/optimization/prefetching). **2. Raise the `timeoutMS` budget.** Minimum 1,000 ms, maximum 300,000 ms (5 minutes). 60 seconds is a sane default for non-time-sensitive paths: <CodeGroup> ```typescript TypeScript theme={null} const { brand } = await client.brand.retrieve({ type: "by_domain", domain: "example.com", timeoutMS: 60000, }); ``` ```python Python theme={null} brand = client.brand.retrieve( type="by_domain", domain="example.com", timeout_ms=60000, ).brand ``` ```ruby Ruby theme={null} brand = client.brand.retrieve( body: { type: :by_domain, domain: "example.com" }, timeout_ms: 60000, ).brand ``` ```go Go theme={null} response, err := client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: "example.com"}, TimeoutMs: param.NewOpt[int64](60000), }) ``` ```php PHP theme={null} $response = $client->brand->retrieve( type: 'by_domain', domain: 'example.com', timeoutMs: 60000, ); $brand = $response->brand; ``` </CodeGroup> **3. Retry with exponential backoff.** A second attempt frequently lands on the now-warm cache from the first crawl. These snippets assume a configured `client` from the [Quickstart](/quickstart): <CodeGroup> ```typescript TypeScript theme={null} async function fetchWithRetry(domain: string, maxRetries = 3) { for (let i = 0; i < maxRetries; i++) { try { return await client.brand.retrieve({ type: "by_domain", domain }); } catch (err: any) { if (err.status === 408 && i < maxRetries - 1) { await new Promise((r) => setTimeout(r, 2 ** i * 1000)); continue; } throw err; } } } ``` ```python Python theme={null} import time from context.dev import APIStatusError def fetch_with_retry(domain: str, max_retries: int = 3): for i in range(max_retries): try: return client.brand.retrieve(type="by_domain", domain=domain) except APIStatusError as e: if e.status_code == 408 and i < max_retries - 1: time.sleep(2 ** i) continue raise ``` ```ruby Ruby theme={null} def fetch_with_retry(client, domain, max_retries: 3) attempt = 0 begin client.brand.retrieve(body: { type: :by_domain, domain: domain }) rescue ContextDev::Errors::APIStatusError => e raise unless e.status == 408 && attempt < max_retries - 1 sleep(2**attempt) attempt += 1 retry end end ``` ```go Go theme={null} import ( "context" "errors" "time" contextdev "github.com/context-dot-dev/context-go-sdk" ) func fetchWithRetry(ctx context.Context, domain string, maxRetries int) (*contextdev.BrandGetResponse, error) { for i := 0; i < maxRetries; i++ { r, err := client.Brand.Get(ctx, contextdev.BrandGetParams{OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: domain}}) if err == nil { return r, nil } var apiErr *contextdev.Error if errors.As(err, &apiErr) && apiErr.StatusCode == 408 && i < maxRetries-1 { time.Sleep(time.Duration(1<<i) * time.Second) continue } return nil, err } return nil, errors.New("unreachable") } ``` ```php PHP theme={null} <?php use ContextDev\Client; use ContextDev\Core\Exceptions\APIStatusException; function fetchWithRetry(string $domain, int $maxRetries = 3) { global $client; for ($i = 0; $i < $maxRetries; $i++) { try { return $client->brand->retrieve( type: 'by_domain', domain: $domain, requestOptions: ['maxRetries' => 0], ); } catch (APIStatusException $e) { if ($e->status === 408 && $i < $maxRetries - 1) { sleep(2 ** $i); continue; } throw $e; } } throw new RuntimeException('unreachable'); } ``` </CodeGroup> ## Content Too Large (413) Scraping and parsing endpoints cap remote content downloads at 20 MB and return a 413 with `error_code: "CONTENT_TOO_LARGE"` when the requested content exceeds it. Batch page records carry the same code, and `/web/search` results with Markdown enrichment report it per result in `markdown.code`. An oversized auxiliary resource — like an embedded PDF on an otherwise scrapable page — degrades to the page result instead of failing the request; only the requested content itself being over the cap is terminal. No retry fixes a 413, so treat it as a permanent failure for that URL. ## Unprocessable Request (422) A 422 comes in two families, told apart by `error_code`: invalid emails and cold-domain timeouts. ### Invalid email Returned by `by_email` brand lookups (`POST /brand/retrieve` with `type: "by_email"`), [`POST /people/enrich`](/api-reference/people/enrich), and email-identifier prefetches — always before any credits are charged. The three causes: * **Disposable email service** (e.g. `tempmail.com`, `guerrillamail.com`). * **Free email provider** (`gmail.com`, `yahoo.com`, `hotmail.com`, `outlook.com`, `aol.com`, `icloud.com`, `proton.me`). The `error_code` is `FREE_EMAIL_DETECTED`. * **Malformed email format.** Filter known-bad providers client-side to skip the round trip: <CodeGroup> ```typescript TypeScript theme={null} const FREE_PROVIDERS = new Set([ "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", "aol.com", "icloud.com", "proton.me", ]); function isWorkEmail(email: string): boolean { const domain = email.split("@")[1]?.toLowerCase(); return Boolean(domain) && !FREE_PROVIDERS.has(domain); } if (isWorkEmail(email)) { await client.brand.retrieve({ type: "by_email", email }); } ``` ```python Python theme={null} FREE_PROVIDERS = { "gmail.com", "yahoo.com", "hotmail.com", "outlook.com", "aol.com", "icloud.com", "proton.me", } def is_work_email(email: str) -> bool: parts = email.split("@") domain = parts[1].lower() if len(parts) == 2 else None return bool(domain) and domain not in FREE_PROVIDERS if is_work_email(email): client.brand.retrieve(type="by_email", email=email) ``` ```ruby Ruby theme={null} require "set" FREE_PROVIDERS = %w[ gmail.com yahoo.com hotmail.com outlook.com aol.com icloud.com proton.me ].to_set def work_email?(email) domain = email.split("@")[1]&.downcase !domain.nil? && !FREE_PROVIDERS.include?(domain) end client.brand.retrieve(body: { type: :by_email, email: email }) if work_email?(email) ``` ```go Go theme={null} var freeProviders = map[string]bool{ "gmail.com": true, "yahoo.com": true, "hotmail.com": true, "outlook.com": true, "aol.com": true, "icloud.com": true, "proton.me": true, } func isWorkEmail(email string) bool { parts := strings.Split(email, "@") if len(parts) != 2 { return false } return !freeProviders[strings.ToLower(parts[1])] } if isWorkEmail(email) { client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByEmail: &contextdev.BrandGetParamsBodyByEmail{Email: email}, }) } ``` ```php PHP theme={null} $FREE_PROVIDERS = [ 'gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com', 'aol.com', 'icloud.com', 'proton.me', ]; function isWorkEmail(string $email): bool { $parts = explode('@', $email); $domain = isset($parts[1]) ? strtolower($parts[1]) : null; return $domain !== null && !in_array($domain, $FREE_PROVIDERS, true); } if (isWorkEmail($email)) { $client->brand->retrieve(type: 'by_email', email: $email); } ``` </CodeGroup> `POST /utility/prefetch` applies a broader 10,000+ disposable-provider filter automatically when you pass `identifier.email`. ### Cold-domain timeout too low `COLD_DOMAIN_TIMEOUT_TOO_LOW` is returned by brand lookups when the domain isn't cached yet and `timeoutMS` is below 10,000 ms — a cold crawl can never finish that fast, so the API fails immediately instead of letting the request run into a guaranteed 408. Raise `timeoutMS` to at least 60,000 ms for paths that may hit cold domains, or [prefetch](/optimization/prefetching) the domain first and retry once the cache is warm. ## Server Error (500) A 500 is transient. Two recovery patterns: **1. Retry with exponential backoff** (same shape as the 408 retry above). **2. Fall back to a different lookup method.** If a `by_email` lookup 500s, extract the domain and retry with `type: "by_domain"`: <CodeGroup> ```typescript TypeScript theme={null} async function getBrandWithFallback(email: string) { try { return await client.brand.retrieve({ type: "by_email", email }); } catch (err: any) { if (err.status === 500) { const domain = email.split("@")[1]; return await client.brand.retrieve({ type: "by_domain", domain }); } throw err; } } ``` ```python Python theme={null} from context.dev import APIStatusError def get_brand_with_fallback(email: str): try: return client.brand.retrieve(type="by_email", email=email) except APIStatusError as e: if e.status_code == 500: return client.brand.retrieve(type="by_domain", domain=email.split("@")[1]) raise ``` ```ruby Ruby theme={null} def brand_with_fallback(client, email) client.brand.retrieve(body: { type: :by_email, email: email }) rescue ContextDev::Errors::APIStatusError => e raise unless e.status == 500 client.brand.retrieve(body: { type: :by_domain, domain: email.split("@")[1] }) end ``` ```go Go theme={null} func brandWithFallback(ctx context.Context, email string) (any, error) { r, err := client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByEmail: &contextdev.BrandGetParamsBodyByEmail{Email: email}, }) if err != nil { var apiErr *contextdev.Error if errors.As(err, &apiErr) && apiErr.StatusCode == 500 { domain := strings.Split(email, "@")[1] return client.Brand.Get(ctx, contextdev.BrandGetParams{ OfByDomain: &contextdev.BrandGetParamsBodyByDomain{Domain: domain}, }) } return nil, err } return r, nil } ``` ```php PHP theme={null} <?php use ContextDev\Core\Exceptions\APIStatusException; function getBrandWithFallback(string $email) { global $client; try { return $client->brand->retrieve(type: 'by_email', email: $email); } catch (APIStatusException $e) { if ($e->status === 500) { $domain = explode('@', $email, 2)[1]; return $client->brand->retrieve(type: 'by_domain', domain: $domain); } throw $e; } } ``` </CodeGroup> If 500s persist across retries, check [status.context.dev](https://status.context.dev) for an open incident, then [email support](mailto:hello@context.dev) with the domain, timestamp, and full error body. ## Missing or partial brand data (200) A successful 200 does not guarantee every field is populated. Not every brand has every asset (a private company has no `stock`; some sites have no discovered logos). Always provide defaults: <CodeGroup> ```typescript TypeScript theme={null} const logo = brand.logos[0]?.url ?? "/placeholder-logo.svg"; const primaryColor = brand.colors[0]?.hex ?? "#6B7280"; const description = brand.description ?? `${brand.title} (description unavailable)`; ``` ```python Python theme={null} logo = brand.logos[0].url if brand.logos else "/placeholder-logo.svg" primary_color = brand.colors[0].hex if brand.colors else "#6B7280" description = brand.description or f"{brand.title} (description unavailable)" ``` ```ruby Ruby theme={null} logo = brand.logos.first&.url || "/placeholder-logo.svg" primary_color = brand.colors.first&.hex || "#6B7280" description = brand.description || "#{brand.title} (description unavailable)" ``` ```go Go theme={null} logo := "/placeholder-logo.svg" if len(brand.Logos) > 0 { logo = brand.Logos[0].URL } primaryColor := "#6B7280" if len(brand.Colors) > 0 { primaryColor = brand.Colors[0].Hex } description := brand.Description if description == "" { description = brand.Title + " (description unavailable)" } ``` ```php PHP theme={null} $logo = '/placeholder-logo.svg'; if ($brand->logos) { $logo = $brand->logos[0]->url; } $primaryColor = '#6B7280'; if ($brand->colors) { $primaryColor = $brand->colors[0]->hex; } $description = $brand->description ?? "{$brand->title} (description unavailable)"; ``` </CodeGroup> Render the fallback in the same shape so your layout does not shift. Don't conditionally hide whole sections. ## Debugging recipes **Isolate the issue with a raw cURL request.** If a cURL call works and the SDK call does not, the SDK or env-var setup is the suspect: ```bash theme={null} curl -G https://api.context.dev/v1/brand/retrieve \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ --data-urlencode "domain=stripe.com" \ -v ``` **Enable verbose SDK logging when chasing 4xx mysteries.** Each SDK exposes a different mechanism: Python's `logging.basicConfig(level=logging.DEBUG)`, Node's `console.log` around the call, or running through a local proxy that captures the request. ## Related resources <CardGroup> <Card title="Rate limits" icon="gauge" href="/optimization/rate-limits"> The full 429 recovery contract. </Card> <Card title="Prefetch" icon="bolt" href="/optimization/prefetching"> The fastest fix for 408 cold-hit timeouts. </Card> <Card title="Best practices" icon="list-check" href="/optimization/best-practices"> Caching, fallbacks, and error handling at the integration level. </Card> <Card title="Status page" icon="heart-pulse" href="https://status.context.dev"> Live API status. </Card> </CardGroup> # Zero Data Retention Source: https://docs.context.dev/optimization/zero-data-retention Opt individual requests out of Context.dev's shared caches and content logs so request and response bytes are never persisted. Zero data retention (ZDR) is an opt-in mode on selected Context.dev endpoints. When you set `zdr=enabled` on a request: * Shared caches are bypassed end-to-end for that request. * Usage logs record operational metadata only — no request body, no response body, no query values, no user-agent, no tags. * Uploaded bytes (parse) and captured screenshots are handled in memory and are never staged in shared object storage. * The response carries `X-Context-ZDR: true` so you can confirm ZDR was honored. Use it for regulated workloads, customer-uploaded documents, or any request where the source or response content must not persist on our infrastructure. <Info> Zero data retention is a per-organization entitlement. Contact [support@context.dev](mailto:support@context.dev) to have it enabled on your account before sending ZDR requests. </Info> ## Supported endpoints ZDR is only accepted on the endpoints below. Every other endpoint rejects the parameter with `ZDR_NOT_SUPPORTED`. | Endpoint | How to send `zdr` | | ----------------------------- | ----------------- | | `GET /v1/web/scrape/markdown` | Query parameter | | `GET /v1/web/scrape/html` | Query parameter | | `GET /v1/web/scrape/sitemap` | Query parameter | | `GET /v1/web/screenshot` | Query parameter | | `GET /v1/brand/screenshot` | Query parameter | | `POST /v1/parse` | Query parameter | | `POST /v1/web/crawl` | JSON body field | Sending `zdr` in the wrong location (for example, in the crawl query string or a scrape body) returns `400 INPUT_VALIDATION_ERROR`. ## Enable ZDR on a request `zdr` accepts two values: `enabled` and `disabled`. Any other value returns `400 INPUT_VALIDATION_ERROR`. Omitting the parameter is equivalent to `disabled` and behaves exactly like a normal request. ### Query-parameter endpoints <CodeGroup> ```bash cURL theme={null} curl "https://api.context.dev/v1/web/scrape/markdown?url=https://example.com&zdr=enabled" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" ``` ```bash Parse theme={null} curl -X POST "https://api.context.dev/v1/parse?extension=pdf&zdr=enabled" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/pdf" \ --data-binary @confidential.pdf ``` </CodeGroup> ### Body-parameter endpoint (crawl) ```bash cURL theme={null} curl -X POST "https://api.context.dev/v1/web/crawl" \ -H "Authorization: Bearer $CONTEXT_DEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com", "zdr": "enabled" }' ``` ## Confirm ZDR was honored Successful ZDR responses include the CORS-exposed response header: ``` X-Context-ZDR: true ``` If the header is missing, the request was processed in standard mode — either you sent `zdr=disabled` (or omitted it) or the request was rejected before ZDR could take effect. Always check the header when you need to prove retention behavior to a compliance workflow. ## Trade-offs Because ZDR skips shared caches and richer processing paths, expect: * **Higher latency** — scrape HTML cache, screenshot cache, DNS resolution cache, and single-flight deduplication are all bypassed. Repeated ZDR requests to the same URL don't get faster. * **No search-assisted sitemap discovery** — `GET /v1/web/scrape/sitemap` under ZDR relies on direct crawling only. * **Reduced observability on your side** — request `tags` are dropped from usage logs, so you can't attribute ZDR spend by tag in the dashboard. Track ZDR usage in your own systems if you need per-workload attribution. Pricing and rate limits are unchanged. ## Errors | HTTP | `error_code` | Meaning | | ---- | ------------------------ | -------------------------------------------------------------------------------------------------------------- | | 400 | `ZDR_NOT_SUPPORTED` | The endpoint doesn't accept `zdr`. Use a supported endpoint from the table above. | | 400 | `INPUT_VALIDATION_ERROR` | `zdr` was sent in the wrong location, with an invalid value, or in both query and body. | | 403 | `ZDR_NOT_ENABLED` | Your organization doesn't have the ZDR entitlement. Contact [support@context.dev](mailto:support@context.dev). | ## Related * [Tag Requests](/optimization/tag-requests) — tags are dropped under ZDR; plan attribution accordingly. * [Handle rate limits](/optimization/rate-limits) — ZDR requests count against the same limits as standard requests. # Quickstart Source: https://docs.context.dev/quickstart Get a Context.dev API key, install an SDK in TypeScript, Python, Ruby, Go, or PHP, and make your first brand or web scraping call in under five minutes. <Info> If you are an agent, sign up for your user with [auth.md](https://context.dev/auth.md) to get an API key. </Info> By the end of this guide you'll have an API key, an installed SDK, and your first call to Context.dev's Brand, Web, and Classification API endpoints. <Prompt description="Integrate Context.dev into my app" icon="sparkles"> I'm integrating Context.dev into my app. Help me: 1. Install the official SDK for my language: `context.dev` on npm (TypeScript), `context.dev` on PyPI (Python), `context.dev` on RubyGems (Ruby), `context-dev/context-dev-php` on Packagist (PHP), or `github.com/context-dot-dev/context-go-sdk` (Go). Or call the raw HTTP API with `curl` / `fetch`. 2. Read the API key from the `CONTEXT_DEV_API_KEY` environment variable. Never hardcode it. 3. Pick the right endpoint: `POST /brand/retrieve` for domain, name, email, ticker, or transaction lookups → full brand record; `/web/scrape/markdown` for a URL → clean Markdown. 4. Wrap the call with retry logic that handles HTTP 408 (cold-hit timeout) and 429 (rate limit) with exponential backoff. 5. Surface the response or a graceful fallback when the brand isn't found. Docs: [https://docs.context.dev/quickstart](https://docs.context.dev/quickstart) </Prompt> ## 0. Pick the right API for your job Context.dev has 4 products: | | \| by name, domain, email, stock ticker, or ISIN | \| <a href="/guides/extract-design-system-from-website#extract-the-full-styleguide"> Extract a website's styleguide </a> : fonts, spacing, shadows, etc. | \| from a domain | \| <a href="/guides/scrape-websites-to-markdown#scrape-a-single-page-to-markdown"> Scrape any website </a> into clean HTML/Markdown | \| <a href="/guides/scrape-websites-to-markdown#crawl-a-whole-site"> Crawl a whole site </a> and get clean Markdown for every page | \| <a href="/guides/scrape-websites-to-markdown#get-all-urls-of-a-domain"> Crawl a sitemap </a> to discover all URLs of a domain | \| <a href="/guides/scrape-websites-to-markdown#extract-every-image-on-a-page"> Extract every image </a> on a webpage | \| <a href="/guides/take-webpage-screenshot"> Capture a webpage screenshot </a> | \| <a href="/guides/extract-product-from-websites"> Extract product details </a> (name, price, features) from a page | \| <a href="/guides/extract-structured-data-from-websites"> Extract structured data </a> from a website's pages with a JSON Schema | \| <a href="/guides/enrich-transaction-codes"> Enrich a card-transaction descriptor </a> to a brand | \| into NAICS, SIC, or EIC industry codes | ## 1. Get an API key <Steps> <Step title="Sign up"> Create an account at [context.dev/signup](https://context.dev/signup). <img alt="Context.dev signup page" /> </Step> <Step title="Copy your key from the dashboard"> Open the [dashboard](https://context.dev/dashboard) and copy the key from the "API Keys" section. It starts with `ctxt_secret_`. <img alt="API Keys section in the Context.dev dashboard" /> </Step> <Step title="Expose it as an environment variable"> The SDKs and `curl` examples read `CONTEXT_DEV_API_KEY` from the environment. The SDKs read `CONTEXT_DEV_API_KEY` first and fall back to `CONTEXT_API_KEY` if it isn't set, so exporting `CONTEXT_DEV_API_KEY` alone is enough: ```bash terminal theme={null} export CONTEXT_DEV_API_KEY="ctxt_secret_..." ``` </Step> </Steps> For local development, save the key to a `.env` file and make sure it's listed in your `.gitignore`. For deployment, set the key in your platform's environment variable store: * **Vercel:** `vercel env add CONTEXT_DEV_API_KEY` * **Heroku:** `heroku config:set CONTEXT_DEV_API_KEY=ctxt_secret_...` * **Docker:** pass via `-e CONTEXT_DEV_API_KEY=ctxt_secret_...` at `docker run` * **AWS Lambda:** store in Secrets Manager or Parameter Store; expose to the function via its environment config Never call the Context.dev API directly from a browser. The key would be visible to anyone with devtools. Always proxy through your backend. ## 2. Install an SDK Context.dev publishes official SDKs for **TypeScript**, **Python**, **Ruby**, **Go**, and **PHP**. Pick the one for your stack. <CodeGroup> ```bash TypeScript theme={null} npm install context.dev ``` ```bash Python theme={null} pip install context.dev ``` ```bash Ruby theme={null} # Requires Ruby 3.2 or newer. gem install context.dev ``` ```bash Go theme={null} go get github.com/context-dot-dev/context-go-sdk ``` ```bash PHP theme={null} composer require context-dev/context-dev-php ``` </CodeGroup> You can also call the API directly with `curl`. No install required. ## 3. Make your first call All code snippets expect `CONTEXT_DEV_API_KEY` to be set. Depending on which API you chose: <Tabs /> ## 4. Understand the response Brand and Classification endpoints return JSON with `status`, `code`, and a `brand` object. The Web Markdown endpoint returns `success`, `url`, and `markdown`. <Tabs> <Tab title="Brand API"> Calling `POST /brand/retrieve` with a `by_domain` body for `airbnb.com` returns the brand record for Airbnb. ```json brand.retrieve response expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "airbnb.com", "title": "Airbnb", "description": "Airbnb is a global online community marketplace that connects hosts with guests...", "slogan": "Belong Anywhere", "colors": [ { "hex": "#fc3c5c", "name": "Radical Red" }, { "hex": "#fc9cb4", "name": "Saira Red" }, { "hex": "#fb5c74", "name": "Ponceau" } ], "logos": [ { "url": "https://media.brand.dev/4ae9a10b-ffde-45c8-b5c1-c1e7cef5b716.png", "mode": "light", "type": "icon", "colors": [{ "hex": "#fc3c5c", "name": "Radical Red" }], "resolution": { "width": 250, "height": 250, "aspect_ratio": 1 } } ], "backdrops": [ { "url": "https://media.brand.dev/example-backdrop.png", "colors": [{ "hex": "#fc3c5c", "name": "Radical Red" }], "resolution": { "width": 1200, "height": 630, "aspect_ratio": 1.9 } } ], "address": { "street": "888 Brannan Street", "city": "San Francisco", "state_province": "California", "state_code": "CA", "country": "United States", "country_code": "US", "postal_code": "94103" }, "socials": [ { "type": "x", "url": "https://x.com/airbnb" }, { "type": "facebook", "url": "https://facebook.com/airbnb" }, { "type": "linkedin", "url": "https://linkedin.com/company/airbnb" }, { "type": "instagram", "url": "https://instagram.com/airbnb" } ], "stock": { "ticker": "ABNB", "exchange": "NASDAQ" }, "phone": "+1-415-555-0100", "is_nsfw": false, "industries": { "eic": [ { "industry": "Hospitality & Tourism", "subindustry": "Vacation Rentals & Short-Term Stays" }, { "industry": "Technology", "subindustry": "eCommerce & Marketplace Platforms" } ] }, "links": { "blog": null, "careers": null, "privacy": null, "terms": null, "contact": null, "pricing": null }, "primary_language": "english" } } ``` | Field | Type | Description | | ------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `brand.title` | string | Company name. | | `brand.domain` | string | Canonical domain. | | `brand.description` | string | Brief description of the brand. | | `brand.slogan` | string | The brand's slogan. | | `brand.colors[]` | array | Brand colors. Each has `hex` and `name`. | | `brand.logos[]` | array | Logos associated with the brand. Each has `url`, `mode` (`light`, `dark`, `has_opaque_background`), `type` (`icon`, `logo`), `colors[]`, and `resolution`. | | `brand.backdrops[]` | array | Backdrop images for the brand. Each has `url`, `colors[]`, and `resolution`. | | `brand.address` | object | `street`, `city`, `state_province`, `state_code`, `country`, `country_code`, `postal_code`. | | `brand.socials[]` | array | Social profile URLs. Each has `type` (`x`, `facebook`, `linkedin`, `instagram`, …) and `url`. | | `brand.stock` | object | `ticker` and `exchange`. `null` for private companies. | | `brand.phone` | string | Company phone number. | | `brand.is_nsfw` | boolean | Indicates whether the brand content is not safe for work (NSFW). | | `brand.industries.eic[]` | array | Easy Industry Classification industry and subindustry pairs. | | `brand.links` | object | Important website links (`careers`, `privacy`, `terms`, `contact`, `blog`, `pricing`); fields may be `null` when not found. | | `brand.primary_language` | string | Primary language of the brand's website content, or `null` when not detected. | </Tab> <Tab title="Web API"> Calling `/web/scrape/markdown` with `url=https://airbnb.com` returns clean Markdown: ```json webScrapeMd response theme={null} { "success": true, "url": "https://airbnb.com", "markdown": "[Skip to content](https://airbnb.com/#site-content)\n\n# Airbnb homepage\n\n[HomesHomes](https://airbnb.com/homes) [ExperiencesExperiences, new](https://airbnb.com/experiences) [ServicesServices, new](https://airbnb.com/services)\n\nWhere\n\nWhen\n\nAdd dates\n\nWho\n\nAdd guests\n\n[Become a host](https://airbnb.com/#guest-header-become-a-host-menu)\n\n[Help Center](https://airbnb.com/help)\n\n..." } ``` | Field | Type | Description | | ---------- | ------- | ------------------------------------------------------------------ | | `success` | boolean | Indicates success. On a successful response this is always `true`. | | `url` | string | The URL that was scraped. | | `markdown` | string | Page content converted to GitHub Flavored Markdown. | </Tab> <Tab title="Classification APIs"> Calling `POST /brand/retrieve` with `transaction_info=STARBUCKS STORE 12345` and `country_gl=us` resolves the descriptor and returns the brand record for Starbucks: ```json brand.retrieve response expandable theme={null} { "status": "ok", "code": 200, "brand": { "domain": "starbucks.com", "title": "Starbucks", "description": "Starbucks is a global coffee company that puts people at the heart of its business...", "slogan": "Inspiring and nurturing the human spirit — one person, one cup", "colors": [ { "hex": "#0bac66", "name": "Secret Garden" }, { "hex": "#7cd4b4", "name": "Seafoam Blue" }, { "hex": "#307e63", "name": "Trans Tasman" } ], "logos": [ { "url": "https://media.brand.dev/67dc7846-2ca2-4a7b-9877-6bb5a5e2c0e0.png", "mode": "has_opaque_background", "type": "icon", "colors": [ { "hex": "#0bac66", "name": "Secret Garden" }, { "hex": "#7cd4b4", "name": "Seafoam Blue" } ], "resolution": { "width": 180, "height": 180, "aspect_ratio": 1 } } ], "industries": { "eic": [ { "industry": "Hospitality & Tourism", "subindustry": "Cafes & Coffee Shops" } ] }, "socials": [ { "type": "x", "url": "https://x.com/starbucks" }, { "type": "instagram", "url": "https://instagram.com/starbucks" } ], "stock": { "ticker": "SBUX", "exchange": "NASDAQ" } } } ``` | Field | Type | Description | | --------- | ------ | ----------------------------------------------------------------------------------------------- | | `status` | string | `"ok"` on a confident match; `"error"` when not identified. | | `code` | number | HTTP status mirror. `400` with `error_code: "NOT_FOUND"` when the descriptor can't be resolved. | | `brand.*` | object | Identical shape to `/brand/retrieve`; see the Brand API tab above for the full field reference. | Pass `mcc`, `city`, and `country_gl` for higher confidence on ambiguous descriptors. </Tab> </Tabs> ## 5. Handle errors A non-2xx response returns an `error` envelope. The common ones: | Status | Meaning | What to do | | ------ | ---------------------------------------------------------- | --------------------------------------------------------------------------------------- | | 401 | API key missing, invalid, or deleted | Re-check the env var and the dashboard. | | 408 | Cold-hit timeout (rare; first crawl exceeded the deadline) | Retry once; the second hit is warm. Better: [prefetch](/optimization/prefetching). | | 422 | Disposable or free-email address on a `by_email` lookup | Skip the call for personal addresses. | | 429 | Rate limit | Wait per the `Retry-After` header; see [Handle Rate Limits](/optimization/rate-limits). | | 500 | Transient server error | Retry once with backoff; if it persists, contact support. | A retry pattern that covers 408 and 429: <CodeGroup> ```typescript TypeScript theme={null} import ContextDev from "context.dev"; const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY }); async function retrieveWithRetry(domain: string, maxRetries = 3) { for (let i = 0; i < maxRetries; i++) { try { const { brand } = await client.brand.retrieve({ domain }); return brand; } catch (err: any) { const retryable = err.status === 408 || err.status === 429; if (retryable && i < maxRetries - 1) { await new Promise((r) => setTimeout(r, 2 ** i * 1000)); continue; } throw err; } } throw new Error("unreachable"); } ``` ```python Python theme={null} import os, time from context.dev import ContextDev, APIStatusError client = ContextDev(api_key=os.environ["CONTEXT_DEV_API_KEY"]) def retrieve_with_retry(domain: str, max_retries: int = 3): for i in range(max_retries): try: return client.brand.retrieve(domain=domain).brand except APIStatusError as e: if e.status_code in (408, 429) and i < max_retries - 1: time.sleep(2 ** i) continue raise ``` ```ruby Ruby theme={null} require "context_dev" CLIENT = ContextDev::Client.new(api_key: ENV.fetch("CONTEXT_DEV_API_KEY")) def retrieve_with_retry(domain, max_retries: 3) max_retries.times do |i| return CLIENT.brand.retrieve(domain: domain).brand rescue ContextDev::Errors::APIStatusError => e raise unless [408, 429].include?(e.status) && i < max_retries - 1 sleep(2 ** i) end end ``` ```go Go theme={null} package main import ( "context" "errors" "os" "time" contextdev "github.com/context-dot-dev/context-go-sdk" "github.com/context-dot-dev/context-go-sdk/option" ) var client = contextdev.NewClient( option.WithAPIKey(os.Getenv("CONTEXT_DEV_API_KEY")), ) func retrieveWithRetry(domain string, maxRetries int) (*contextdev.BrandGetResponseBrand, error) { for i := 0; i < maxRetries; i++ { resp, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{Domain: domain}) if err == nil { return &resp.Brand, nil } var apiErr *contextdev.Error if errors.As(err, &apiErr) && (apiErr.StatusCode == 408 || apiErr.StatusCode == 429) && i < maxRetries-1 { time.Sleep(time.Duration(1<<i) * time.Second) continue } return nil, err } return nil, errors.New("unreachable") } ``` ```php PHP theme={null} <?php use ContextDev\Client; use ContextDev\Core\Exceptions\APIStatusException; $client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY')); function retrieveWithRetry(string $domain, int $maxRetries = 3) { global $client; for ($i = 0; $i < $maxRetries; $i++) { try { return $client->brand->retrieve(domain: $domain)->brand; } catch (APIStatusException $e) { if (in_array($e->status, [408, 429], true) && $i < $maxRetries - 1) { sleep(2 ** $i); continue; } throw $e; } } throw new RuntimeException('unreachable'); } ``` </CodeGroup> For the full catalog of error codes and remediations, see [Troubleshooting](/optimization/troubleshooting). ## Next steps <CardGroup> <Card title="Prefetch for Faster Response" icon="bolt" href="/optimization/prefetching"> Hide cold-hit latency from your users. </Card> <Card title="Handle Rate Limits" icon="gauge-high" href="/optimization/rate-limits"> Backoff strategies, client cache, and prefetch fallbacks. </Card> <Card title="Best Practices" icon="list-check" href="/optimization/best-practices"> Caching, error handling, and key hygiene. </Card> <Card title="Troubleshooting" icon="bug" href="/optimization/troubleshooting"> Status codes, retry patterns, and common errors. </Card> </CardGroup>