Solcastsolcast.com.au
Solcast's API Design is a genuine strength — the machine-readable contract is clean and gives partners and their agents a solid foundation to build against. However, two areas are undermining partner self-serve success: agents and answer engines cannot discover or fully consume Solcast's documentation without scraping, and once partners do land, there is no guided path to a first working call — no quickstart, no code samples, and no safeguards against duplicate writes from agent retries.
API DesignA clean, typed, well-governed API contract agents can reason about4 pass1 warn0 fail94A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Schema coverage & depthvia sdk | 25/25 | 166/166 (100%) public params are fully typed (no any/**kwargs). Analyzer confirms all methods have a derivable input schema. Investigated: sdk 100%, spec 75%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| pass | Auth declared & discoverablevia spec | 25/25 | authentication is documented on the docs site at https://docs.solcast.com.au/docs/authentication, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%. | Agents can only call an API when they can determine its auth posture — a declared scheme, or an explicit statement that none is required. |
| warn | Machine-readable, versioned contractvia spec | 18.8/25 | The API sets a version ("1.0.0") but exposes no versioning scheme in the URL, a header, or the media type, so an agent can't pin to a specific version. Investigated: spec 75%, docs 50%. Fix: Pick a versioning scheme (URL path /v1/, Accept: application/vnd.x+json, or a version header) and apply it consistently. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, sdk 100%, wellknown 0%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| pass | Example coveragevia spec | 10/10 | Only 0% of parameters and responses (0 of 394) include example values, so an agent has little grounding in real payload shapes. Investigated: spec 100%, sdk 100%, docs 0%. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples3 pass0 warn2 fail66C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page at https://solcast.com/forecast-solar-irradiance-data (client-rendered, so its contents couldn't be classified); free tier or sandbox is documented in pricing/docs. Investigated: docs 100%. | A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none. |
| pass | Description completenessvia spec | 15/15 | Only 45% of operations and parameters have descriptions (0 of 4 ops, 20 of 22 params), leaving an agent to guess what most endpoints do. Investigated: spec 100%, sdk 100%. | Complete descriptions are the context humans and agents need to use endpoints. |
| pass | Changelog publishedvia spec | 13/13 | changelog is documented on the docs site at https://docs.solcast.com.au/docs/changelog, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%. | A published changelog lets partners track changes without surprise. |
| fail | Quickstart presentvia docs | 0/25 | No quickstart or getting-started page found at the conventional docs paths, so new developers and agents have no obvious first step. Investigated: docs 0%. Fix: Publish a single-page quickstart that goes from zero to a first successful API call. | A quickstart is the fastest path from landing page to first successful call. |
| fail | Code samples in docsvia docs | 0/18 | No code samples detected across 3 sampled docs pages, so a coding agent gets no ready-to-use examples. Investigated: docs 0%. Fix: Add copy-pasteable code samples to API reference and quickstart pages. | Multi-language samples shorten time-to-first-call. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs1 pass1 warn1 fail63C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (bjreplay/ha-solcast-solar, 590 snippets). Investigated: docs 100%, sdk 92%, cli 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| warn | Crawlable / AEOvia wellknown | 9/12 | Sitemap has 17 entries but no lastmod values, so crawlers can't tell what changed recently. Investigated: wellknown 75%. Fix: Add accurate <lastmod> values to sitemap entries — AI-powered search uses them to prioritize crawling. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
| fail | llms.txt present, valid & comprehensivevia docs | 0/30 | No llms-full.txt was found at any candidate origin, so agents can't grab your full docs in one fetch. Investigated: docs 0%, sdk 0%. Fix: Publish a concatenated, agent-readable copy of your documentation at /llms-full.txt on your docs site. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| na | Docs reachable, not hard auth-gated | —/30 | No surface produced evidence for this capability in this run. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs2 pass1 warn1 fail84A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via docs | 28/28 | No error responses (4xx/5xx or a catch-all default) are documented anywhere in the spec, so an agent can't anticipate or handle failures. Investigated: docs 100%, spec 50%, sdk 50%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| pass | Operation purpose clarityvia sdk | 25/25 | Read/write classification is partial: 8/8 classified (2 read, 6 write). Investigated: sdk 100%, spec 50%. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| warn | Agent instructions file (AGENTS.md)via sdk | 5/10 | No agents.md or skill.md context file found (nice-to-have for agent operation). Investigated: sdk 50%, wellknown 0%. Fix: Add an agents.md or skill.md describing how an agent should use this SDK (auth setup, key operations, gotchas). | An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index. |
| fail | Docs structured datavia docs | 0/8 | No JSON-LD or OpenGraph/meta tags found across 3 assessed pages (3 JS-rendered), so answer engines have nothing to cite. Investigated: docs 0%. Fix: Server-render structured data (JSON-LD) so AI answer engines can cite your docs. | Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed. |
| na | Agent-navigable, token-efficient docs | —/22 | No surface produced evidence for this capability in this run. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| na | Description consistency across surfaces | —/7 | Only 1 surface description(s) with ≥6 tokens available; need at least 2 to compare. | Every surface tells the same story about what the product is. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them2 pass1 warn2 fail52D
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Sandbox separationvia sdk | 20/20 | Sandbox environments are exposed (sandbox). Investigated: sdk 100%, spec 0%, docs 0%. | An isolated environment lets agents exercise destructive operations safely. |
| pass | Runnable collection with test scriptsvia sdk | 9/9 | README is present and includes a runnable quickstart. Investigated: sdk 100%, platform 50%. | A public, maintained collection with assertions is runnable truth agents validate against. |
| warn | Rate-limit signalingvia spec | 5.5/22 | No rate-limit response headers are documented, so an agent can't tell when it is approaching a limit and will get throttled. Investigated: spec 25%, docs 25%. Fix: Add x-ratelimit-* response headers and document retry-after semantics. | Machine-readable rate-limit headers let agents throttle adaptively. |
| fail | Idempotency documentedvia spec | 0/27 | Only 0% of mutating operations (0 of 19) document idempotency, so an agent's retries can create duplicate writes. Investigated: spec 0%, docs 0%, sdk 0%. Fix: Agents retry on failure; without idempotency, retries create duplicates. Document Idempotency-Key on every POST/PUT/PATCH/DELETE. | Documented idempotency lets agents retry safely. |
| fail | Pagination documented & consistentvia spec | 0/22 | The 6 list endpoint(s) expose no pagination parameters, forcing an agent into all-or-nothing reads. Investigated: spec 0%, docs 0%. Fix: Add pagination parameters (cursor / offset+limit) to all list endpoints. | Consistent, documented pagination lets agents traverse collections. |
Resources Discovered
The public resources we found for Solcast — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (590) |
|---|---|
| APIs analyzed | 2 — Solcast API, Solcast Integration API |