Stormglass API
by Storm Glass AB HTTP API in Weather & climate data
Hosted
Storm Glass AB · stormglass.io since 2018 · who's behind it
Weather and marine data API from Storm Glass AB of Sweden. It returns hourly forecasts, ERA5 history from 2014, tides, solar, soil and ocean parameters by coordinates, per source or blended, over HTTPS with an API key.
Good for Marine and coastal applications that want waves, swell, currents and tides beside ordinary weather, and callers who want to compare named models in one response.
Is this your product? Claim this listing or verify it
Assessment. A read-only weather and marine API with about 70 hourly parameters, per-source values from named national models, tide data and ERA5 history from 2014. No OpenAPI file, status page, SDK or security page was found, the free plan allows 10 requests a day, and the docs and FAQ disagree on the status code for a spent quota.
Facts
- Transport
- HTTP
- Endpoint
https://api.stormglass.io/v2- Auth
- API key
- Pricing
- Freemium · Freemium
- x402
- No
- Licence
- Proprietary service under Storm Glass AB's Terms and Conditions. The Free and Small plans are not for commercial use
- llms.txt
- not found
- Last release
- Endpoints
- Ten GET paths under https://api.stormglass.io/v2.
/weather/point,/historical/point,/bio/point,/solar/point,/astronomy/point,/elevation/point,/tide/extremes/point,/tide/sea-level/point,/tide/stationsand/tide/stations/area - Free plan
- 10 requests a day with all parameters, non-commercial, no support. The terms call it an evaluation plan. Whether signup asks for a card was not established
- Forecast range
- Hourly, 240 hours for the blended
sgsource, 360 hours for ECMWF AIFS and NOAA AIGFS, and 48 to 240 hours for the other named sources, per the sources page. Tide and astronomy calls default to 10 days - History
- ERA5 from 1 January 2014, hourly at 0.25 degrees (0.5 for waves), at most 10 days a call, with the last 7 days or so missing.
/weather/pointkeeps forecast records for 14 days back - Marine data
- Wave, swell, secondary swell and wind wave height, direction and period, current speed and direction, water temperature, sea ice, sea level, tide extremes and bathymetry.
/bio/pointadds chlorophyll, salinity, pH, oxygen and phytoplankton - Rate limits
- Daily request quota by plan (10, 500, 5,000 or 25,000). No per-second limit is documented.
meta.dailyQuotaandmeta.requestCounton every response - Errors
- 402 quota spent, 403 key missing or malformed, 404, 405, 410 legacy resource, 422 bad parameters, 503 try again later. The body seen for 403 was
{"errors":{"key":"API key is invalid"}} - Plan prices
- Small 19 euros, Medium 49 euros and Large 129 euros a month, 10 per cent off when billed annually. Custom enterprise plans by email. No overage price
- Sources
- ECMWF (oper, wave, ERA5, AIFS), NOAA (GFS, GFS-Wave, AIGFS), Météo-France, DWD, UK Met Office, MET Norway, FCOO, FMI and CMEMS, each selectable with
source - SDK
- None official. Request examples in the docs for Python, curl and JavaScript
- Data kept
- Account information is stored until the account is deleted, by email to support. No retention period for request data is stated. HubSpot is the one third party named
- Capabilities
- weather.forecast weather.marine weather.historical data.weather
Facts verified 2026-10-09 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- One request returns the same parameter from each named source (ECMWF, NOAA, DWD, Met Office, MET Norway and others), or one blended value with
source=sg - Marine coverage in the same API, with waves, swell, currents, sea ice, water temperature, tide extremes, sea level against seven datums and bathymetry
paramsandsourcelimit each response to the fields asked for, and every response carriesdailyQuotaandrequestCountinmeta- The key travels in the
Authorizationheader, and every documented endpoint is a GET - Plan prices and daily quotas are public without a login, from 0 to 129 euros a month
Weaknesses
- No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages
- No status page, SLA, security.txt, disclosure policy, certification or DPA was found, and the terms disclaim uninterrupted service
- Free plan is 10 requests a day, non-commercial, and the terms call it an evaluation plan not meant for indefinite use
- The docs give 402 for a spent daily quota and the FAQ says Too Many Requests. No Retry-After or per-second limit is documented
- The privacy text is a few paragraphs inside the terms, with no retention period or hosting location, and the terms allow changes to the service without notice
Before you call it notes for agents
- Send the key as
Authorization: KEYwith no Bearer prefix. A missing or wrong key returns 403 with{"errors":{"key":"API key is invalid"}} - Always pass
source=sgor a short source list on/weather/point. The default is every source, which multiplies the size of each hourly record - Treat 402 as a spent daily quota, not a billing failure, and stop until the next day. Read
meta.requestCountagainstmeta.dailyQuotaon each response - Use
/historical/pointfor past dates, at most 10 days a call and nothing newer than about 7 days./weather/pointlooks back 14 days only - Send and read all times in UTC. Tide sea levels are relative to the chosen datum (MSL by default) and are not water depth
Who's behind it provenance 68/100
- Legal entity namedStorm Glass AB20/20
- Domain agestormglass.io, registered 2018-01-30 (8 years)11/15
- Endpoint on the vendor's domainapi.stormglass.io15/15
- Terms of serviceread, states 4 of the 7 things a reader expects, and has 1 clause that costs points5.4/10
- Privacy policyread, states 3 of the 8 things a reader expects6.3/10
- Status pagenot found0/10
- Changelogpublished10/10
- security.txtnot found0/10
Terms and privacy, as read
Terms of service gives no date, states 4 of 7, 3 to know
TL;DR Gives no date. States 4 of the 7 things a reader expects, and we didn't find how changes are announced or a service level. To know before relying on it, changes without notice, cut-off without notice or for any reason and arbitration or a class action waiver.
Says the terms or the service can change without noticecosts points
The nature and content of the Services may be changed or updated without notice.
A customer may not hear about a change before it applies.
Says access can be ended without notice or for any reason
Company reserves the right to modify or terminate any of the Services at any time.
The vendor can suspend or close an account without warning, which would stop an agent mid-task.
Requires arbitration or waives class actions
Any dispute, controversy or claim arising out of or in connection with these Terms and Conditions, or the breach, termination or invalidity thereof, shall be finally settled by arbitration in accordance with the Rules for Expedited Arbitrations
Disputes go to an arbitrator, or a customer gives up joining a class action or a jury trial.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version they agreed to.
Names the governing law or courts The law of Sweden
These Terms and Conditions shall be construed in accordance with and governed by the laws of Sweden.
Says where a dispute would be heard and under whose law.
States a limit on its liability
This includes but is not limited to loss of profits, increased costs, loss of data or business interruption.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
If you violate any of these Terms and Conditions, your authorization to use the Services will be terminated effective immediately.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced
Not found in the text.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
You may not transfer your access rights or disclose your password to any third party.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
Not found in the text.
Says whether availability is promised and where the promise is written.
Liability is capped at the fee for one subscription period, based on the customer's latest payment.
Company shall not under any circumstances be liable for any damages in excess of the amount corresponding to the fee of 1 (one) subscription period, based on your latest payment to Company.
Noted by a second reader on 2026-10-08.
Arbitral proceedings are conducted in Swedish.
The language to be used in the arbitral proceedings shall be Swedish.
Noted by a second reader on 2026-10-08.
The free test plan is for evaluation before buying a paid plan and is not meant for indefinite ongoing use.
The free test plan is intended solely for evaluation of the Service prior to purchasing a paid plan and is not meant for indefinite ongoing use.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-09 · 1,405 words
Privacy policy gives no date, states 3 of 8
TL;DR Gives no date. States 3 of the 8 things a reader expects, and we didn't find whether data is sold, people's rights, a privacy contact or where data goes. The rules found no clause to flag.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
The basic statement a privacy policy exists to make.
Says how long data is kept For as long as needed, with no period named
Company store data as long as necessary to provide the Services.
Says when data sent to the service is deleted.
Says who else receives the data
You may not transfer your access rights or disclose your password to any third party.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising
Not found in the text.
A plain statement either way.
Says what rights people have over their data
Not found in the text.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact
Not found in the text.
An address or officer to send a request to.
Says where data is transferred or stored
Not found in the text.
The countries data goes to and the safeguard used.
The document · read 2026-10-09 · 1,405 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
One page, dated 17 March 2026, holds the Terms and Conditions and the Privacy Policy. It says it applies to all stormglass.io Services provided by Storm Glass AB, under Swedish law with arbitration in Stockholm. No postal address or company number is on it.
The privacy text is a section of that page and names HubSpot. No DPA or separate privacy policy was found.
stormglass.io/.well-known/security.txt returns 404.
No status page is linked from the site, the docs or the terms.
No changelog was found. The blog announces new data sources, the latest on 26 February 2026 (ERA5) and 13 February 2026 (NOAA AIGFS).
RDAP for stormglass.io gives a registration date of 2018-01-30.
Checked 2026-10-09 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-10 00:51 UTC
Probed every five minutes at https://api.stormglass.io/v2. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials.
Pages we watch
| Page | Kind | Last checked | Last changed |
|---|---|---|---|
| stormglass.io/blog | changelog | 6 hours ago · 200 | no change seen |
| stormglass.io/pricing | pricing | 6 hours ago · 200 | no change seen |
| stormglass.io/terms-and-conditions | terms | 6 hours ago · 200 | no change seen |
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/stormglass.json
Notable
- Plans on the pricing page are Free at 10 requests a day, Small at 19 euros a month for 500, Medium at 49 euros for 5,000 and Large at 129 euros for 25,000, with 10 per cent off for annual billing source
- Commercial use needs the Medium plan or higher, per the FAQ, and support comes with those plans only source
- The terms, dated 17 March 2026, say the free test plan is for evaluation before buying a paid plan and is not meant for indefinite use source
- The historical endpoint is based on ECMWF ERA5 from 1 January 2014, returns up to 10 days a call and trails the present by about 7 days source
- The sources page lists a forecast span of 240 hours for the blended
sgsource and 360 hours for ECMWF AIFS and NOAA AIGFS, withsgupdated every 4 hours source - Tide data is astronomical tide from the nearest station, built on the TICON-3 dataset under CC BY 4.0, with the station and its distance returned in
metasource - The docs site is Docsify, so each page is also a plain Markdown file at docs.stormglass.io/<page>.md. Their Last-Modified header read 29 June 2026
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 9 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 6.8 | |
Graded as a hosted service. No status page was found. The site, the docs and the terms link none (0). With no page there is no incident history to read (5). Daily quotas are published for every plan, 10, 500, 5,000 and 25,000 requests, with no per-second figure (12 of 15). The docs give 402 for a spent quota and 503 with try again later, and every response carries dailyQuota and requestCount. The FAQ says a spent quota returns Too Many Requests, which disagrees with the docs, and no Retry-After or backoff guidance was found. Every call is a GET (7 of 15). No SLA was found and the terms say the service is not warranted to be uninterrupted (0). The v2 API is the current version (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 6.5 | |
No OpenAPI file or other machine-readable contract was found in the docs (0 of 25). llms.txt returns 404. The docs site is Docsify, so each of its eleven pages is also a plain Markdown file, which is how we read them (5 of 10). Each endpoint page states its purpose, and the weather page points to the historical endpoint for past data and explains the sg source. The sources page gives resolution, update frequency and forecast span per model (12 of 20). Parameter tables mark required fields and defaults, and datum lists its seven values, but no types or ranges are given (7 of 15). Examples in Python, curl and JavaScript with sample responses, and a table of seven error codes. The sample JSON has trailing commas, and the descriptions of the three secondary swell fields are swapped (10 of 15). The path is versioned as /v2 and 410 marks legacy resources. No changelog was found, only blog posts about new sources (6 of 15). | |||
| Agent ergonomics | 13%16.2 | 10.6 | |
This is an API with no MCP server. params chooses the fields returned, source the models, and start and end the hours. The default on /weather/point is every source, so each field comes back once per model unless source is set (20 of 25). Time ranges, a bounding box for tide stations and a 10-day cap per historical call. Nothing is paginated (14 of 20). Seven status codes are documented, and the 403 body we saw was {"errors":{"key":"API key is invalid"}}. 402 for a spent quota is unusual, the FAQ names a different code, and no body is documented for any error (11 of 20). All ten endpoints are read-only GETs, safe to retry (15 of 20). lat, lng and params are the only required inputs and times default to today in UTC. No official SDK was found (5 of 15). | |||
| Security & auth | 14%17.5 | 7.7 | |
One plain key per account, sent in the Authorization header and never in the URL. The docs describe no scopes, rotation or revocation (15 of 30). Read-only data with nothing to approve (15 of 20). Responses are numeric values with station names and source labels (10 of 15). requestCount and dailyQuota come back with each response, and no per-call log was found in the docs (4 of 15). security.txt returns 404, and no disclosure policy, bounty or certification was found. The terms say the security of transmitted information is not guaranteed (0). | |||
| Payments & pricing | 10%12.5 | 3.1 | |
| No x402, MPP or L402. The API's 402 means a spent quota (0). Plan prices are public without a login, in euros, with daily quotas and no per-call or overage price, 19, 49 and 129 euros a month (10 of 20). A free plan at 10 requests a day. The site says signup is always free. The signup form is drawn by script and we did not read it, so whether a card is asked for is not established, and the terms call the plan an evaluation not meant for indefinite use (15 of 20). A person signs up in a browser to get a key (0). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 1.3 | |
| The latest dated announcement is the ERA5 blog post of 26 February 2026, 225 days before this check. The docs files carry a Last-Modified header of 29 June 2026, 102 days before, and the terms are dated 17 March 2026, so we scored the last visible change as within 180 days (10 of 30). No dated entry falls in the last 90 days (0 of 20). The blog announced new sources in May and September 2025 and twice in February 2026. Support is by email and comes with the Medium plan and higher, which we did not test (5 of 15). No official SDK was found (0 of 15). There is no public package or repository to assess (0 of 10). | |||
| Transparency & trusteditorial 22, provenance 68 | 7%8.8 | 3.9 | |
| Closed service with one short terms page, dated 17 March 2026. The FAQ limits commercial use to Medium and higher. The terms set no rules on storing, caching or redistributing data and do not say what licence the customer receives (10 of 30). The privacy text is a few paragraphs inside the terms. It says data is kept as long as necessary and account data until deletion, with no period for request data, and no DPA was found (8 of 30). No deprecation policy was found. The terms let the company modify or terminate any service at any time and change content without notice, and the docs list 410 for retired resources (1 of 20). HubSpot is the only third party named, and no hosting location is given (3 of 20). | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 39.9 · E | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 21 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Stormglass API, or have the agent fetch /fixes/stormglass.md. A fix counts at the next check, once it's public.
Show it
# Fix list: Stormglass API
From Anchor Terminal's listing at https://www.anchorterminal.com/tools/stormglass, the October 2026 research run, assessed 9 October 2026. Grade E, 39.9 out of 100.
This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public.
For a coding agent working on Stormglass API: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published.
## 1. Reliability, 34 out of 100, up to 13.2 more on the total
Why it scored 34: Graded as a hosted service. No status page was found. The site, the docs and the terms link none (0). With no page there is no incident history to read (5). Daily quotas are published for every plan, 10, 500, 5,000 and 25,000 requests, with no per-second figure (12 of 15). The docs give 402 for a spent quota and 503 with try again later, and every response carries `dailyQuota` and `requestCount`. The FAQ says a spent quota returns Too Many Requests, which disagrees with the docs, and no Retry-After or backoff guidance was found. Every call is a GET (7 of 15). No SLA was found and the terms say the service is not warranted to be uninterrupted (0). The v2 API is the current version (10).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability):
Hosted APIs, MCP servers, models and platforms.
- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).
- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.
- 15, rate limits documented with numbers.
- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.
- 10, an SLA published for any paid tier.
- 10, the surface agents use is generally available, not beta or preview.
Local packages, SDKs, frameworks and stdio MCP servers.
- 20, installs from an official package with supported runtimes stated.
- 25, a public CI and test suite, passing on the default branch.
- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).
- 15, semver discipline and breaking changes called out in a changelog.
- 15, version 1.0 or later, or declared stable.
Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors.
## 2. Schema & documentation, 40 out of 100, up to 9.8 more on the total
Why it scored 40: No OpenAPI file or other machine-readable contract was found in the docs (0 of 25). llms.txt returns 404. The docs site is Docsify, so each of its eleven pages is also a plain Markdown file, which is how we read them (5 of 10). Each endpoint page states its purpose, and the weather page points to the historical endpoint for past data and explains the `sg` source. The sources page gives resolution, update frequency and forecast span per model (12 of 20). Parameter tables mark required fields and defaults, and `datum` lists its seven values, but no types or ranges are given (7 of 15). Examples in Python, curl and JavaScript with sample responses, and a table of seven error codes. The sample JSON has trailing commas, and the descriptions of the three secondary swell fields are swapped (10 of 15). The path is versioned as /v2 and 410 marks legacy resources. No changelog was found, only blog posts about new sources (6 of 15).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema):
APIs and MCP servers.
- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).
- 10, llms.txt or Markdown docs served for agents.
- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.
- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.
- 0 to 15, examples and documented error responses.
- 15, versioning and a public changelog.
Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference.
## 3. Security & auth, 44 out of 100, up to 9.8 more on the total
Why it scored 44: One plain key per account, sent in the `Authorization` header and never in the URL. The docs describe no scopes, rotation or revocation (15 of 30). Read-only data with nothing to approve (15 of 20). Responses are numeric values with station names and source labels (10 of 15). `requestCount` and `dailyQuota` come back with each response, and no per-call log was found in the docs (4 of 15). security.txt returns 404, and no disclosure policy, bounty or certification was found. The terms say the security of transmitted information is not guaranteed (0).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-security):
- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.
- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.
- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.
- 0 to 15, audit logs or per-call visibility for the operator.
- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.
Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing.
## 4. Payments & pricing, 25 out of 100, up to 9.4 more on the total
Why it scored 25: No x402, MPP or L402. The API's 402 means a spent quota (0). Plan prices are public without a login, in euros, with daily quotas and no per-call or overage price, 19, 49 and 129 euros a month (10 of 20). A free plan at 10 requests a day. The site says signup is always free. The signup form is drawn by script and we did not read it, so whether a card is asked for is not established, and the terms call the plan an evaluation not meant for indefinite use (15 of 20). A person signs up in a browser to get a key (0).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments):
The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).
- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.
- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login.
- 20, a free tier or trial that doesn't need a card.
- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).
Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.
Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol.
## 5. Maintenance & community, 15 out of 100, up to 7.4 more on the total
Why it scored 15: The latest dated announcement is the ERA5 blog post of 26 February 2026, 225 days before this check. The docs files carry a Last-Modified header of 29 June 2026, 102 days before, and the terms are dated 17 March 2026, so we scored the last visible change as within 180 days (10 of 30). No dated entry falls in the last 90 days (0 of 20). The blog announced new sources in May and September 2025 and twice in February 2026. Support is by email and comes with the Medium plan and higher, which we did not test (5 of 15). No official SDK was found (0 of 15). There is no public package or repository to assess (0 of 10).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance):
- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.
- 20, at least three releases or dated changelog entries in the last 90 days.
- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.
- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).
- 10, package health, current dependencies and CI.
Models are read for deprecation notice periods and model churn rather than release counts.
## 6. Agent ergonomics, 65 out of 100, up to 5.7 more on the total
Why it scored 65: This is an API with no MCP server. `params` chooses the fields returned, `source` the models, and `start` and `end` the hours. The default on `/weather/point` is every source, so each field comes back once per model unless `source` is set (20 of 25). Time ranges, a bounding box for tide stations and a 10-day cap per historical call. Nothing is paginated (14 of 20). Seven status codes are documented, and the 403 body we saw was `{"errors":{"key":"API key is invalid"}}`. 402 for a spent quota is unusual, the FAQ names a different code, and no body is documented for any error (11 of 20). All ten endpoints are read-only GETs, safe to retry (15 of 20). `lat`, `lng` and `params` are the only required inputs and times default to today in UTC. No official SDK was found (5 of 15).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics):
- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).
- 20, pagination, filtering and output-size controls.
- 20, actionable, documented error responses, codes and messages an agent can recover from.
- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.
- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.
Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs.
## 7. Transparency & trust, 45 out of 100, up to 4.8 more on the total
Made of editorial 22, provenance 68.
Why it scored 45: Closed service with one short terms page, dated 17 March 2026. The FAQ limits commercial use to Medium and higher. The terms set no rules on storing, caching or redistributing data and do not say what licence the customer receives (10 of 30). The privacy text is a few paragraphs inside the terms. It says data is kept as long as necessary and account data until deletion, with no period for request data, and no DPA was found (8 of 30). No deprecation policy was found. The terms let the company modify or terminate any service at any time and change content without notice, and the docs list 410 for retired resources (1 of 20). HubSpot is the only third party named, and no hosting location is given (3 of 20).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency):
- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.
- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).
- 0 to 20, a deprecation policy or notices with dates.
- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).
The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two.
Provenance checks not met in full (half of this category, computed from checked facts):
- Domain age: stormglass.io, registered 2018-01-30 (8 years) (11 of 15)
- Terms of service: read, states 4 of the 7 things a reader expects, and has 1 clause that costs points (5.4 of 10)
- Privacy policy: read, states 3 of the 8 things a reader expects (6.3 of 10)
- Status page: not found (0 of 10)
- security.txt: not found (0 of 10)
## What we couldn't check
What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it.
- unchecked: the signup form at dashboard.stormglass.io, which is drawn by script, so whether the free plan asks for a card is not established
- unchecked: whether the dashboard lets a key be rotated or shows a per-call log. The docs do not say
- The docs give 402 for a spent daily quota and the FAQ says Too Many Requests. Which one the API returns was not tested
- No status page was found. We did not guess at a status address
- The terms name Storm Glass AB under Swedish law but give no address or registration number
- The terms do not say whether API data may be stored or redistributed. This matters before any probe result is published
- weather.current is left out of capabilities. The API returns hourly series with no dedicated current-conditions endpoint, and the FAQ says it is not a live feed
- Prices are in euros only, so unitPrices is empty and nothing was converted
- The lead was right on vendor, URL, interface and docs link
## Weaknesses
- No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages
- No status page, SLA, security.txt, disclosure policy, certification or DPA was found, and the terms disclaim uninterrupted service
- Free plan is 10 requests a day, non-commercial, and the terms call it an evaluation plan not meant for indefinite use
- The docs give 402 for a spent daily quota and the FAQ says Too Many Requests. No Retry-After or per-second limit is documented
- The privacy text is a few paragraphs inside the terms, with no retention period or hosting location, and the terms allow changes to the service without notice
## What costs an agent a turn today
The notes we give agents before they call it. Each one is a workaround an agent shouldn't need.
- Send the key as `Authorization: KEY` with no Bearer prefix. A missing or wrong key returns 403 with `{"errors":{"key":"API key is invalid"}}`
- Always pass `source=sg` or a short source list on `/weather/point`. The default is every source, which multiplies the size of each hourly record
- Treat 402 as a spent daily quota, not a billing failure, and stop until the next day. Read `meta.requestCount` against `meta.dailyQuota` on each response
- Use `/historical/point` for past dates, at most 10 days a call and nothing newer than about 7 days. `/weather/point` looks back 14 days only
- Send and read all times in UTC. Tide sea levels are relative to the chosen datum (MSL by default) and are not water depth
## When it's done
Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: the signup form at dashboard.stormglass.io, which is drawn by script, so whether the free plan asks for a card is not established
- unchecked: whether the dashboard lets a key be rotated or shows a per-call log. The docs do not say
- The docs give 402 for a spent daily quota and the FAQ says Too Many Requests. Which one the API returns was not tested
- No status page was found. We did not guess at a status address
- The terms name Storm Glass AB under Swedish law but give no address or registration number
- The terms do not say whether API data may be stored or redistributed. This matters before any probe result is published
- weather.current is left out of capabilities. The API returns hourly series with no dedicated current-conditions endpoint, and the FAQ says it is not a live feed
- Prices are in euros only, so unitPrices is empty and nothing was converted
- The lead was right on vendor, URL, interface and docs link
Sources 18
- home page with plans stormglass.io · seen 2026-10-09
- pricing stormglass.io · seen 2026-10-09
- FAQ stormglass.io · seen 2026-10-09
- terms and privacy policy, dated 17 March 2026 stormglass.io · seen 2026-10-09
- blog index stormglass.io · seen 2026-10-09
- ERA5 announcement, 26 February 2026 stormglass.io · seen 2026-10-09
- about and product information pages stormglass.io · seen 2026-10-09
- docs introduction, read as the Markdown file the Docsify page loads docs.stormglass.io · seen 2026-10-09
- authentication docs (Markdown) docs.stormglass.io · seen 2026-10-09
- weather endpoint docs (Markdown) docs.stormglass.io · seen 2026-10-09
- historical endpoint docs (Markdown) docs.stormglass.io · seen 2026-10-09
- tide endpoint docs (Markdown) docs.stormglass.io · seen 2026-10-09
- data sources (Markdown) docs.stormglass.io · seen 2026-10-09
- error codes (Markdown) docs.stormglass.io · seen 2026-10-09
- one unauthenticated request, answered 403 api.stormglass.io · seen 2026-10-09
- security.txt, 404 stormglass.io · seen 2026-10-09
- llms.txt, 404 stormglass.io · seen 2026-10-09
- RDAP record for stormglass.io rdap.identitydigital.services · seen 2026-10-09
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Freemium Freemium Free plan at 10 requests a day for non-commercial evaluation. Paid plans are monthly subscriptions in euros with daily quotas and no overage price, Small 19, Medium 49 and Large 129 euros a month, and commercial use needs Medium or higher. Prices are in euros only, so unitPrices is empty (https://stormglass.io/pricing/, checked 2026-10-09).
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/stormglass.xml, or this listing's score history at history.json.
Connect
First request
curl -H "Authorization: API_KEY" "https://api.stormglass.io/v2/weather/point?lat=58.7984&lng=17.8081¶ms=waveHeight,airTemperature&source=sg"
Through letme picks today, calling later
GET https://letme.dev/stormglass
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Alternatives to Stormglass API
#16 of 16 in Best weather and climate data APIs for AI agents · All 120 weather comparisons
Xweather Weather API BWeatherAPI.com Bmeteoblue Weather API CThe Weather Company Data APIs DTomorrow.io Weather API DGoogle Weather API (Maps Platform) B
Head to head Open-Meteo vs Stormglass API · AccuWeather Core Weather API + MCP vs Stormglass API · Google Weather API (Maps Platform) vs Stormglass API · Met Office Weather DataHub (Site Specific) vs Stormglass API · meteoblue Weather API vs Stormglass API · Meteomatics Weather API vs Stormglass API · NOAA National Weather Service API (api.weather.gov) vs Stormglass API · OpenWeather One Call API vs Stormglass API · Pirate Weather vs Stormglass API · Stormglass API vs Tomorrow.io Weather API · Stormglass API vs Visual Crossing Weather API · Stormglass API vs The Weather Company Data APIs · Stormglass API vs WeatherAPI.com · Stormglass API vs Weatherbit API · Stormglass API vs Xweather Weather API
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Xweather Weather API Vaisala Oyj | B | 67.1 | weather.forecast weather.historical weather.marine data.weather | no |
| WeatherAPI.com WeatherAPI.com (Zoomash Ltd) | B | 65.3 | weather.forecast weather.historical weather.marine data.weather | no |
| meteoblue Weather API meteoblue AG | C | 61.7 | weather.forecast weather.historical weather.marine data.weather | no |
| The Weather Company Data APIs The Weather Company, LLC | D | 52.6 | weather.forecast weather.historical weather.marine data.weather | no |
| Tomorrow.io Weather API The Tomorrow Companies Inc. | D | 51.4 | weather.forecast weather.historical weather.marine data.weather | no |
| Google Weather API (Maps Platform) Google | B | 66.8 | weather.forecast weather.historical data.weather | no |
Machine-readable
- JSON
/api/v1/tools/stormglass.json· historyhistory.json· badge/badges/stormglass.svg· changes feed/feeds/tools/stormglass.xml - Markdown
/tools/stormglass.md· slim/tools/stormglass.min.md(or sendAccept: text/markdown) - Fix list
/fixes/stormglass.md·/fixes/stormglass.json - From a terminal
anchor tool stormglass --md(the CLI) · over MCPget_tool {"slug": "stormglass"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/stormglass"><img src="https://www.anchorterminal.com/badges/stormglass.svg" alt="Stormglass API on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/stormglass)<a href="https://www.anchorterminal.com/tools/stormglass">Stormglass API on Anchor Terminal</a>It counts on a page on stormglass.io or one of its subdomains.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "stormglass", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.


