Forecast.Solar Weather API
Weather forecast (registered users)
Weather forecast (registered users)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/forecast-solar:forecast-solar-weather-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Forecast.Solar Weather API
version: v7.41.0.2515 (Fri, 04 Sep 2026 14:20:34 +0200)
description: '## Restful API for Solar production forecast data and Weather forecast data.
### Retrieve data based on a location, the declination and orientation of solar panels.
#### Homepage • Documentation
made by Knut Kohl . Consulting'
tags:
- name: Weather
description: Weather forecast (registered users)
paths:
/{apikey}/weather/{lat}/{lon}:
get:
tags:
- Weather
operationId: weatherGet
summary: Get weather forecast for a location
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/Latitude'
- $ref: '#/components/parameters/Longitude'
- $ref: '#/components/parameters/CSVDelimiter'
- $ref: '#/components/parameters/CSVSeparator'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseWeather'
text/csv:
schema:
$ref: '#/components/schemas/ResponseWeather'
application/xml:
schema:
$ref: '#/components/schemas/ResponseWeather'
text/plain:
schema:
$ref: '#/components/schemas/ResponseWeather'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseFailure'
text/csv:
schema:
$ref: '#/components/schemas/ResponseFailure'
application/xml:
schema:
$ref: '#/components/schemas/ResponseFailure'
text/plain:
schema:
$ref: '#/components/schemas/ResponseFailure'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseFailure'
text/csv:
schema:
$ref: '#/components/schemas/ResponseFailure'
application/xml:
schema:
$ref: '#/components/schemas/ResponseFailure'
text/plain:
schema:
$ref: '#/components/schemas/ResponseFailure'
components:
parameters:
ApiKey:
name: apikey
in: path
description: Your personal API key
required: true
schema:
type: string
Latitude:
name: lat
in: path
description: Latitude of location
required: true
schema:
type: number
format: float
maximum: 90
minimum: -90
CSVDelimiter:
name: X-Delimiter
in: header
description: Dataset delimiter in CSV response, default '|'
required: false
schema:
type: string
default: '|'
Longitude:
name: lon
in: path
description: Longitude of location
required: true
schema:
type: number
format: float
maximum: 180
minimum: -180
CSVSeparator:
name: X-Separator
in: header
description: Value separator in CSV response, default ';', for a tabulator use string 'TAB'
required: false
schema:
type: string
default: ;
schemas:
ResponseFailure:
description: Error response, see message object
properties:
result:
example: null
message:
type: object
properties:
code:
description: Error code
type: integer
example: 123
type:
type: string
example: error
text:
description: Error message
type: string
example: Meaningful error message
ResponseWeather:
description: Weather forecast
properties:
result:
type: array
items:
$ref: '#/components/schemas/DatasetWeather'
message:
$ref: '#/components/schemas/MessageOk'
DatasetWeather:
description: Wether data for a timestamp
type: object
properties:
datetime:
type: string
format: date-time
example: '2016-08-02 00:00:00'
timestamp:
description: Seconds since 1970
type: number
format: int64
example: 1470088800
sky:
description: 0 (very coudy) .. 1 (clear sky)
type: number
format: float
minimum: 0
maximum: 1
example: 0.96
temperature:
description: °C
type: number
format: float
example: 13.8
condition:
description: Human readable condition
type: string
example: Clear
icon:
description: Condition icon
type: string
example: clear-night
wind_speed:
description: m/s
type: number
format: float
example: 7
wind_degrees:
description: Grad, 0 = North, 90 = East, 180 = South, 270 = West, 360 = North
type: number
format: int32
minimum: 0
maximum: 360
example: 217
wind_direction:
description: Human readable wind direction
type: number
format: int32
example: SW
MessageOk:
type: object
properties:
code:
type: integer
example: 0
type:
type: string
example: success
text:
type: string
example: ''