Authentication
Every request must use a bearer token issued for an API account. Tokens are generated by Generator Bible and should be kept private.
Authentication header
Authorization: Bearer YOUR_TOKEN
curl -H "Authorization: Bearer YOUR_TOKEN" \ "https://api.generatorbible.com/v1/generators/search?query=iGen5000DF"
Search by model
Search for a model name using model, alternate model name, or UPC fields. The search must contain at least 4 characters. Add strict_model_search=true for a case-insensitive exact match.
iGen5000DF but not iGen5000DFc.Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | URL-encoded model name, at least 4 characters. |
brands | string | No | URL-encoded comma-separated list of brand names. Matching is exact after normalizing case, punctuation, and common naming variations. |
strict_model_search | boolean | No | Use true or false (default: false). |
catalog | string | No | Choose live, unlisted, or all (default: all). Only catalogs enabled for your account can be selected. |
page | integer | No | Page of results to return. Pages start at 1 (default: 1). |
curl "https://api.generatorbible.com/v1/generators/search?query=iGen5000DF&strict_model_search=true"
{
"data": [
{
"id": "gb_233192477",
"brand": "Westinghouse",
"model": "iGen5000DF",
"url": "https://generatorbible.com/generators/westinghouse/igen5000df/"
}
],
"meta": {
"search_query": "iGen5000DF",
"strict_model_search": true,
"catalog": "all",
"results_per_page": 10,
"page": 1,
"returned_results": 1,
"total_results": 1,
"total_pages": 1,
"monthly_credits_remaining": 1875,
"credits_renewal_date": "2026-10-01",
"access_end_date": "2026-12-31"
}
}{
"code": "api_missing_search",
"message": "The query query parameter is required when mode is model.",
"data": {
"status": 400
}
}{
"code": "api_unauthorized",
"message": "Authentication is required.",
"data": {
"status": 401
}
}{
"code": "api_catalog_forbidden",
"message": "Your API account does not have access to the requested catalog.",
"data": {
"status": 403,
"parameter": "catalog"
}
}{
"code": "api_credits_exhausted",
"message": "The monthly API credit limit has been reached.",
"data": {
"status": 429,
"retry_after": 172800
}
}Returns exact model matches.
Search by specs
Use mode=specs. Running wattage is mandatory: provide both limits as integers. The other parameters are optional filters and require permission for their corresponding response fields. For example, remote_start and electric_start require the Starting system response field.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | string | Yes | Must be specs. |
min_running_watts | integer | Yes | Minimum running wattage, zero or greater. |
max_running_watts | integer | Yes | Maximum running wattage, zero or greater. |
inverter | boolean | No | Use true or false. |
240v | boolean | No | Use true or false to filter 240V capability. |
neutral | string | No | Use bonded or floating. |
outlet | string | No | One AC outlet type, such as L14-30R. |
gfci_outlets | boolean | No | Use true or false to filter for generators with at least one GFCI outlet. |
electric_start | boolean | No | Use true or false to filter electric starting capability. |
remote_start | boolean | No | Use true or false to filter remote starting capability. |
catalog | string | No | Choose live, unlisted, or all (default: all). Only catalogs enabled for your account can be selected. |
brands | string | No | URL-encoded comma-separated list of brand names to include. Matching is exact after normalizing case, punctuation, and common naming variations. |
excluded_brands | string | No | URL-encoded comma-separated list of brands to exclude. |
page | integer | No | Page of results to return. Pages start at 1 (default: 1). |
curl "https://api.generatorbible.com/v1/generators/search?mode=specs&min_running_watts=8000&max_running_watts=8500&240v=true&gfci_outlets=true&inverter=true&neutral=bonded&outlet=L14-30R&excluded_brands=Powermate%2CSportsman"
{
"data": [
{
"id": "gb_303051143",
"brand": "Powerhorse",
"model": "s10500id",
"url": "https://generatorbible.com/generators/powerhorse/s10500id/"
},
{
"id": "gb_1420461905",
"brand": "Pulsar",
"model": "PGD105TiSCO",
"url": "https://generatorbible.com/generators/pulsar/pgd105tisco/"
}
],
"meta": {
"mode": "specs",
"catalog": "all",
"min_running_watts": 8000,
"max_running_watts": 8500,
"inverter_filter": true,
"240v_filter": true,
"gfci_outlets_filter": true,
"electric_start_filter": true,
"remote_start_filter": false,
"neutral_filter": "bonded",
"outlet_filter": "L14-30R",
"brands_filter": [
"Westinghouse"
],
"excluded_brands_filter": [
"Powermate",
"Sportsman"
],
"results_per_page": 10,
"page": 1,
"returned_results": 2,
"total_results": 2,
"total_pages": 1,
"monthly_credits_remaining": 1875,
"credits_renewal_date": "2026-10-01",
"access_end_date": "2026-12-31"
}
}{
"code": "api_invalid_wattage_range",
"message": "min_running_watts and max_running_watts must be zero or greater, and min_running_watts cannot exceed max_running_watts.",
"data": {
"status": 400,
"parameters": [
"min_running_watts",
"max_running_watts"
]
}
}{
"code": "api_unauthorized",
"message": "Authentication is required.",
"data": {
"status": 401
}
}{
"code": "api_catalog_forbidden",
"message": "Your API account does not have access to the requested catalog.",
"data": {
"status": 403,
"parameter": "catalog"
}
}{
"code": "api_credits_exhausted",
"message": "The monthly API credit limit has been reached.",
"data": {
"status": 429,
"retry_after": 172800
}
}Returns generators matching the requested specifications.
Response
Each result includes its ID, brand, and model. The response may include more or less data according to the permissions enabled for your API account.
Generator properties
| Property | Type | Nullable | Description |
|---|---|---|---|
id | string | No | Unique GeneratorBible product identifier. |
brand | string | No | Generator brand. |
model | string | No | Manufacturer model name or number. |
url | string | Yes | Public Generator Bible product URL. |
price | object | Yes | Price snapshots for Live products. |
weight.value | number | Yes | Product weight. |
weight.unit | string | No | Unit used for weight, such as lb. |
noise_rating.value | number | Yes | Rated noise level. |
noise_rating.unit | string | No | Usually dBA. |
dimensions | object | No | Product dimensions. |
inverter | boolean | No | Whether the generator uses inverter technology. |
240v | boolean | No | Whether the generator provides 240V output. |
gfci_outlets | boolean | No | Whether the generator has at least one GFCI outlet. |
outlet_types | array | No | Unique AC outlet type NEMA names without quantities. |
neutral_type | string | Yes | bonded, floating, or null when unknown. |
starting_system | array | No | Available starting systems, such as Recoil, Electric, and Remote. |
engine | object | No | Engine type, displacement, EFI status, and fuel-tank capacity. |
fuel_types | array | No | Supported fuels and fuel-specific performance data. |
Price properties
| Property | Type | Nullable | Description |
|---|---|---|---|
price.last_known_lowest | object | Yes | Lowest price from the latest synchronization, or the latest historical price if no offers are available. |
price.last_known_lowest.value | number | No | Price value from the latest synchronization; when no current offers are available, this may be the most recent historical price. |
price.last_known_lowest.currency | string | No | Currency code for the recorded price, such as USD. |
price.last_known_lowest.date | string | No | UTC date of the synchronization that recorded this price. |
price.historical_lowest | object | Yes | Lowest offer price ever recorded for the product. |
price.historical_lowest.value | number | No | Historical lowest offer price. |
price.historical_lowest.currency | string | No | Currency code for the historical price, such as USD. |
price.historical_lowest.date | string | No | Most recent UTC date on which the historical lowest price was observed. |
Engine properties
| Property | Type | Nullable | Description |
|---|---|---|---|
engine.type | string | Yes | Engine type, such as OHV 4-stroke, OHC 4-stroke, V-Twin, or 2-stroke. |
engine.cc | integer | Yes | Engine displacement in cubic centimeters. |
engine.efi | boolean | No | Whether the engine uses electronic fuel injection. |
engine.fuel_tank | object | No | Fuel-tank capacity. |
engine.fuel_tank.value | number | Yes | Fuel-tank capacity. A missing database value is returned as null. |
engine.fuel_tank.unit | string | No | Capacity unit, currently gal. |
Fuel properties
| Property | Type | Nullable | Description |
|---|---|---|---|
fuel_types[].type | string | No | gasoline, propane, or natural_gas. |
fuel_types[].wattage.running | integer | Yes | Running wattage for this fuel. |
fuel_types[].wattage.starting | integer | Yes | Starting wattage for this fuel. |
fuel_types[].runtime | array | No | Known runtime measurements. |
fuel_types[].runtime[].load_percent | integer | No | Load at which runtime was established. |
fuel_types[].runtime[].value | number | Yes | Runtime at that load. |
fuel_types[].runtime[].unit | string | No | Runtime unit, usually h. |
fuel_types[].fuel_consumption | array | No | Fuel consumption in gallons per hour. |
OpenAPI contract
Download the machine-readable contract: openapi.yaml.
{
"data": [
{
"id": "gb_233192477",
"brand": "Westinghouse",
"model": "iGen5000DF",
"url": "https://generatorbible.com/generators/westinghouse/igen5000df/",
"price": {
"last_known_lowest": {
"value": 949,
"currency": "USD",
"date": "2026-09-15"
},
"historical_lowest": {
"value": 949,
"currency": "USD",
"date": "2026-09-15"
}
},
"weight": {
"value": 104.7,
"unit": "lbs"
},
"noise_rating": {
"value": 52,
"unit": "dBA"
},
"dimensions": {
"length": 24.5,
"width": 17.5,
"height": 20,
"unit": "in"
},
"inverter": true,
"240v": false,
"outlet_types": [
"5-20R",
"TT-30R"
],
"gfci_outlets": false,
"neutral_type": "floating",
"starting_system": [
"Recoil",
"Electric",
"Remote"
],
"engine": {
"type": "OHV 4-stroke",
"cc": 224,
"efi": false,
"fuel_tank": {
"value": 3.4,
"unit": "gal"
}
},
"fuel_types": [
{
"type": "gasoline",
"wattage": {
"running": 3900,
"starting": 5000
},
"runtime": [
{
"load_percent": 25,
"value": 18,
"unit": "h"
},
{
"load_percent": 50,
"value": 15,
"unit": "h"
}
],
"fuel_consumption": [
{
"load_percent": 25,
"value": 0.19,
"unit": "gph"
},
{
"load_percent": 50,
"value": 0.23,
"unit": "gph"
}
]
},
{
"type": "propane",
"wattage": {
"running": 3500,
"starting": 4500
},
"runtime": [
{
"load_percent": 25,
"value": 22,
"unit": "h"
},
{
"load_percent": 50,
"value": null,
"unit": "h"
}
],
"fuel_consumption": [
{
"load_percent": 25,
"value": 0.21,
"unit": "gph"
},
{
"load_percent": 50,
"value": null,
"unit": "gph"
}
]
}
]
}
],
"meta": {
"mode": "model",
"catalog": "all",
"search_query": "iGen5000DF",
"strict_model_search": true,
"results_per_page": 10,
"page": 1,
"returned_results": 1,
"total_results": 1,
"total_pages": 1,
"monthly_credits_remaining": 1875,
"credits_renewal_date": "2026-10-01",
"access_end_date": "2026-12-31"
}
}