# ENERGY STAR Product Records — EPA Certified Products (`nexgensignal/energy-star-product-records`) Actor

Keyless, pay-per-record EPA ENERGY STAR certified-product data. One row per product — program category, product type, brand, model, UPC, ENERGY STAR identifier, Most Efficient flag. Public domain; product grain, no person data; crawl-delay honored.

- **URL**: https://apify.com/nexgensignal/energy-star-product-records.md
- **Developed by:** [NexGen Signal](https://apify.com/nexgensignal) (community)
- **Categories:** Business, E-commerce, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $33.50 / 1,000 product records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## ENERGY STAR Product Records — EPA Certified Products

**Keyless. Pay per record. Every ENERGY STAR certified product, as a clean product table.**

This actor turns the **U.S. EPA ENERGY STAR** certified-product database into clean, per-product records — the official list of products that carry the ENERGY STAR mark. Each run reads the EPA's keyless open-data service and delivers one row per certified product: the program category and product type, the brand and model, the UPC, the ENERGY STAR model identifier, and whether it meets the ENERGY STAR Most Efficient criteria. Product/manufacturer grain, structured for engineering use, in the public domain, with no personal data of any kind.

### What this is, in one paragraph

The EPA certifies products — appliances, electronics, HVAC, commercial equipment — that meet ENERGY STAR efficiency criteria, and publishes the certified list as open data. This actor reads that list and flattens each certified product into a single analysis-ready record: which category and product type it belongs to, its brand and model name and number, its UPC, its ENERGY STAR model identifier, and whether it clears the higher ENERGY STAR Most Efficient bar. It is the certified-product reference that procurement, retail, and sustainability systems build on. Values are exactly as the EPA publishes them. You are billed only for records actually delivered.

### Who buys this and for what job

- **Procurement and facilities teams** verifying that a product model is ENERGY STAR certified before purchase, at scale, as clean rows.
- **Retail, e-commerce, and product-catalog systems** tagging listings with certification status and Most Efficient flags.
- **Sustainability, ESG, and rebate-program tools** matching products to certification for incentive eligibility and reporting.
- **Data engineers** who want the certified-product table without paging the open-data API and reshaping it by hand.

### Public-domain data — free commercial reuse

Two honesty riders travel on every record. First, **licensing**: ENERGY STAR certified-product data is published by the U.S. EPA — a work of the US federal government, no copyright, **public domain** under 17 U.S.C. §105 — free to reuse, including commercially, with attribution to the EPA ENERGY STAR program. ENERGY STAR is a registered trademark of the U.S. EPA. Second, **fitness**: certification reflects the product model as listed by the EPA; verify the live ENERGY STAR database before relying on a certification for a compliance, rebate, or procurement decision.

### Product grain — no person data

This actor works at product/manufacturer grain: the unit of every record is a certified product. The source carries no natural-person fields — brand and model are product attributes, not people — and this actor emits none. A person-key guard runs on every record as a pure backstop, and the acceptance suite feeds a deliberately person-shaped row and asserts none of it can ever appear in output.

### Binding crawl-delay

The source host publishes a robots directive with **Crawl-delay: 1**. This actor honors it as a **binding pacing rider in code** — it waits at least one second between page requests, every run, regardless of speed pressure. Politeness to the source is enforced structurally, not left to chance.

### Pricing

| Event | Free plan | Bronze | Silver | Gold / Platinum / Diamond |
|-------|-----------|--------|--------|---------------------------|
| `product_record` | $0.05 | $0.045 | $0.04 | $0.0335 |

Delivered before charged. Blocked runs and empty results cost nothing.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `categoryContains` | string | — | Optional. Keep only products whose program category contains this text (e.g. Heat Pumps, Refrigerators). |
| `brandContains` | string | — | Optional. Keep only products whose brand name contains this text. |
| `mostEfficientOnly` | boolean | false | Keep only products meeting the ENERGY STAR Most Efficient criteria. |
| `maxRecords` | integer | 500 | Ceiling on records delivered and billed. |

### Output

One JSON object per certified product. Real example (values as published by the EPA):

```json
{
  "record_id": "2208190",
  "pd_id": "2208190",
  "product_program_category": "Consumer Refrigeration Products",
  "product_type": "Refrigerators or Refrigerator-Freezers",
  "brand_name": "Whirlpool",
  "model_name": "WRB329DMB*",
  "model_number": "WRB329DMB*",
  "upc": "883049379...",
  "energy_star_model_identifier": "ES_...",
  "meets_most_efficient_criteria": false,
  "source": "U.S. EPA ENERGY STAR certified products",
  "licence": "U.S. EPA ENERGY STAR ... public domain (17 U.S.C. §105) ...",
  "attribution": "Source: U.S. EPA ENERGY STAR certified products (data.energystar.gov) ...",
  "disclaimer": "ENERGY STAR certified-product attributes ... product/manufacturer grain — no natural-person data ...",
  "observed_at": "2026-08-21T00:00:00Z"
}
```

An unbilled `RUN_RECEIPT` records the robots check and honored crawl-delay, the filters, rows seen and delivered, and whether charged equals delivered.

### Field reference

Each record is one certified product. Identity: `record_id` / `pd_id`, `brand_name`, `model_name`, `model_number`, `upc`, and `energy_star_model_identifier`. Classification: `product_program_category` and `product_type`. Certification: `meets_most_efficient_criteria` (true / false). Provenance: `source`, `source_url`, `licence`, `attribution`, `disclaimer`, and `observed_at`.

### How a run works

A run first re-reads the source host's robots posture from your runtime — the EPA ENERGY STAR open-data host — confirms the certified-product resource is allowed, and reads the published **Crawl-delay** to pace itself. It then pages the certified-product resource, pushing your optional category, brand, and Most-Efficient filters into the query so the dataset is bounded server-side, and flattens each product to one record — reading only product and classification fields, never anything person-shaped — delivered **before** it is charged, so a blocked or empty run costs you nothing. Between pages it waits the honored crawl-delay. The actor stops at your `maxRecords` ceiling and records `charge_equals_delivered` and the honored delay in the receipt.

### Coverage and scope

This certified-product resource holds on the order of **37,000+ products** across every ENERGY STAR program category — refrigeration, HVAC, commercial food service, and more. Because each record carries `product_program_category` and `brand_name`, segmenting by category or brand is a single filter, and the `meets_most_efficient_criteria` flag isolates the top efficiency tier. Pull one category to build a procurement shortlist, or the whole resource to seed a certification-lookup table.

### Cost guidance

One `product_record` per delivered product: cost = products delivered × your plan's per-record price. Scope with `categoryContains`, `brandContains`, or `mostEfficientOnly` to keep runs bounded — one category is typically a few hundred to a few thousand products. 1,000 products is **$50** (Free) / **$33.50** (Gold); the full ~37,000-product resource is a one-time seed you then keep fresh with small targeted pulls.

### Honest limitations

- **As certified and listed.** Attributes and certification status are exactly as the EPA publishes them; this actor reformats, it does not re-test or re-certify.
- **Verify live for decisions.** Certifications change; confirm against the live ENERGY STAR database before a compliance, rebate, or procurement decision.
- **One resource.** This actor reads the EPA's certified-product resource; other ENERGY STAR datasets (e.g. specific category performance tables) are separate.
- **No person data** of any kind.

### Differentiation

This is a **net-new** category for the NexGenData fleet — no existing fleet actor covers ENERGY STAR certified products. It is distinct from any emissions, facility, or energy-market cell (those carry plant, sector, or market data, not certified consumer/commercial products) and from generic product scrapers. Its specific job is the **EPA ENERGY STAR certified-product table** — the official certification reference that procurement, retail, and sustainability systems join against.

### The NexGen Signal family

Part of the NexGen Signal family of pay-per-record data products:

- [US Hospital Ownership Records — CMS Owner Edges](https://apify.com/nexgensignal/us-hospital-ownership-records)
- [Mine Operator & Safety Records — US MSHA](https://apify.com/nexgensignal/mine-operator-safety-records)
- [EPA Facility Compliance Records — Envirofacts](https://apify.com/nexgensignal/epa-facility-compliance-records)
- [Air Quality Monitor Records — US EPA AQS](https://apify.com/nexgensignal/air-quality-monitor-records)
- [Airport Facility Records — US FAA NASR](https://apify.com/nexgensignal/airport-facility-records)

*Source: U.S. EPA ENERGY STAR certified products (data.energystar.gov). A work of the US federal government, no copyright, public domain (17 U.S.C. §105); free to reuse, including commercially, with attribution to the EPA ENERGY STAR program. ENERGY STAR® is a registered trademark of the U.S. EPA. Product/manufacturer grain; no person data of any kind. Crawl-delay honored.*

# Actor input Schema

## `categoryContains` (type: `string`):

Optional. Keep only products whose program category contains this text (e.g. Heat Pumps, Refrigerators).

## `brandContains` (type: `string`):

Optional. Keep only products whose brand name contains this text.

## `mostEfficientOnly` (type: `boolean`):

Keep only products that meet the ENERGY STAR Most Efficient criteria.

## `maxRecords` (type: `integer`):

Maximum records delivered and billed.

## Actor input object example

```json
{
  "mostEfficientOnly": false,
  "maxRecords": 500
}
```

# Actor output Schema

## `results` (type: `string`):

Delivered records.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxRecords": 500
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgensignal/energy-star-product-records").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxRecords": 500 }

# Run the Actor and wait for it to finish
run = client.actor("nexgensignal/energy-star-product-records").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxRecords": 500
}' |
apify call nexgensignal/energy-star-product-records --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nexgensignal/energy-star-product-records"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/r5jSR5M5Hr1ZiZdZH/builds/MAGEls7bNvJg7svsK/openapi.json
