Skip to content

CPSC eFiling Compliance

Starting July 8, 2026, importers shipping consumer products regulated by the U.S. Consumer Product Safety Commission (CPSC) must electronically submit product safety certificate data through ACE (Automated Commercial Environment) at the time of entry. This requirement replaces the previous practice of simply maintaining certificates on file.

This guide explains how to include CPSC eFiling compliance data in your ShipStation API integration.

NOTE:

This guide provides technical information for implementing CPSC eFiling compliance via ShipStation API. This is not legal advice. Consult with legal counsel or customs brokers for compliance guidance specific to your business.

INFO:

Carrier support for CPSC eFiling data varies. Verify with your specific carrier that they support transmitting CPSC compliance data to US Customs.

Requirements

Effective Date

July 8, 2026 - Mandatory electronic filing of product safety certificate data at customs entry.

Who Must Comply

Any international business shipping finished consumer products under CPSC jurisdiction to the United States.

Affected Products

The following product categories commonly require CPSC certification:

  • Children's products (ages 12 and under): toys, clothing, footwear, furniture, car seats
  • Mattresses and bedding
  • Bicycles and helmets
  • Household goods and appliances
  • Consumer electronics
  • Textiles and apparel
  • Imitation jewelry

No exemptions: This requirement applies to ALL shipments of regulated products, regardless of value. There is no de minimis/Section 321 low-value exemption for CPSC eFiling.

Resources:

Filing Methods

You can comply with CPSC eFiling requirements using two methods:

Pre-register your product certificates in the CPSC Product Registry Portal. The system generates two reference identifiers that you'll include in your API requests:

  1. Certifier ID - Identifies your organization
  2. Certificate Version ID - Tracks certificate revisions

Once registered, include these identifiers in your ShipEngine API requests as shown in the API Implementation section below.

UPS provides a dedicated CPSC form that can be submitted electronically alongside your shipment. This method is recommended by UPS for merchants shipping via UPS.

How it works:

  1. Download and complete the UPS CPSC Form (PDF)
  2. Save the completed form as a PDF
  3. Upload it electronically using ShipStation API's Carrier Document Upload feature
  4. Select the "other" document type when uploading

Additional step (optional but recommended): If space permits on the Commercial Invoice (150-character limit), you can also manually add the CPSC identifiers for additional reference, even when using the electronic document upload method.

Benefits of using the UPS form:

  • Comprehensive CPSC compliance documentation in one standardized format
  • Covers both products registered and not registered in the CPSC Product Registry
  • Includes testing citations, exemptions, and manufacturer details
  • Can serve as a blanket document for multiple entries (valid for one year)
  • Preferred workflow by UPS for UPS shipments

API Implementation

Including CPSC Data in API Requests

CPSC eFiling data is provided at the product level within the packages[].products[] array using the cpsc_certificates array.

CPSC Certificate Object:

PropertyTypeRequired?Description
certifier_idstringrequiredThe Certifier ID from CPSC Product Registry (max 50 characters).
certificate_version_idstringrequiredThe Certificate Version ID from CPSC Product Registry (max 50 characters).

Note: The cpsc_certificates array should contain one certificate object for each product that requires CPSC certification. Products are specified using the products array within each package, not the deprecated customs_items array.

CPSC Disclaimer (Exemption)

Use cpsc_disclaim when a product's HTS code is on the CPSC-flagged list, but the specific product does not require a Certificate of Compliance. This tells ACE/CBP why no certificate is being filed and helps prevent shipment holds.

NOTE:

Filing a Disclaim is not mandatory (including for Section 321 de minimis shipments), but CPSC encourages it as it may improve your risk score. You can use cpsc_disclaim and cpsc_certificates on different products within the same shipment, but not on the same product.

CPSC Disclaim Object:

PropertyTypeRequired?Description
disclaim_codeenumerated stringrequiredThe disclaimer code indicating why no certificate is required. Valid values:
A - Product Not Regulated by CPSC: product falls outside CPSC jurisdiction (e.g., regulated by FDA), has no applicable CPSC safety standard, or is a B2B part for further assembly. Examples: adult hats/scarves, collectible adult toys, sports helmets (excluding bicycle helmets).
B - Enforcement Discretion: product falls under CPSC jurisdiction and a rule technically applies, but CPSC is exercising enforcement discretion and does not require a certificate. Examples: adult wearing apparel with flammability testing exemptions under 16 CFR 1610, household refrigerators with a safety certification mark.
intended_use_codestringrequiredA code from CBP's Intended Use Code list. Must accompany every Disclaim filing. For Disclaim B, must be 130.006. Max 16 characters. See Intended Use Codes table below.
intended_use_descriptionstringA plain-language description of the product's intended use. Max 100 characters. Recommended by CPSC when intended_use_code is 980.000 (Other Use).

Note: Use either cpsc_certificates or cpsc_disclaim per product - not both. One product can only have one disclaim_code, intended_use_code, and intended_use_description per customs entry line.

Intended Use Codes

For Disclaim B: Must use 130.006 (Consumer product intended for people aged 13 years or older).

For Disclaim A: Choose from the following base codes based on your scenario:

Intended Use CodeMeaning
081.XXXFor Human Medical Use as a Medical Device
090.XXXFor Military Use as a Non-Food Product
100.XXXFor Personal Use as a Non-Food Product
130.XXXFor Consumer Use (other than standard adult goods)
155.XXXFor Commercial Assembly as a Non-Food Product
970.XXXFor Export
980.000Other Use - intended_use_description recommended

Example: Creating a Label with CPSC Data

POST /v1/labels

POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "shipment": {
    "ship_to": {
      "name": "John Doe",
      "address_line1": "123 Main St",
      "city_locality": "Austin",
      "state_province": "TX",
      "postal_code": "78701",
      "country_code": "US"
    },
    "ship_from": {
      "name": "Acme Corp",
      "address_line1": "456 Factory Rd",
      "city_locality": "London",
      "postal_code": "SW1A 1AA",
      "country_code": "GB"
    },
    "packages": [
      {
        "weight": {
          "value": 2.0,
          "unit": "pound"
        },
        "dimensions": {
          "length": 10.0,
          "width": 8.0,
          "height": 6.0,
          "unit": "inch"
        },
        "products": [
          {
            "description": "Children's toy truck",
            "quantity": 1,
            "value": {
              "amount": 24.99,
              "currency": "USD"
            },
            "harmonized_tariff_code": "950300",
            "country_of_origin": "GB",
            "cpsc_certificates": [
              {
                "certifier_id": "CERT-12345",
                "certificate_version_id": "v1.0"
              }
            ]
          }
        ]
      }
    ],
    "customs": {
      "contents": "merchandise",
      "non_delivery": "return_to_sender"
    }
  },
  "carrier_id": "se-123456",
  "service_code": "usps_priority_mail_international"
}

Example: Creating a Shipment with CPSC Data

POST /v1/shipments

POST /v1/shipments HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "ship_to": {
    "name": "Jane Smith",
    "address_line1": "789 Oak Ave",
    "city_locality": "Miami",
    "state_province": "FL",
    "postal_code": "33101",
    "country_code": "US"
  },
  "ship_from": {
    "name": "Global Goods Ltd",
    "address_line1": "100 Export Blvd",
    "city_locality": "Toronto",
    "state_province": "ON",
    "postal_code": "M5H 2N2",
    "country_code": "CA"
  },
  "packages": [
    {
      "weight": {
        "value": 15.0,
        "unit": "pound"
      },
      "products": [
        {
          "description": "Infant car seat",
          "quantity": 1,
          "value": {
            "amount": 149.99,
            "currency": "USD"
          },
          "harmonized_tariff_code": "940120",
          "country_of_origin": "CA",
          "cpsc_certificates": [
            {
              "certifier_id": "CERT-67890",
              "certificate_version_id": "v2.1"
            }
          ]
        }
      ]
    }
  ],
  "customs": {
    "contents": "merchandise",
    "non_delivery": "return_to_sender"
  }
}

Example: Creating a Label with CPSC Disclaimer

Use cpsc_disclaim when your product is exempt from CPSC certification requirements.

POST /v1/labels

POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "shipment": {
    "ship_to": {
      "name": "John Doe",
      "address_line1": "123 Main St",
      "city_locality": "Austin",
      "state_province": "TX",
      "postal_code": "78701",
      "country_code": "US"
    },
    "ship_from": {
      "name": "Acme Corp",
      "address_line1": "456 Factory Rd",
      "city_locality": "London",
      "postal_code": "SW1A 1AA",
      "country_code": "GB"
    },
    "packages": [
      {
        "weight": {
          "value": 2.0,
          "unit": "pound"
        },
        "dimensions": {
          "length": 10.0,
          "width": 8.0,
          "height": 6.0,
          "unit": "inch"
        },
        "products": [
          {
            "description": "Industrial component",
            "quantity": 1,
            "value": {
              "amount": 49.99,
              "currency": "USD"
            },
            "harmonized_tariff_code": "848180",
            "country_of_origin": "GB",
            "cpsc_disclaim": {
              "disclaim_code": "B",
              "intended_use_code": "130.006"
            }
          }
        ]
      }
    ],
    "customs": {
      "contents": "merchandise",
      "non_delivery": "return_to_sender"
    }
  },
  "carrier_id": "se-123456",
  "service_code": "usps_priority_mail_international"
}

Consequences of Non-Compliance

Failure to provide required CPSC eFiling data can result in:

  • Entry delays and shipment holds
  • Examination and documentation requests from US Customs
  • Potential refusal of entry
  • Storage fees while shipments are held
  • Re-routing costs
  • Potential penalties from CPSC

Compliance Checklist

Before shipping regulated products to the US after July 8, 2026:

  • Check product coverage - Use the CPSC Regulatory Robot and HTS code list
  • Locate existing certificates - Confirm you have a current CPC (Children's Product Certificate) or GCC (General Certificate of Conformity) for all regulated products
  • Choose your filing method:
    • API Integration: Register certificates in CPSC Product Registry and obtain identifiers
    • UPS Form Upload (UPS shipments): Download, complete, and save the UPS CPSC Form as PDF
  • Update integration:
    • API method: Modify your code to include the cpsc_certificates array in the products array within each package
    • Document upload method: Integrate with Carrier Document Upload to attach the completed form
  • Coordinate with carrier/broker - Discuss data formatting and transmission requirements early
  • Test implementation - Verify data transmits correctly with sample shipments
  • Monitor CPSC updates - Check CPSC FAQs and guidance regularly

Resources

CPSC Resources

Carrier-Specific Resources