Home » Using SolarAnywhere Data » SolarAnywhere API

SolarAnywhere API

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:

Use of the SolarAnywhere API is included with the purchase of a Sites Enterprise license or with the purchase of a Typical Year Unlimited license. Additionally, the API is the primary means of data retrieval for SolarAnywhere SystemCheck customers and also can be used to access SolarAnywhere Forecast data.

In addition, Public Sites, which include full historical time-series data through real time, are made available for testing the API—no purchase required!

SolarAnywhere API Documentation

Access SolarAnywhere API documentation by clicking the button below.

API Documentation

SolarAnywhere API documentation is now available through Postman. Watch the following video to learn more.

 

The information below explains how to get started with the SolarAnywhere API.

Create and Manage API Clients

Please note that you’ll need to be a designated License Manager on a SolarAnywhere account in order to create and manage API clients. Learn more about SolarAnywhere user roles here.

API clients are entities in your SolarAnywhere account that can be used to access your licensed data via the API. They are not tied to specific users on your account, which helps prevent interruptions to automations due to personnel changes. Each API client consists of a user-designated client name and a SolarAnywhere generated API key. The API key is a 64-character unique string that should be treated like a password.

API Client Types

There are currently three client types that have distinct access permissions: Asynchronous, Synchronous (Beta) and Trial:

Asynchronous
Asynchronous API keys should be used to access the data included in most paid SolarAnywhere licenses and are labeled as the “Standard” client type. This includes most data products such as historical TMY, Average Year, SystemCheck, and Forecast data. Active paid license information can be found at the top of the license manager in the data portal. API keys created prior to the introduction of Synchronous and Trial client types are labeled as “Legacy” clients. All Legacy clients are Asynchronous API keys.

Synchronous (Beta)
Synchronous API keys are available for beta testing SolarAnywhere real-time synchronous API data (note that only licenses with synchronous API access will see this button). This API is ideal for PV operational monitoring irradiance and weather data requests. For more information, please visit the following support center page: Real-Time Synchronous API (Beta) or reach out to us at support@solaranywhere.com.

Trial
Trial API keys are available for customers or prospects who are participating in a trial of SolarAnywhere real-time and forecast data. Trial API keys can also be used to request data at our freely accessible Public Sites locations. Please contact us at support@solaranywhere.com if you are interested in initiating a trial of SolarAnywhere real-time or forecast data.

Instructions

If you’re a license manager on your SolarAnywhere account, you can create an API client by navigating to the License page after signing in and following these steps:

  1. Scroll down to the section marked “API Client Management”
  2. Click the “Asynchronous API”, “Synchronous API” or “Trial API” button
  3. Type a name into the pop-up text box (the name doesn’t do anything; it’s just a useful identifier) and select “Confirm”
  4. Securely store the API key given to you in the pop-up

To keep customer API keys protected, we do not store them. This means we cannot recover a key once the popup is closed. However, keys can be easily re-generated using the method discussed in the instructions and video below.

The “API Client Management” section of the License page in your SolarAnywhere account contains a table displaying all the API clients on your SolarAnywhere license. It displays the names, key prefixes, client types, statuses (active/deactivated) and usage information such as creation time, last used time and several categories of aggregated usage statistics for each client. License managers can rename clients, reset client keys, and suspend or delete clients using the menu that appears upon selecting the three dots in the far right of the table. Resetting a client key will replace the existing key with a newly generated key.

 

You’ll need to submit a valid SolarAnywhere API key with every SolarAnywhere API request.1 The key should be included as a request header in the following format:

‘X-Api-Key’: “[64-character API key]”

SolarAnywhere API Key Throttling Limits

Each SolarAnywhere API key is given a default burst limit of 2,000 requests with a refill rate of 0.4 requests per second. Maintaining a cadence of one API request (POST or GET) per second will keep your requests well within the limit. However, please contact support@solaranywhere.com to discuss higher rate limit options if needed.

To use the SolarAnywhere API most efficiently, we recommend grouping multiple locations into a single POST request. Locations should be grouped based on the length of the data period being requested, with fewer sites included for longer data periods. Reference the following table for guidance on grouping locations.

These guidelines apply to customers requesting 1 km or 10 km spatial resolution historical, real-time or forecast data at temporal resolutions of 15, 30 or 60-minutes. Requesting high resolution data (5-min, 500 m), hindcast data or modeled outputs can result in increased processing time.

If you’re interested in receiving customized guidance on scheduling API calls for your use case, please reach out to support@solaranywhere.com.


1 API requests made using basic authentication credentials (username and password) previously assigned to your company by the SolarAnywhere team are still valid.

API Documentation