PlantPredict API


The engine powering PlantPredict’s web interface is the PlantPredict API (Application Programming Interface). All of the calculations, models and algorithms necessary to process data, manage the asset libraries, and run complex utility-scale energy predictions are done by PlantPredict’s API – in other words, “the backend” of PlantPredict.

Anyone with a PlantPredict account and access to their API credentials (through their company administrator) can access all of PlantPredict’s functionality through the API directly. This enables powerful scripting and automation of high-time-resolution, complex, utility-scale energy predictions, which in turn can supercharge your business or analytical needs – a capability that is unparalleled in the industry. No UI interaction necessary!

Below is an example of a command that can be sent directly to the API – in this case, to create a new module.


1. Create a Module

Command to create a new Module using the contents of the file “Module_POST_Request.txt”

The new module id will be found in a file called “Module_POST_Response.txt” that is created by this command:

curl -o "Module_POST_Response.txt" -d @"Module_POST_Request.txt" "" -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: Bearer <access_token>"



The PlantPredict API is programming language-agnostic, and can be used with any language or tool capable of making HTTP requests. The API Starter Kit, available for download below, provides all of the resources necessary to get started with the API.  Of course, we’re always here to help at

Click the link below to download the API Starter Kit

PlantPredict API Starter Kit

PlantPredict API Developer Guide


PlantPredict Python SDK (BETA)

The PlantPredict Python SDK (Software Development Kit) is currently an unofficial offering in its Beta phase. Created by engineer Stephen Kaplan, it is a library/package written in the Python programming language designed to make interacting with the PlantPredict API easy for developers, engineers, scientists, students, and anyone with a very basic understanding of Python. External documentation including installation instructions and many example use cases can be found HERE.


Q: Do I need to be a Python expert to get started?

A: No. You should have at least basic understanding of Python 3 (there are plenty of free resources to learn online). Beyond that, the documentation contains examples that should serve as a sufficient template to get started.


Q: How do I download it?

A: The best way to download the software is via pip install plantpredict. Read the documentation for more information, particularly if you are unfamiliar with pip/virtual environments.


Q: Do I need an API access token?

A: Sort of – each user can be granted a username, password, client ID, and client secret by their respective “Company Admin”. These credentials are used to generate an access token for each Python session. Read more about this here.


Q: Is it free?

A: Yep. The only exception is that some weather data providers available in PlantPredict require subscriptions.


Q: Is there a rate limit?

A: Nope.


Q: Can the SDK do everything that I can do in the web user interface?

A: In short, yes. The SDK is capable of replicating (and automating) any feature in the web interface. All of the core functionality is currently implemented in the SDK. However, the SDK is under continuous development and will reach complete 100% feature parity over time.


Q: Are the SDK and Web Interface related?

A: Yes. The SDK and Web Interface both access PlantPredict’s server and database via the same API. Changes made via the SDK are reflected in the web interface, and vice versa.

It is actually recommend that users use the web interface to validate actions made via the SDK, especially when first starting out. Using the SDK in combination with the web interface is a great way to create fast, accurate predictions.


Q: Is this an official PlantPredict product?

A: Not at the moment. This was created by an engineer at First Solar as a side project and does not have the same level of support as PlantPredict.