API reference · version 1

FCCID.io API documentation

Base URL: https://api.fccid.io. All data endpoints use GET and return JSON. Download the OpenAPI 3.1 specification.

Authentication

Create an FCCID.io API account and activate Development / Free or a paid subscription. Email verification is optional. Create a key in the account dashboard. Keys are shown once; rotate or revoke them there.

Authorization: Bearer YOUR_API_KEY

Keep API keys in your server or private project configuration. Commercial use is allowed on every plan. A link to FCCID.io wherever you display the data is appreciated and optional.

Examples in your language

Python

import os, requests

response = requests.get(
    "https://api.fccid.io/lookup",
    params={"manufacturer": "Creality", "model": "SPARKXI8"},
    headers={"Authorization": "Bearer " + os.environ["FCCID_API_KEY"]},
    timeout=15,
)
response.raise_for_status()
print(response.json())

JavaScript (server)

const url = new URL("https://api.fccid.io/validate");
url.searchParams.set("fccid", "A4RH2G2-42");
const response = await fetch(url, {
  headers: { Authorization: "Bearer " + process.env.FCCID_API_KEY },
  signal: AbortSignal.timeout(15000)
});
if (!response.ok) throw new Error("FCCID API: " + response.status);
console.log(await response.json());

GET /lookup

Accepts fccid, q, brand, model, manufacturer, ean, mpn, title, and category. Supply at least one identifier or product clue. Inputs are limited to 256 characters each. Returns up to ten candidates.

Example requests

curl 'https://api.fccid.io/lookup?manufacturer=Creality&model=SPARKXI8' \
  -H "Authorization: Bearer $FCCID_API_KEY"

curl 'https://api.fccid.io/lookup?ean=5020309001701' \
  -H "Authorization: Bearer $FCCID_API_KEY"

Each candidate reports valid for the FCC record and a separate match.status, method, reasons, and evidence. An identifier_match confirms only that the supplied identifier matched a record. A candidate is not a confirmed product association. Common OCR variants are bounded and disclosed in corrections.

Search by fccid or enter a compact FCC ID in q. The suggestions array lists public FCC records with their canonical IDs, links, and the reason each was suggested. An exact record can return its recorded punctuation as a formatting suggestion. If there is no exact record, the API checks up to seven alternatives for one visually similar character (such as 0/O, 1/I/L, 5/S, 8/B, or 2/Z) or a swap of adjacent characters. An empty array means the checked alternatives yielded no public record. Lookup can return suggestions even when matches is empty.

EAN/UPC/GTIN is an input for finding FCC IDs. It must have a valid check digit; leading zeros are preserved. Published FCC exhibit records are checked first for an exact normalized GTIN association. These results use match.method: "exact_ean_record" and retain the supporting FCC document. If none are available, product sources, including retailer and manufacturer evidence available through Barcode.report, supply brand/model clues. You can also provide brand/model/MPN from your own catalog or other sources; a supplied brand/manufacturer plus model/MPN bypasses the barcode reader after the direct FCC-record check. An available direct FCC association takes priority over those inferred clues. Current record, document, and association publication rules are reapplied on cache hits. Results contain FCC candidates and only the source clues supporting those candidates. No FCC match returns status: "not_found" with matches: [], not standalone barcode products or unrelated recalls. ean_resolution reports the normalized GTIN, resolution outcome, and whether clues came from the request or product sources. Product associations remain unconfirmed; conflicting source variants remain separate candidates.

Example responses

Product search · GET /lookup?manufacturer=Creality&model=SPARKXI8
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000001",
  "status": "matches",
  "matches": [
    {
      "fccid": "2AXH6-SPARKXI8",
      "valid": true,
      "applicant": "Shenzhen Creality 3D Technology Co.,Ltd.",
      "manufacturer": null,
      "brand": null,
      "models": [
        "SPARKXI8"
      ],
      "product": "3D Printer",
      "equipment_class": "DTS - Digital Transmission System",
      "latest_filing_date": "2026-10-16",
      "authorization": {
        "status": "granted",
        "as_of": "2026-10-16",
        "evidence": [
          {
            "application_id": "xzxVY4/Wa74mXxajj94ezA==",
            "status": "granted",
            "date": "2026-10-16",
            "basis": "grant_tcb",
            "observed_at": null,
            "source_url": "https://fccid.io/2AXH6-SPARKXI8"
          }
        ]
      },
      "match": {
        "status": "candidate",
        "method": "document_text",
        "reasons": [
          "FCC document content matches the product query."
        ]
      },
      "evidence": [
        {
          "kind": "fcc_application",
          "application_id": "xzxVY4/Wa74mXxajj94ezA==",
          "url": "https://fccid.io/2AXH6-SPARKXI8",
          "date": "2026-10-16"
        },
        {
          "kind": "fcc_document",
          "document_id": 9736191,
          "application_id": "xzxVY4/Wa74mXxajj94ezA==",
          "sha256": "6653576106d51bf2263f95d43d09ae0fbdb8a5b296d11e96e028e44329a5c5ca",
          "title": "Test Report",
          "url": "https://fccid.io/document.php?id=9736191"
        }
      ],
      "links": {
        "fccid": "https://fccid.io/2AXH6-SPARKXI8"
      },
      "news": [],
      "warnings": []
    }
  ],
  "search": {
    "literal_model": "SPARKXI8",
    "expanded_terms": [
      "SPARKXI8",
      "5PARKXI8",
      "SPARKX18",
      "SPARKXL8",
      "SPARKXIB"
    ]
  },
  "corrections": [],
  "barcode": null,
  "warnings": [],
  "checked_at": "2026-11-03T19:50:00.000Z",
  "verification_source": "FCC-sourced records held by FCCID.io",
  "cache": "miss",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  }
}
Direct EAN association · GET /lookup?ean=5020309001701
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000002",
  "status": "matches",
  "matches": [
    {
      "fccid": "2BNTC-BTS50H",
      "valid": true,
      "applicant": "JMTEK TECHNOLOGY(ZHONGSHAN) CO., LTD",
      "manufacturer": null,
      "brand": null,
      "models": [
        "BTS50H"
      ],
      "product": "Transparent Wireless Speaker",
      "equipment_class": "DSS - Part 15 Spread Spectrum Transmitter",
      "latest_filing_date": "2026-10-30",
      "authorization": {
        "status": "granted",
        "as_of": "2026-10-30",
        "evidence": [
          {
            "application_id": "jBNV/rPyLGJ5ajfl2lgUzg==",
            "status": "granted",
            "date": "2026-10-30",
            "basis": "grant_tcb",
            "observed_at": null,
            "source_url": "https://fccid.io/2BNTC-BTS50H"
          }
        ]
      },
      "match": {
        "status": "candidate",
        "method": "exact_ean_record",
        "reasons": [
          "The exact normalized GTIN is recorded in a published FCC exhibit associated with this FCC ID. Physical product identity remains unconfirmed."
        ]
      },
      "evidence": [
        {
          "kind": "fcc_application",
          "application_id": "jBNV/rPyLGJ5ajfl2lgUzg==",
          "url": "https://fccid.io/2BNTC-BTS50H",
          "date": "2026-10-30"
        },
        {
          "kind": "fcc_document",
          "document_id": 9775360,
          "application_id": "jBNV/rPyLGJ5ajfl2lgUzg==",
          "sha256": "14187a1c043f40927dfa505f15f00bfc3805948035d52998fa5aa13bf5d3ec8e",
          "title": "ID label and location",
          "url": "https://fccid.io/document.php?id=9775360"
        },
        {
          "kind": "fcc_ean_association",
          "gtin14": "05020309001701",
          "barcode_id": 4230,
          "document_id": 9775360,
          "application_id": "jBNV/rPyLGJ5ajfl2lgUzg==",
          "fccid": "2BNTC-BTS50H",
          "sha256": "14187a1c043f40927dfa505f15f00bfc3805948035d52998fa5aa13bf5d3ec8e",
          "source_url": "https://fccid.io/document.php?id=9775360",
          "observed_at": "2026-10-31 05:01:20",
          "reference": "61191bce1c8ad31d22d9106323ca5dcf43599336c7a9def17cf2066063fb249c"
        }
      ],
      "links": {
        "fccid": "https://fccid.io/2BNTC-BTS50H"
      },
      "news": [],
      "warnings": []
    }
  ],
  "corrections": [],
  "direct_records_truncated": false,
  "news": [],
  "warnings": [],
  "ean_resolution": {
    "gtin14": "05020309001701",
    "status": "fcc_candidates_found",
    "clue_source": "fcc_records",
    "direct_record_matches": 1,
    "product_association": "unconfirmed"
  },
  "checked_at": "2026-11-03T19:50:00.000Z",
  "verification_source": "FCC-sourced records held by FCCID.io",
  "cache": "miss",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  }
}
Response fields
JSON fieldMeaning
matchesRanked FCC candidates. An empty array means no match. At most 10 entries.
searchSearch diagnostics when search terms were expanded.
search.literal_modelModel or part number used before expansion, or null.
search.expanded_termsBounded list of tried spellings, including the original term when available.
correctionsReported character substitutions. An empty array means none were reported.
corrections[].fieldInput field corrected when the response identifies it.
corrections[].fromOriginal value.
corrections[].toCandidate value after substitution.
corrections[].basisWhy the substitution was proposed, when provided.
barcodeLegacy field. Ordinary lookup can return null. EAN lookup uses ean_resolution instead.
direct_records_truncatedTrue when the direct FCC barcode search reached its source row limit. Present on applicable EAN lookups.
ean_resolutionHow the barcode was used to find FCC IDs.
ean_resolution.gtin14Checksum-validated barcode normalized to a 14-digit string. Leading zeros are preserved.
ean_resolution.statusfcc_candidates_found or no_fcc_match.
ean_resolution.clue_sourcefcc_records for a direct FCC association, request for caller-supplied clues, or product_sources for external product clues.
ean_resolution.direct_record_matchesNumber of returned FCC candidates with direct barcode evidence.
ean_resolution.product_associationunconfirmed. Review whether the evidence applies to the specific product.
suggestionsVerified FCC records offered as alternatives for an identifier search. An empty array means none of the checked spellings produced a public record.
suggestions[].fccidCanonical FCC ID of the suggested record.
suggestions[].basisformatting for the same ID with its recorded punctuation, confusable_character for one visually similar character, or adjacent_transposition for two neighboring characters in reverse order.
suggestions[].urlFCCID.io page for the suggested record.

See also shared response fields.

GET /validate

Requires fccid. Checks whether that identifier appears in the FCC-sourced records covered by the API.

Example request

curl 'https://api.fccid.io/validate?fccid=A4RH2G2-42' \
  -H "Authorization: Bearer $FCCID_API_KEY"
Result Meaning
valid: true An exact identifier is confirmed in FCC-sourced records held by FCCID.io.
valid: false The supplied identifier has malformed syntax.
valid: null The identifier is plausible but unconfirmed in the covered records.

Case, spaces, and display separators are normalized; character substitutions are not made. Grant/authorization status is reported independently and can be unknown. Confirmation of a record does not establish that a physical product uses that authorization.

When the submitted ID is plausible but unconfirmed, suggestions may list other records. For example, A4RH2G2-4Z can suggest A4RH2G2-42 while valid remains null. Submit the suggested ID separately to validate it.

Marketplace compliance screening

Every completed /validate response includes screening, with no additional query charge. checks.fcc_id_record.status is confirmed, invalid_syntax, or unconfirmed. Evidence is filtered through the current publication policy before screening is built, including on cache hits.

marketing_eligibility remains undetermined and review_required remains true. The API has not inspected the physical product, collected seller certification, performed a live FCC EAS check, or determined Covered List clearance. A recorded historical grant appears in checks.recorded_grant; current permission is separate. Missing IDs, empty warnings, and source outages are not compliance clearance.

rules_reviewed_at dates the rule references; assessed_at dates this response. next_actions lists remaining review steps. Preserve the complete JSON and its request ID with the seller’s product and label evidence. Marketplace guide, scope, exceptions, and 2027 dates · Machine-readable rule references.

Example responses

Confirmed FCC ID with a historical grant · GET /validate?fccid=A4RH2G2-42
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000003",
  "status": "confirmed",
  "input": "A4RH2G2-42",
  "sources": [
    {
      "kind": "fcc_application",
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "url": "https://fccid.io/A4RH2G2-42",
      "date": "2013-05-17"
    }
  ],
  "fccid": "A4RH2G2-42",
  "valid": true,
  "applicant": "Google LLC",
  "manufacturer": null,
  "brand": null,
  "models": [
    "H2G2-42"
  ],
  "product": "H840 Device",
  "equipment_class": "DTS - Digital Transmission System",
  "latest_filing_date": "2013-05-17",
  "authorization": {
    "status": "granted",
    "as_of": "2013-05-17",
    "evidence": [
      {
        "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
        "status": "granted",
        "date": "2013-05-17",
        "basis": "grant_tcb",
        "observed_at": null,
        "source_url": "https://fccid.io/A4RH2G2-42"
      }
    ]
  },
  "match": {
    "status": "identifier_match",
    "method": "exact_fccid",
    "reasons": [
      "Exact FCC-sourced identifier record."
    ]
  },
  "evidence": [
    {
      "kind": "fcc_application",
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "url": "https://fccid.io/A4RH2G2-42",
      "date": "2013-05-17"
    }
  ],
  "links": {
    "fccid": "https://fccid.io/A4RH2G2-42"
  },
  "news": [],
  "warnings": [],
  "checked_at": "2026-11-03T19:50:00.000Z",
  "screening": {
    "schema_version": "1",
    "purpose": "us_marketplace_fcc_id_screening",
    "assessed_at": "2026-11-03T19:50:00.000Z",
    "rules_reviewed_at": "2026-11-02",
    "rules_url": "https://api.fccid.io/marketplace-rules.json",
    "guide_url": "https://api.fccid.io/compliance",
    "marketing_eligibility": "undetermined",
    "review_required": true,
    "checks": {
      "fcc_id_record": {
        "status": "confirmed",
        "basis": "FCC-sourced records held by FCCID.io",
        "evidence": [
          {
            "kind": "fcc_application",
            "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
            "url": "https://fccid.io/A4RH2G2-42",
            "date": "2013-05-17"
          }
        ]
      },
      "recorded_grant": {
        "status": "observed",
        "as_of": "2013-05-17"
      },
      "product_association": {
        "status": "not_verified"
      },
      "current_authorization": {
        "status": "unknown"
      },
      "fcc_eas_live_check": {
        "status": "not_performed"
      },
      "covered_equipment": {
        "status": "not_assessed"
      },
      "listing_display_requirement": {
        "status": "requires_listing_context"
      },
      "seller_accuracy_certification": {
        "status": "not_collected"
      },
      "published_warnings": {
        "status": "none_found_in_covered_sources",
        "count": 0,
        "coverage": "Published items explicitly linked to this FCC ID; not comprehensive enforcement or recall coverage."
      }
    },
    "next_actions": [
      "verify_product_label_and_model",
      "check_current_fcc_authorization_and_restrictions",
      "determine_certification_or_sdoc_path",
      "review_listing_scope_deadline_and_exceptions",
      "collect_seller_accuracy_certification_when_applicable",
      "retain_response_and_product_evidence"
    ],
    "official_verification_url": "https://apps.fcc.gov/oetcf/eas/reports/GenericSearch.cfm",
    "limitations": "A confirmed record does not establish product identity, current marketing permission, Covered List clearance, or compliance certification. FCCID.io does not perform a live FCC EAS check in this response."
  },
  "verification_source": "FCC-sourced records held by FCCID.io",
  "cache": "hit",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  }
}
Plausible FCC ID with no confirmed record · GET /validate?fccid=ZZZUNCONFIRMED99
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000003",
  "checked_at": "2026-11-03T19:50:00.000Z",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  },
  "status": "not_found",
  "valid": null,
  "input": "ZZZUNCONFIRMED99",
  "authorization": {
    "status": "unknown",
    "as_of": null,
    "evidence": []
  },
  "sources": [],
  "news": [],
  "warnings": [],
  "screening": {
    "schema_version": "1",
    "purpose": "us_marketplace_fcc_id_screening",
    "assessed_at": "2026-11-03T19:50:00.000Z",
    "rules_reviewed_at": "2026-11-02",
    "rules_url": "https://api.fccid.io/marketplace-rules.json",
    "guide_url": "https://api.fccid.io/compliance",
    "marketing_eligibility": "undetermined",
    "review_required": true,
    "checks": {
      "fcc_id_record": {
        "status": "unconfirmed",
        "basis": "FCC-sourced records held by FCCID.io",
        "evidence": []
      },
      "recorded_grant": {
        "status": "unknown",
        "as_of": null
      },
      "product_association": {
        "status": "not_verified"
      },
      "current_authorization": {
        "status": "unknown"
      },
      "fcc_eas_live_check": {
        "status": "not_performed"
      },
      "covered_equipment": {
        "status": "not_assessed"
      },
      "listing_display_requirement": {
        "status": "requires_listing_context"
      },
      "seller_accuracy_certification": {
        "status": "not_collected"
      },
      "published_warnings": {
        "status": "none_found_in_covered_sources",
        "count": 0,
        "coverage": "Published items explicitly linked to this FCC ID; not comprehensive enforcement or recall coverage."
      }
    },
    "next_actions": [
      "verify_identifier_in_fcc_eas",
      "check_current_fcc_authorization_and_restrictions",
      "determine_certification_or_sdoc_path",
      "review_listing_scope_deadline_and_exceptions",
      "collect_seller_accuracy_certification_when_applicable",
      "retain_response_and_product_evidence"
    ],
    "official_verification_url": "https://apps.fcc.gov/oetcf/eas/reports/GenericSearch.cfm",
    "limitations": "A confirmed record does not establish product identity, current marketing permission, Covered List clearance, or compliance certification. FCCID.io does not perform a live FCC EAS check in this response."
  },
  "cache": "miss",
  "verification_source": "FCC-sourced records held by FCCID.io"
}
Unconfirmed FCC ID with a suggested correction · GET /validate?fccid=A4RH2G2-4Z
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000003",
  "checked_at": "2026-11-03T19:50:00.000Z",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  },
  "status": "not_found",
  "valid": null,
  "input": "A4RH2G2-4Z",
  "authorization": {
    "status": "unknown",
    "as_of": null,
    "evidence": []
  },
  "suggestions": [
    {
      "fccid": "A4RH2G2-42",
      "basis": "confusable_character",
      "url": "https://fccid.io/A4RH2G2-42"
    }
  ],
  "sources": [],
  "news": [],
  "warnings": [],
  "screening": {
    "schema_version": "1",
    "purpose": "us_marketplace_fcc_id_screening",
    "assessed_at": "2026-11-03T19:50:00.000Z",
    "rules_reviewed_at": "2026-11-02",
    "rules_url": "https://api.fccid.io/marketplace-rules.json",
    "guide_url": "https://api.fccid.io/compliance",
    "marketing_eligibility": "undetermined",
    "review_required": true,
    "checks": {
      "fcc_id_record": {
        "status": "unconfirmed",
        "basis": "FCC-sourced records held by FCCID.io",
        "evidence": []
      },
      "recorded_grant": {
        "status": "unknown",
        "as_of": null
      },
      "product_association": {
        "status": "not_verified"
      },
      "current_authorization": {
        "status": "unknown"
      },
      "fcc_eas_live_check": {
        "status": "not_performed"
      },
      "covered_equipment": {
        "status": "not_assessed"
      },
      "listing_display_requirement": {
        "status": "requires_listing_context"
      },
      "seller_accuracy_certification": {
        "status": "not_collected"
      },
      "published_warnings": {
        "status": "none_found_in_covered_sources",
        "count": 0,
        "coverage": "Published items explicitly linked to this FCC ID; not comprehensive enforcement or recall coverage."
      }
    },
    "next_actions": [
      "verify_identifier_in_fcc_eas",
      "check_current_fcc_authorization_and_restrictions",
      "determine_certification_or_sdoc_path",
      "review_listing_scope_deadline_and_exceptions",
      "collect_seller_accuracy_certification_when_applicable",
      "retain_response_and_product_evidence"
    ],
    "official_verification_url": "https://apps.fcc.gov/oetcf/eas/reports/GenericSearch.cfm",
    "limitations": "A confirmed record does not establish product identity, current marketing permission, Covered List clearance, or compliance certification. FCCID.io does not perform a live FCC EAS check in this response."
  },
  "cache": "miss",
  "verification_source": "FCC-sourced records held by FCCID.io"
}
Malformed identifier · GET /validate?fccid=%3F%3F
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000003",
  "checked_at": "2026-11-03T19:50:00.000Z",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 11,
    "remaining": 89,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  },
  "status": "invalid_syntax",
  "valid": false,
  "input": "??",
  "authorization": {
    "status": "unknown"
  },
  "sources": [],
  "news": [],
  "warnings": [],
  "screening": {
    "schema_version": "1",
    "purpose": "us_marketplace_fcc_id_screening",
    "assessed_at": "2026-11-03T19:50:00.000Z",
    "rules_reviewed_at": "2026-11-02",
    "rules_url": "https://api.fccid.io/marketplace-rules.json",
    "guide_url": "https://api.fccid.io/compliance",
    "marketing_eligibility": "undetermined",
    "review_required": true,
    "checks": {
      "fcc_id_record": {
        "status": "invalid_syntax",
        "basis": "FCC-sourced records held by FCCID.io",
        "evidence": []
      },
      "recorded_grant": {
        "status": "unknown",
        "as_of": null
      },
      "product_association": {
        "status": "not_verified"
      },
      "current_authorization": {
        "status": "unknown"
      },
      "fcc_eas_live_check": {
        "status": "not_performed"
      },
      "covered_equipment": {
        "status": "not_assessed"
      },
      "listing_display_requirement": {
        "status": "requires_listing_context"
      },
      "seller_accuracy_certification": {
        "status": "not_collected"
      },
      "published_warnings": {
        "status": "none_found_in_covered_sources",
        "count": 0,
        "coverage": "Published items explicitly linked to this FCC ID; not comprehensive enforcement or recall coverage."
      }
    },
    "next_actions": [
      "correct_identifier",
      "check_current_fcc_authorization_and_restrictions",
      "determine_certification_or_sdoc_path",
      "review_listing_scope_deadline_and_exceptions",
      "collect_seller_accuracy_certification_when_applicable",
      "retain_response_and_product_evidence"
    ],
    "official_verification_url": "https://apps.fcc.gov/oetcf/eas/reports/GenericSearch.cfm",
    "limitations": "A confirmed record does not establish product identity, current marketing permission, Covered List clearance, or compliance certification. FCCID.io does not perform a live FCC EAS check in this response."
  }
}
Response fields
JSON fieldMeaning
inputSubmitted FCC ID after request input normalization.
sourcesSource evidence for the exact record. Uses the same fields as match evidence.
screeningMarketplace evidence and review checklist. Present on validation responses.
screening.schema_versionVersion of the screening object.
screening.purposeIdentifier for the US marketplace FCC ID screening workflow.
screening.assessed_atUTC timestamp for this screening response.
screening.rules_reviewed_atDate the published rule references were reviewed.
screening.rules_urlMachine-readable rule references.
screening.guide_urlFCCID.io guide to marketplace checks.
screening.marketing_eligibilityundetermined. The response identifies checks that require additional evidence or listing context.
screening.review_requiredTrue when review is required.
screening.checksIndividual evidence and review checks.
screening.checks.fcc_id_recordExact FCC record check.
screening.checks.fcc_id_record.statusconfirmed, invalid_syntax, or unconfirmed.
screening.checks.fcc_id_record.basisSource used for the record check.
screening.checks.fcc_id_record.evidenceEvidence supporting the exact record check.
screening.checks.recorded_grantHistorical grant check.
screening.checks.recorded_grant.statusobserved for a documented historical grant, otherwise unknown.
screening.checks.recorded_grant.as_ofHistorical grant date, or null.
screening.checks.product_associationEvidence linking this physical product to the FCC ID.
screening.checks.product_association.statusnot_verified. Compare the product label and model with the returned evidence.
screening.checks.current_authorizationStatus of the current equipment authorization.
screening.checks.current_authorization.statusunknown. Requires evidence of the current authorization and applicable restrictions.
screening.checks.fcc_eas_live_checkWhether the API queried the official FCC EAS system live.
screening.checks.fcc_eas_live_check.statusnot_performed. Live official verification is a separate step.
screening.checks.covered_equipmentCovered equipment review.
screening.checks.covered_equipment.statusnot_assessed. Covered equipment review is a separate step.
screening.checks.listing_display_requirementWhether the specific listing context has been assessed.
screening.checks.listing_display_requirement.statusrequires_listing_context. Apply the requirements to the actual listing.
screening.checks.seller_accuracy_certificationWhether a seller certification was collected.
screening.checks.seller_accuracy_certification.statusnot_collected. The API collects no seller attestation.
screening.checks.published_warningsWarnings published in the covered sources.
screening.checks.published_warnings.statusreview_items_found or none_found_in_covered_sources.
screening.checks.published_warnings.countNumber of linked warning items in the response.
screening.checks.published_warnings.coverageScope of the warning sources.
screening.next_actionsMachine-readable codes for suggested review steps.
screening.official_verification_urlOfficial FCC equipment authorization search.
screening.limitationsWhat additional checks or evidence are needed.
suggestionsVerified FCC records offered as alternatives for an identifier search. An empty array means none of the checked spellings produced a public record.
suggestions[].fccidCanonical FCC ID of the suggested record.
suggestions[].basisformatting for the same ID with its recorded punctuation, confusable_character for one visually similar character, or adjacent_transposition for two neighboring characters in reverse order.
suggestions[].urlFCCID.io page for the suggested record.

See also shared response fields.

GET /frequency

Requires fccid. When a response includes next_cursor, pass it as cursor to retrieve the next page. Each page is one query. When the submitted ID has no exact record, suggestions may list alternatives. Query the suggested ID to retrieve its frequencies.

Example request

curl 'https://api.fccid.io/frequency?fccid=A4RH2G2-42' \
  -H "Authorization: Bearer $FCCID_API_KEY"

authorization uses the same FCC evidence on lookup, validation, and frequency responses. granted records a historical grant. denied and dismissed require an explicit FCC decision and are reported when no grant is evidenced. Otherwise the status is unknown. Evidence identifies the application and source. Current authorization remains unknown without separate lifecycle evidence.

Frequency ranges use MHz. Results retain application references, grant dates, and source links. Raw power values retain their source units. Only supported grant data is returned; missing frequencies have frequency_status: "unknown".

Example responses

Granted frequency ranges · GET /frequency?fccid=A4RH2G2-42
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000004",
  "status": "confirmed",
  "input": "A4RH2G2-42",
  "sources": [
    {
      "kind": "fcc_application",
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "url": "https://fccid.io/A4RH2G2-42",
      "date": "2013-05-17"
    }
  ],
  "fccid": "A4RH2G2-42",
  "valid": true,
  "applicant": "Google LLC",
  "manufacturer": null,
  "brand": null,
  "models": [
    "H2G2-42"
  ],
  "product": "H840 Device",
  "equipment_class": "DTS - Digital Transmission System",
  "latest_filing_date": "2013-05-17",
  "authorization": {
    "status": "granted",
    "as_of": "2013-05-17",
    "evidence": [
      {
        "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
        "status": "granted",
        "date": "2013-05-17",
        "basis": "grant_tcb",
        "observed_at": null,
        "source_url": "https://fccid.io/A4RH2G2-42"
      }
    ]
  },
  "match": {
    "status": "identifier_match",
    "method": "exact_fccid",
    "reasons": [
      "Exact FCC-sourced identifier record."
    ]
  },
  "evidence": [
    {
      "kind": "fcc_application",
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "url": "https://fccid.io/A4RH2G2-42",
      "date": "2013-05-17"
    }
  ],
  "links": {
    "fccid": "https://fccid.io/A4RH2G2-42"
  },
  "news": [],
  "warnings": [],
  "frequencies": [
    {
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "lower_mhz": 2412,
      "upper_mhz": 2462,
      "power_output": "0.0646",
      "power_output_unit": "W",
      "emission_designator": null,
      "rule_parts": "15C",
      "grant_date": "2013-05-17",
      "source_url": "https://fccid.io/A4RH2G2-42"
    },
    {
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "lower_mhz": 2412,
      "upper_mhz": 2462,
      "power_output": "0.1047",
      "power_output_unit": "W",
      "emission_designator": null,
      "rule_parts": "15C",
      "grant_date": "2013-05-17",
      "source_url": "https://fccid.io/A4RH2G2-42"
    },
    {
      "application_id": "f0j7HF8eqysxKMxHa1LE+g==",
      "lower_mhz": 2412,
      "upper_mhz": 2462,
      "power_output": "0.0692",
      "power_output_unit": "W",
      "emission_designator": null,
      "rule_parts": "15C",
      "grant_date": "2013-05-17",
      "source_url": "https://fccid.io/A4RH2G2-42"
    }
  ],
  "frequency_status": "known",
  "frequency_coverage": {
    "complete": true,
    "max_grant_applications": 100,
    "max_fallback_rows": 500
  },
  "next_cursor": null,
  "checked_at": "2026-11-03T19:50:00.000Z",
  "verification_source": "FCC-sourced records held by FCCID.io",
  "cache": "hit",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  }
}
Response fields
JSON fieldMeaning
inputSubmitted FCC ID after request input normalization.
sourcesSource evidence for the exact record.
frequenciesPage of supported grant frequency records. Empty when no rows were found or the page is exhausted.
frequencies[].application_idFCC application associated with this frequency range.
frequencies[].lower_mhzLower frequency in MHz.
frequencies[].upper_mhzUpper frequency in MHz.
frequencies[].power_outputOutput power as recorded by the source, or null.
frequencies[].power_output_unitSource unit for output power when supplied. May be null or omitted.
frequencies[].emission_designatorFCC emission designator, or null.
frequencies[].rule_partsApplicable FCC rule parts recorded for this range, or null.
frequencies[].grant_dateDate of the underlying historical grant, or null.
frequencies[].source_urlFCCID.io source for the range.
frequency_statusknown when supported ranges were found for the record, otherwise unknown.
frequency_coverageLimits applied to the grant and frequency records examined.
frequency_coverage.completeTrue when the source limits were not exceeded, false when results were truncated, or null when the FCC record was unconfirmed.
frequency_coverage.max_grant_applicationsMaximum number of grant applications considered.
frequency_coverage.max_fallback_rowsMaximum number of indexed equipment specification rows considered when grant HTML supplies no usable ranges.
next_cursorSend this string as cursor to fetch the next page. Null means there is no next page.
suggestionsVerified FCC records offered as alternatives for an identifier search. An empty array means none of the checked spellings produced a public record.
suggestions[].fccidCanonical FCC ID of the suggested record.
suggestions[].basisformatting for the same ID with its recorded punctuation, confusable_character for one visually similar character, or adjacent_transposition for two neighboring characters in reverse order.
suggestions[].urlFCCID.io page for the suggested record.

See also shared response fields.

GET /brand

Provide brand, grantee_code, or q. Returns matching grantees and their ten latest distinct FCC IDs, ordered by filing date. Available on Free and paid plans; one call uses one query from the same shared monthly allowance as the other data endpoints.

Example requests

curl 'https://api.fccid.io/brand?brand=Apple' \
  -H "Authorization: Bearer $FCCID_API_KEY"

curl 'https://api.fccid.io/brand?grantee_code=BCG' \
  -H "Authorization: Bearer $FCCID_API_KEY"

Exact organization-name matches are preferred over unrelated names that happen to share a prefix. Results identify the grantee match basis; grantee identity and consumer-brand ownership remain distinct. Up to twenty grantees are considered and truncation is reported.

Example responses

Brand query with a matching FCC grantee · GET /brand?brand=Apple
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000005",
  "status": "matches",
  "query": "Apple",
  "grantees": [
    {
      "code": "2AN3R",
      "name": "Apple Inc.",
      "match_basis": "grantee_name",
      "url": "https://fccid.io/2AN3R"
    },
    {
      "code": "2AN3S",
      "name": "Apple Inc.",
      "match_basis": "grantee_name",
      "url": "https://fccid.io/2AN3S"
    },
    {
      "code": "2AN3T",
      "name": "Apple Inc.",
      "match_basis": "grantee_name",
      "url": "https://fccid.io/2AN3T"
    },
    {
      "code": "BCG",
      "name": "Apple Inc.",
      "match_basis": "grantee_name",
      "url": "https://fccid.io/BCG"
    }
  ],
  "grantees_truncated": false,
  "matches": [
    {
      "fccid": "BCGA3375",
      "valid": true,
      "applicant": "Apple Inc.",
      "manufacturer": null,
      "brand": null,
      "models": [
        "A3375"
      ],
      "product": "Laptop Computer",
      "equipment_class": "NII - Unlicensed National Information Infrastructure TX",
      "latest_filing_date": "2026-10-28",
      "authorization": {
        "status": "granted",
        "as_of": "2026-10-28",
        "evidence": [
          {
            "application_id": "CWzckFH+s+8buBSoGqj6qA==",
            "status": "granted",
            "date": "2026-10-28",
            "basis": "grant_tcb",
            "observed_at": null,
            "source_url": "https://fccid.io/BCGA3375"
          },
          {
            "application_id": "UT3fR6m7LYf2fGm0c9LWOw==",
            "status": "granted",
            "date": "2026-10-28",
            "basis": "grant_tcb",
            "observed_at": null,
            "source_url": "https://fccid.io/BCGA3375"
          },
          {
            "application_id": "lk8afS56JGuejwNku3VNag==",
            "status": "granted",
            "date": "2026-10-28",
            "basis": "grant_tcb",
            "observed_at": null,
            "source_url": "https://fccid.io/BCGA3375"
          },
          {
            "application_id": "lwfojLaHCPue2MpC805SyA==",
            "status": "granted",
            "date": "2026-10-28",
            "basis": "grant_tcb",
            "observed_at": null,
            "source_url": "https://fccid.io/BCGA3375"
          }
        ]
      },
      "match": {
        "status": "candidate",
        "method": "grantee_record",
        "reasons": [
          "FCC record filed under a matching grantee."
        ]
      },
      "evidence": [
        {
          "kind": "fcc_application",
          "application_id": "ypm8cxwW6PF3UD7a3K2xrw==",
          "url": "https://fccid.io/BCGA3375",
          "date": "2026-10-28"
        }
      ],
      "links": {
        "fccid": "https://fccid.io/BCGA3375"
      },
      "news": [],
      "warnings": [],
      "grantee_code": "BCG"
    }
  ],
  "relationship_note": "Names match the supplied query. Grantee identity and consumer-brand ownership are distinct.",
  "checked_at": "2026-11-03T19:50:00.000Z",
  "verification_source": "FCC-sourced records held by FCCID.io",
  "cache": "miss",
  "usage": {
    "plan": "free",
    "quota": 100,
    "used": 12,
    "remaining": 88,
    "resets_at": "2026-12-01T00:00:00.000Z"
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  },
  "license": {
    "commercial": true,
    "attribution_required": false,
    "attribution_url": "https://fccid.io"
  }
}
Response fields
JSON fieldMeaning
queryBrand or grantee search term used for the query.
granteesMatching FCC grantees considered for the latest filing results.
grantees[].codeFCC grantee code.
grantees[].nameRegistered grantee name, or null.
grantees[].match_basisexact_grantee_code or grantee_name.
grantees[].urlFCCID.io grantee page.
grantees_truncatedTrue when matching grantees exceeded the 20-grantee limit.
matchesLatest FCC ID candidates from the matching grantees. At most 10.
relationship_noteExplains the scope of the grantee relationship.

See also shared response fields.

GET /status.json

Public, no key or quota required. For a browser view, see the system status page. The JSON endpoint shows bounded health checks for the FCCID.io database, OpenSearch document search, and the active Barcode.report/EAN database. Available filing and sample observation dates provide freshness context; they do not measure complete source coverage.

Example request

curl https://api.fccid.io/status.json

Example responses

All services operational · GET /status.json
{
  "api_version": "1",
  "status": "operational",
  "checked_at": "2026-11-03T19:48:52.604Z",
  "services": {
    "fccid_records": {
      "name": "FCCID.io database",
      "status": "operational",
      "latest_filing_date": "2026-11-03"
    },
    "fccid_documents": {
      "name": "FCC document search in OpenSearch",
      "status": "operational"
    },
    "barcode_ean": {
      "name": "Barcode.report active product and EAN reader",
      "status": "operational",
      "check": "Fresh product-reader request",
      "sample_observed_at": "2026-09-16 21:01:09"
    }
  }
}
Document search unavailable · GET /status.json
{
  "api_version": "1",
  "status": "degraded",
  "checked_at": "2026-11-03T19:48:52.604Z",
  "services": {
    "fccid_records": {
      "name": "FCCID.io database",
      "status": "operational",
      "latest_filing_date": "2026-11-03"
    },
    "fccid_documents": {
      "name": "FCC document search in OpenSearch",
      "status": "unavailable"
    },
    "barcode_ean": {
      "name": "Barcode.report active product and EAN reader",
      "status": "operational",
      "check": "Fresh product-reader request",
      "sample_observed_at": "2026-09-16 21:01:09"
    }
  }
}
Response fields
JSON fieldMeaning
api_versionResponse contract version. Currently 1.
statusoperational when all probes pass or degraded when one or more services are unavailable. Both results use HTTP 200.
checked_atUTC timestamp when the component probes were assembled. The endpoint may return a response cached for 30 seconds.
servicesComponent results keyed by fccid_records, fccid_documents and barcode_ean.
services.fccid_recordsBacking FCC record database.
services.fccid_documentsFCC document search service.
services.barcode_eanBarcode.report product and barcode reader.
services.*.nameHuman-readable component name when available.
services.*.statusoperational or unavailable for this component.
services.fccid_records.latest_filing_dateLatest final-action date observed in the backing FCC database, or null.
services.barcode_ean.checkType of probe used for the barcode service when successful.
services.barcode_ean.sample_observed_atWhen the sample barcode data was observed by its source, or null.

Shared response fields

The response examples above use sample usage counters and representative list entries. Fields may be omitted when they do not apply. A null value marks information that was unavailable or unconfirmed. Paths with [] describe each item in an array.

Shared response, usage and rate-limit fields
JSON fieldMeaning
api_versionResponse contract version. Currently 1.
request_idUnique ID for this request. Include it when asking for support.
statusOutcome of the query. matches means candidates were returned, confirmed means an exact record was found, not_found means no matching record was confirmed, and invalid_syntax means the supplied FCC ID is malformed.
checked_atUTC time the API assembled and checked the response against its covered data.
verification_sourceDescription of the FCC data used for the check. Absent when input syntax fails.
cachehit or miss for the shared data cache. Publication rules are checked on either path.
exampleTrue on anonymous playground responses, which omit account usage, rate limit and license.
usageMonthly usage for the calling account after the request is processed.
usage.planPlan code. free, starter, business, scale, or enterprise.
usage.quotaTotal query allowance for the current billing period.
usage.usedCompleted queries charged in that period.
usage.remainingAvailable queries after completed usage and any in-flight reservations.
usage.resets_atISO 8601 timestamp for the next quota reset.
rate_limitAccount allowance in the current UTC minute. Shared across keys and data endpoints.
rate_limit.limitMaximum requests allowed in the minute.
rate_limit.remainingRequests still available in the minute.
rate_limit.resets_atISO 8601 timestamp for the next minute boundary.
rate_limit.window_secondsLength of the rate window in seconds. Currently 60.
licenseUsage rights for the calling account.
license.commercialWhether commercial use is allowed.
license.attribution_requiredWhether visible attribution is mandatory. Currently false.
license.attribution_urlFCCID.io link to use for optional attribution.
FCC record and match fields
JSON fieldMeaning
fccidCanonical FCC identifier recorded by FCCID.io.
validtrue confirms an FCC-sourced record, false indicates malformed syntax, and null means a plausible identifier was unconfirmed. For candidates, true refers to the record itself.
applicantName of the FCC applicant, or null if unavailable.
manufacturerIdentified manufacturer, or null if unavailable.
brandIdentified consumer brand, or null if unavailable.
modelsModel names recorded in the covered applications.
productEquipment description, or null if unavailable.
equipment_classFCC equipment class code, or null if unavailable.
latest_filing_dateLatest final-action date found in the covered records, or null.
grantee_codeGrantee associated with this candidate. Present on brand results.
matchHow this FCC record was selected.
match.statusidentifier_match for an exact identifier match or candidate for a search result that needs review.
match.methodSelection method. exact_fccid, exact_ean_record, barcode_record, applicant_model, document_text, character_variant, or grantee_record.
match.reasonsHuman-readable explanations for the selection.
linksRelevant links for the record.
links.fccidFCCID.io record page.
links.barcodeBarcode.report link when supporting barcode clues were used.
evidenceSource records supporting the match. Fields vary by source kind.
newsPublished articles linked to the FCC ID. An empty array means none were found in covered sources.
warningsLinked warnings, recalls or enforcement items in covered sources. An empty array means none were found there.
authorizationHistorical FCC decision evidence. See the authorization fields below.
Source evidence item fields
JSON fieldMeaning
kindSource type. fcc_application, fcc_document, fcc_ean_association, ean_product_clue, or ean_fccid_reference.
application_idFCC application that the evidence concerns, when available.
document_idFCC exhibit ID for document evidence.
barcode_idFCCID.io identifier for the direct barcode record.
fccidFCC identifier attached to the direct association.
gtin1414-digit barcode attached to the evidence.
sha256SHA-256 digest of the supporting exhibit file.
titleExhibit title or description, or null.
dateSource application final-action date, or null.
urlLink to the FCCID.io application or exhibit.
source_urlLink to the source of the barcode or product clue.
observed_atSource observation timestamp, or null when unavailable. Formatting can follow the source.
referenceOpaque identifier for a published FCC barcode association.
brandBrand reported by the product source, or null.
manufacturerManufacturer reported by the product source, or null.
modelModel reported by the product source.
Authorization fields
JSON fieldMeaning
statusgranted if a historical grant is evidenced. denied or dismissed if an explicit decision exists and no grant is evidenced. unknown when the evidence is inconclusive.
as_ofDate of the historical grant or explicit decision, or null if unavailable. May be absent on malformed input.
evidenceApplication-level evidence behind the authorization result. A different application under the same FCC ID can have a different outcome.
evidence[].application_idFCC application to which the observation applies.
evidence[].statusgranted, denied, or dismissed for this application observation.
evidence[].dateGrant or decision date, or null if unavailable.
evidence[].basisgrant_eas or grant_tcb for a saved grant, search for a decision label in FCC search results, or notice for FCC correspondence.
evidence[].observed_atUTC observation timestamp, or null if the archive provides no observation time.
evidence[].source_urlFCCID.io page for the underlying record.
News and warning item fields
JSON fieldMeaning
article_idFCCID.io article identifier.
titleHeadline, or null if unavailable.
datePublication date, when available.
urlFCCID.io article link.
source_urlOriginal publication link.
kindPublished content type. Warnings can include warning, recall or enforcement.
associationRelationship used to attach the article to a record.
association.basisBasis for the link, such as exact_fccid.
association.fccidFCC identifier to which the article is linked.

Errors, quotas, and freshness

Successful calls, including cache hits and no-match results, use one query. Malformed FCC ID checks, rejected requests, and service failures use none. A query counts only after the required data sources and publication checks complete. Failed attempts can still count toward the per-minute rate limit. All four data endpoints are included on every plan. Free has one shared allowance of 100 queries per UTC calendar month across /lookup, /validate, /frequency, and /brand, with a limit of 10 requests per minute. All keys share that allowance. Calls stop at the hard monthly limit until the reset or an upgrade. There are no automatic overage charges.

HTTP status Action
400 / 415 Correct the input or content type.
401 Supply a valid, active API key.
403 Activate Development / Free or a paid subscription.
410 The record is withdrawn from public access.
429 Wait for the rate/quota reset or upgrade. Observe Retry-After.
503 Verification or a data source is unavailable. Retry with backoff.

Rate limits apply to the whole account across all keys and all four data endpoints, in fixed UTC-minute windows.

Plan Requests per minute
Development / Free 10
Starter 60
Business 120
Scale 300
Enterprise Agreed

Authenticated data responses and rate/quota rejections include rate_limit with limit, remaining, resets_at (ISO 8601), and window_seconds: 60. Headers X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (Unix seconds) report the same minute allowance. A rejected burst returns HTTP 429 rate_limit with Retry-After in seconds. Monthly quota rejection uses quota_exceeded. Successful responses also include usage, X-Quota-Remaining, and X-Quota-Reset. Free quota resets at the next UTC calendar month; paid quotas follow verified billing periods.

checked_at is when the API checked its covered records, not a live FCC website verification. Sources retain available dates. News and warnings include supported associations only; an empty list means none were found in the covered sources. Service outages are reported separately.

Example error responses

unknown_parameter · HTTP 400
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "unknown_parameter",
    "message": "Unknown parameter: unsupported"
  }
}
api_key_required · HTTP 401
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "api_key_required",
    "message": "Use Authorization: Bearer YOUR_API_KEY."
  }
}
license_required · HTTP 403
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "license_required",
    "message": "Activate Development / Free or renew your subscription."
  }
}
record_withdrawn · HTTP 410
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "record_withdrawn",
    "message": "This record is withdrawn from public access."
  }
}
rate_limit · HTTP 429
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "rate_limit",
    "message": "Request rate exceeded."
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 0,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  }
}
quota_exceeded · HTTP 429
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly quota reached. Upgrade or wait for the reset."
  },
  "rate_limit": {
    "limit": 10,
    "remaining": 9,
    "resets_at": "2026-11-03T19:51:00.000Z",
    "window_seconds": 60
  }
}
data_unavailable · HTTP 503
{
  "api_version": "1",
  "request_id": "00000000-0000-4000-8000-000000000006",
  "error": {
    "code": "data_unavailable",
    "message": "FCC data is temporarily unavailable."
  }
}
Response fields
JSON fieldMeaning
api_versionResponse contract version.
request_idUnique request identifier for support and diagnostics.
errorError details. Use the HTTP status and error.code to decide what to do.
error.codeMachine-readable failure code. rate_limit is a minute limit, quota_exceeded is a monthly limit, and data_unavailable indicates the backing source could not complete the request.
error.messageHuman-readable message. Use error.code for application logic.
rate_limitMinute allowance snapshot when available. See the shared response fields.

See also shared response fields.