{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ac2b9cee-d472-4e92-b03d-37ac756130aa","name":"SolarAnywhere® API","description":"The SolarAnywhere® API (Application Programming Interface) allows users to automate the retrieval of SolarAnywhere data and PV simulations. The API makes it possible to connect SolarAnywhere services to customer-built tools and third-party party software applications. The API is beneficial for customers that would like to:\n\n- Access SolarAnywhere [energy modeling services](https://www.solaranywhere.com/support/solar-energy-modeling-services/)\n    \n- Automate [fleet performance benchmarking](https://www.solaranywhere.com/products/solaranywhere-systemcheck/) with real-time data and energy simulations\n    \n- Continuously ingest the latest [solar forecasts](https://www.solaranywhere.com/products/solaranywhere-forecast/) from SolarAnywhere\n    \n- Streamline access to SolarAnywhere data in third-party PV simulation tools such as [PlantPredict](https://www.solaranywhere.com/support/modeling-in-third-party-tools/plantpredict/), [pvDesign](https://www.solaranywhere.com/support/modeling-in-third-party-tools/pvdesign/) and [PVsyst](https://www.solaranywhere.com/support/modeling-in-third-party-tools/pvsyst/)\n    \n\nUse of the SolarAnywhere API is included with the purchase of any [Sites](https://www.solaranywhere.com/purchase/#sa-tabs_1%7C%7Cpurchase-tabs_2) license or with the purchase of a [Typical Year Unlimited](https://www.solaranywhere.com/purchase/#sa-tabs_0) license. Additionally, the API is the primary means of data retrieval for SolarAnywhere [SystemCheck](https://www.solaranywhere.com/products/solaranywhere-systemcheck/) customers and also can be used to access SolarAnywhere [Forecast data](https://www.solaranywhere.com/products/solaranywhere-forecast/).\n\nIn addition, [Public Sites](https://www.solaranywhere.com/2021/pv-innovation-boost-new-solaranywhere-public-no-cost-solar-data-select-locations/), which include full historical time-series data through real time, are made available for testing the API—no purchase required!\n\nFor any questions or additional assistance, please [<b>contact us</b>](https://www.solaranywhere.com/contact/).\n\n---\n\n# REST API Basics\n\n## Overview\n\nThe SolarAnywhere API adheres to the REST API architecture. Requests are managed through HTTP. The base URL for all SolarAnywhere API requests is: [https://service.solaranywhere.com/api/v2/](https://). To specify the type of request you are making, you will add to the end of this URL.\n\n---\n\n## Authorization\n\nAll API methods require the use of either an API Key or Basic Authentication credentials where either a 64-character unique key or a username and password are sent in the Authorization request header. License Managers can [create and manage API Clients](https://www.solaranywhere.com/support/using-solaranywhere/api/) on your SolarAnywhere Account\n\nYou’ll need to submit a valid SolarAnywhere API key with every SolarAnywhere API request. The key should be included as a request header in the following format:\n\n‘X-Api-Key’: “\\[64-character API key\\]”\n\nNote that you should store these credentials in a safe and secure place, and in general, it’s safer to call the Clean Power Research APIs from the server side.\n\n---\n\n## Response Codes and Errors\n\nWhen a response is received, developers should first check the HTTP status code:\n\n| **Response Code** | **Description** |\n| --- | --- |\n| 200 OK | The request was processed successfully and a response was returned. |\n| 400 Bad Request | The request may be formatted incorrectly, required parameters may be missing or an invalid name or value may have been used. |\n| 401 Unauthorized | The API key is invalid or the user name or password may be incorrect. |\n| 429 Too Many Requests | Caller will be throttled. Clients can Contact Us to increase their throttle or impose an exponential back off strategy. |\n| 500 Internal Server Error | Oops, this may be our fault. |\n\nClean Power Research APIs also return detailed error information in the response payload when an error occurs while processing the request. This information can be useful during development to troubleshoot failures.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"27307811","team":5078164,"collectionId":"ac2b9cee-d472-4e92-b03d-37ac756130aa","publishedId":"2s9Xy2QCVn","public":true,"publicUrl":"https://apidocs.solaranywhere.com","privateUrl":"https://go.postman.co/documentation/27307811-ac2b9cee-d472-4e92-b03d-37ac756130aa","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"c84b00"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":"The SolarAnywhere® API (Application Programming Interface) allows users to automate the retrieval of SolarAnywhere data and PV simulations. The API makes it possible to connect SolarAnywhere services to customer-built tools and third-party party software applications."},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/00fb311e-5375-43e8-aca7-66533e059d2f/U29sYXJBbnl3aGVyZV93aGl0ZV8wNDAzMjUucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"c84b00"}},{"name":"light","logo":"https://content.pstmn.io/58ad94ac-8a86-4d45-8f38-2bd55d3c2dc1/U29sYXJBbnl3aGVyZV9jb2xvcl8wNDAzMjUucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"c84b00"}}]}},"version":"8.10.1","publishDate":"2025-04-08T16:32:33.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":"The SolarAnywhere® API (Application Programming Interface) allows users to automate the retrieval of SolarAnywhere data and PV simulations. The API makes it possible to connect SolarAnywhere services to customer-built tools and third-party party software applications."},"logos":{"logoLight":"https://content.pstmn.io/58ad94ac-8a86-4d45-8f38-2bd55d3c2dc1/U29sYXJBbnl3aGVyZV9jb2xvcl8wNDAzMjUucG5n","logoDark":"https://content.pstmn.io/00fb311e-5375-43e8-aca7-66533e059d2f/U29sYXJBbnl3aGVyZV93aGl0ZV8wNDAzMjUucG5n"}},"statusCode":200},"environments":[{"name":"Production","id":"e7284cfd-1f32-4c8d-96b4-fa70dcc3e04a","owner":"27307811","values":[{"key":"API Key","value":"<Client API Key>","enabled":true,"type":"secret"},{"key":"Sync API key","value":"<Client Synchronous API Key>","enabled":true,"type":"default"},{"key":"WeatherRequestId","value":"<Client WeatherRequestId>","enabled":true},{"key":"SummaryRequestId","value":"<Client SummaryRequestId>","enabled":true,"type":"default"},{"key":"EnergySiteId","value":"<Client EnergySiteId>","enabled":true,"type":"default"},{"key":"SimulationId","value":"<Client SimulationId>","enabled":true},{"key":"FarShadingRequestId","value":"<Client FarShadingRequestId>","enabled":true},{"key":"ProbabilisticForecastRequestId","value":"<Client ProbabilisticForecastRequestId>","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/c01364c23331b595f98cd91bb758f41a858ca23daeaa969e24b1dfdad07e91c5","favicon":"https://solaranywhere.com/favicon.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":"27307811-e7284cfd-1f32-4c8d-96b4-fa70dcc3e04a"}],"canonicalUrl":"https://apidocs.solaranywhere.com/view/metadata/2s9Xy2QCVn"}