# 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:**

- [CPSC Regulatory Robot](https://www.cpsc.gov/Business--Manufacturing/Regulatory-Robot/Safer-Products-Start-Here) - Product classification tool
- [CPSC HTS Code List (PDF)](https://www.cpsc.gov/s3fs-public/CPSC-Guidance-and-HTS-List-for-Filing-of-Electronic-Certificates-6B-Cleared.pdf) - Verify coverage by HTS code


## Filing Methods

You can comply with CPSC eFiling requirements using two methods:

### Method 1: CPSC Product Registry (Recommended for API Integration)

Pre-register your product certificates in the [CPSC Product Registry Portal](https://www.cpsc.gov/eFiling-CPSC-Product-Registry). 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.

### Method 2: UPS CPSC Form with Document Upload (UPS Recommended)

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)](/assets/ups-cpsc-form-063026.d1938114a08b7acbf2b1331e21090d0d14906b23151e7048f577537c54dbd0bf.aef1304e.pdf)
2. Save the completed form as a PDF
3. Upload it electronically using ShipStation API's [Carrier Document Upload](/apis/shipengine/docs/labels/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:**

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `certifier_id` | *string* | **required** | The Certifier ID from CPSC Product Registry (max 50 characters). |
| `certificate_version_id` | *string* | **required** | The 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:**

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `disclaim_code` | *enumerated string* | **required** | The 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_code` | *string* | **required** | A 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_description` | *string* |  | A 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 Code | Meaning |
|  --- | --- |
| `081.XXX` | For Human Medical Use as a Medical Device |
| `090.XXX` | For Military Use as a Non-Food Product |
| `100.XXX` | For Personal Use as a Non-Food Product |
| `130.XXX` | For Consumer Use (other than standard adult goods) |
| `155.XXX` | For Commercial Assembly as a Non-Food Product |
| `970.XXX` | For Export |
| `980.000` | Other Use - `intended_use_description` recommended |


### Example: Creating a Label with CPSC Data

**POST /v1/labels**


```http
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**


```http
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**


```http
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](https://www.cpsc.gov/Business--Manufacturing/Regulatory-Robot/Safer-Products-Start-Here) and [HTS code list](https://www.cpsc.gov/s3fs-public/CPSC-Guidance-and-HTS-List-for-Filing-of-Electronic-Certificates-6B-Cleared.pdf)
- [ ] **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](https://www.cpsc.gov/eFiling-CPSC-Product-Registry) and obtain identifiers
  - **UPS Form Upload (UPS shipments):** Download, complete, and save the [UPS CPSC Form](/assets/ups-cpsc-form-063026.d1938114a08b7acbf2b1331e21090d0d14906b23151e7048f577537c54dbd0bf.aef1304e.pdf) 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](/apis/shipengine/docs/labels/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](https://www.cpsc.gov/FAQ/eFiling-Frequently-Asked-Questions-FAQ) and guidance regularly


## Resources

### CPSC Resources

- [CPSC eFiling Information](https://www.cpsc.gov/eFiling)
- [CPSC Product Registry Portal](https://www.cpsc.gov/eFiling-CPSC-Product-Registry)
- [CPSC HTS Code List (PDF)](https://www.cpsc.gov/s3fs-public/CPSC-Guidance-and-HTS-List-for-Filing-of-Electronic-Certificates-6B-Cleared.pdf)
- [CPSC eFiling FAQs](https://www.cpsc.gov/FAQ/eFiling-Frequently-Asked-Questions-FAQ)
- [CPSC Regulatory Robot](https://www.cpsc.gov/Business--Manufacturing/Business-Education/Childrens-Products)


### Carrier-Specific Resources

- [UPS CPSC Form (PDF)](/assets/ups-cpsc-form-063026.d1938114a08b7acbf2b1331e21090d0d14906b23151e7048f577537c54dbd0bf.aef1304e.pdf) - UPS-provided form for electronic document upload


## Related Guides

- [International Shipments](/apis/shipengine/docs/shipping/international)
- [Country-Specific Requirements](/apis/shipengine/docs/shipping/country-requirements)
- [Create Labels](/apis/shipengine/docs/labels/create-a-label)
- [Create Shipments](/apis/shipengine/docs/shipping/create-a-shipment)