{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"3693fa42-bc73-4910-922a-bcb77a814540","name":"DSIRE Programs API","description":"The Programs API provides endpoints for discovering, retrieving, and managing energy and technology incentive programs across various states, sectors, and categories. It is designed to support applications that need to search, filter, and display program data for utilities, implementers, researchers, and the public.\n\nThis API is organized around REST and tends to follow a predictable resource-oriented URL structure. All responses from this api will be in JSON-encoded format. The API uses standard HTTP response codes, authentication, and verbs. This API is READ-ONLY at this time. Should you need to request a change or correction, please contact: [dsire-admin@ncsu.edu](https://mailto:dsire-admin@ncsu.edu)\n\nFor reference, you can also visit the companion website: [https://programs.dsireusa.org/system/program](https://programs.dsireusa.org/system/program)\n\n---\n\n# Getting Started\n\nTo get started using the DSIRE Programs API, read the information in this section.\n\n- You need a valid API Key to send requests to the API endpoints.\n    \n- The API has rate and usage limits.\n    \n- The API only responds to HTTPS-secured communications. Any requests sent via HTTP return an HTTP 301 redirect to the corresponding HTTPS resources.\n    \n- The API returns request responses in JSON format. When an API request returns an error, it is sent in the JSON response as an error key.\n    \n- The requests reference environment variables that can be safely stored and reused across the entire workspace. To start calling the endpoints, create an environment variable for each of the following:\n    \n\n| **Variable** | **Value** |\n| --- | --- |\n| **baseUrl** | [https://api.dsireusa.org/v1](https://api.dsireusa.org/v1) |\n| **x-api-key** | {{your-api-key}} |\n| **domainUrl** | [https://programs.dsireusa.org](https://programs.dsireusa.org) |\n\n## Purpose & Use Cases\n\n- **Browse and search** for incentive programs by state, technology, sector, utility, and other filters.\n    \n- **Retrieve detailed information** about specific programs, including eligibility, technologies, and contacts.\n    \n- **Integrate program data** into web portals, dashboards, or research tools.\n    \n\n## Limits & Throttling\n\n- The API enforces pagination via `limit` and `offset` parameters to control the result set size.\n    \n- Rate limits may apply to prevent abuse or based on a contractual agreement; excessive requests may be throttled or blocked.\n    \n- For optimal performance, use appropriate filters and avoid requesting large unpaginated result sets.\n    \n\n## Common Response Envelope\n\nMost endpoints return data in a consistent envelope structure:\n\n``` json\n{\n  \"data\": [ /* array or object with results */ ],\n  \"meta\": {\n        \"total\": /* Total result from the endpoint based on filters applied*/,\n        \"limit\": /* Maximum number of results returned by the endpoint */,\n        \"offset\": /* Pagination offset indicated results skipped from starting page */,\n    },\n  \"message\": \"Optional informational or error message\"\n}\n\n ```\n\n## Access\n\n- The API requires an API Key for unrestricted access. In order to become a partner and utilize the API you must have a valid API key.\n    \n- Your API key should not be shared publicly or with unauthorized parties. The key is a secret and should be kept secure to prevent abuse of the platform. Never use your API Key on a public client.\n    \n- All API requests must be made over HTTPS. HTTP requests are not supported and will be redirected to their HTTPS equivalent.\n    \n\n> ⚠️ Keep your API key secure. Never expose it in client-side code. \n  \n\n## API Versioning Note\n\nThe Program API is subject to versioning to ensure backward compatibility and smooth transitions as new features or changes are introduced. Always specify the desired API version in your requests, via the URL path (e.g., `/v1/programs`). Review the API changelog and documentation regularly to stay informed about deprecations, breaking changes, and new capabilities.\n\n## Pagination\n\nThe API enforces pagination via `limit` and `offset` parameters to control the result set size.\n\n## Folder Summary\n\nSee [Programs Overview](https://docs.dsireusa.org/#e564f9c9-c99f-406f-aa70-b8254a956d3f) for more information about the programs endpoint. Use the links in the Query Parameters table to explore the reference data endpoints for filtering.\n\n| Folder | Description |\n| --- | --- |\n| **Programs** | Core program data with some examples of how to filter the data |\n| **RSS** | Program update feeds (XML) |\n| **Reference Data** | Static reference tables that provide data for filtering the Programs API |\n| → **Geographic Data** | States, Territories, Counties, Cities, Zip Codes |\n| → **Utilities** | Energy utilities |\n| → **Sectors** | Market and implementing sectors |\n| → **Categories** | Program, Technology, and Energy categories |\n| → **Types** | Policy or incentive type definitions |\n| → **Technologies** | Eligible technology definitions |\n\n---","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"48538246","team":139922,"collectionId":"3693fa42-bc73-4910-922a-bcb77a814540","publishedId":"2sB3QKq9jM","public":true,"publicUrl":"https://docs.dsireusa.org","privateUrl":"https://go.postman.co/documentation/48538246-3693fa42-bc73-4910-922a-bcb77a814540","customColor":{"top-bar":"FFFFFF","right-sidebar":"333","highlight":"c00"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"The Programs API provides endpoints for discovering, retrieving, and managing energy and technology incentive programs across various states, sectors, and categories. It is designed to support applications that need to search, filter, and display program data for utilities, implementers, researchers, and the public."},{"name":"title","value":"DSIRE USA API Documentation"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/09ebf6e0-2e9d-441f-9b11-8a10d803d886/ZHNpcmUtbG9nby5wbmc=","colors":{"top-bar":"212121","right-sidebar":"333","highlight":"c00"}},{"name":"light","logo":"https://content.pstmn.io/09ebf6e0-2e9d-441f-9b11-8a10d803d886/ZHNpcmUtbG9nby5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"333","highlight":"c00"}}]}},"version":"8.10.1","publishDate":"2026-01-14T07:46:10.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"DSIRE USA API Documentation","description":"The Programs API provides endpoints for discovering, retrieving, and managing energy and technology incentive programs across various states, sectors, and categories. It is designed to support applications that need to search, filter, and display program data for utilities, implementers, researchers, and the public."},"logos":{"logoLight":"https://content.pstmn.io/09ebf6e0-2e9d-441f-9b11-8a10d803d886/ZHNpcmUtbG9nby5wbmc=","logoDark":"https://content.pstmn.io/09ebf6e0-2e9d-441f-9b11-8a10d803d886/ZHNpcmUtbG9nby5wbmc="}},"statusCode":200},"environments":[{"name":"Production","id":"6fb9db3e-bf63-452c-aaf8-da8ca6023ed4","owner":"3681169","values":[{"key":"baseUrl","value":"https://api.dsireusa.org/v1","enabled":true,"type":"default"},{"key":"apiKey","value":"","enabled":true,"type":"secret","description":"Key for the API Gateway. This should not be shared."},{"key":"domainUrl","value":"https://programs.dsireusa.org","enabled":true,"type":"default","description":"This is used for the non-API request endpoints like the RSS feed."},{"key":"isoDateFrom","value":"","enabled":true,"type":"default"},{"key":"isoDateTo","value":"","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/494237a5eb227fa6e6edd62a0d11744bd0d276cd093a55821712a9e8bd2af46f","favicon":"https://res.cloudinary.com/postman/image/upload/v1636144740/team/gzessgtu7rlkztowsn1v.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Production","value":"3681169-6fb9db3e-bf63-452c-aaf8-da8ca6023ed4"}],"canonicalUrl":"https://docs.dsireusa.org/view/metadata/2sB3QKq9jM"}