Member-only story

Accessing GoodWe Sems Portal API: A Comprehensive Guide

Binod Karunanayake
2 min readJun 27, 2023

Source: https://community.goodwe.com/solution/API%20introduction

If you are a user of GoodWe inverters and batteries, you might be interested in accessing the GoodWe Sems Portal API to retrieve data and integrate it into your own applications or systems. However, due to the lack of public documentation, it can be challenging to figure out how to access the API. In this article, I will explore the steps to access the GoodWe Sems Portal API using cURL.

Step 1: CrossLogin — Obtaining a Token

To access the GoodWe Sems Portal API, the first step is to obtain an authentication token by using the CrossLogin endpoint. This token will be used for subsequent API requests. Here’s an example of how to make the request.

curl --location 'https://www.semsportal.com/api/v1/Common/CrossLogin' \
--header 'Content-Type: application/json' \
--header 'Token: {"version":"v2.1.0","client":"ios","language":"en"}' \
--data-raw '{"account":"<email>","pwd":"<password>"}'

In the response, you will receive a JSON object containing the token, uid, timestamp, api and other relevant information. Here’s a sample response for the above request.

{
"hasError": false,
"code": 0,
"msg": "Successful",
"data": {
"uid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"timestamp": 1687866265523

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Binod Karunanayake
Binod Karunanayake

Written by Binod Karunanayake

PhD Candidate @RMIT University | Former Software Engineer @WSO2 | BSc Engineering (Hons) University of Moratuwa

Responses (6)

Write a response

Good write up indeed,
i am also able to obtain a token but the api response seems to timeout despite correct formatting.
(Edit) - i was able to get a 200 resposne via an alternative location
but there is null data :(

Hey @Binod, awesome guide. I tried contacting Goodwe, but never got any response.
I can get a token successfully, but when I hit the GetMonitorDetailByPowerstationId endpoint I receive 403. Do I need to get myself on a 'whitelist' to do this? Do you have any api documentation ?

Thanks for this information. I didn't get output immediately but combined with the post of Ben White it worked. Had to use https://eu.semsportal.com/api/v3/PowerStation/GetPlantDetailByPowerstationId and then I got the output I needed.
Next day the…