# Atmospore Pollen Forecasts > Global, species-level pollen and allergy forecasting. A ~28 km global model covering 25 tree, > grass and weed species, with real-time plus 14-day forecasts, multilingual species metadata and > published risk thresholds. Delivered as a REST API (https://pollenapi.com), a hosted MCP server > (https://mcp.atmospore.com/mcp), an async Python client, and a keyless embeddable widget. > Based in Oslo, Norway. Generated by API Evangelist from the Atmospore public contract and documentation on 2026-08-09. Atmospore does not publish an llms.txt of its own (/llms.txt returns 403 on atmospore.com and 404 on pollenapi.com). Note that atmospore.com's robots.txt disallows GPTBot, ChatGPT-User, Google-Extended, CCBot, anthropic-ai, Claude-Web, cohere-ai, PerplexityBot and Bytespider — use the API and MCP contracts below rather than crawling the site. ## APIs - [Atmospore Pollen Forecast API](https://atmospore.com/api-docs): Four read-only GET operations at https://pollenapi.com. Auth is an `x-api-key` header; `/v1/species` needs no key. - [GET /v1/pollen](https://atmospore.com/api-docs) — `getPollenForecast`. Species-level forecast at a point. Required: `lon`, `lat`, `dt` (YYYY-MM-DD), `forecast_days` (1-14). Optional: `species`. - [GET /v1/pollen-area](https://atmospore.com/api-docs) — `getPollenArea`. Avg/min/max across a radius. Same parameters plus `radius` in METRES (default 25000, max 50000). - [GET /v1/pollen-top](https://atmospore.com/api-docs) — `getPollenTop`. Species ranked by severity over a date range. Required: `lon`, `lat`, `dt`, `forecast_days`. - [GET /v1/species](https://pollenapi.com/v1/species) — `getSpecies`. No authentication. 25 species with slugs, categories, localised names (en/sv/no) and risk thresholds. Cache 24h. ## Specs - [OpenAPI 3.0.3 (JSON)](https://pollenapi.com/openapi.json): the live, valid contract. - [OpenAPI (YAML)](https://pollenapi.com/v1/openapi?format=yaml): same document, but it does NOT parse — `security:[]` and `ApiKeyAuth:[]` are emitted without the space YAML requires after the colon. Use the JSON. ## Agents - [MCP server](https://mcp.atmospore.com/mcp): hosted, JSON-RPC 2.0 over HTTP. Auth `Authorization: Bearer ` or `?key=`. Tools: `get_pollen`, `get_top_species`, `get_area_average`, `list_supported_species`. Resource: `atmospore://help`. - [atmospore-mcp](https://github.com/atmospore/atmospore-mcp): the same server as MIT-licensed Python, run locally over stdio with `ATMOSPORE_API_KEY`. Not published to PyPI. - [MCP setup guide](https://atmospore.com/article/mcp): Claude Desktop config via `mcp-remote`. - No A2A agent card is published on any Atmospore host. ## SDKs - [atmospore (PyPI)](https://pypi.org/project/atmospore/): first-party async Python client, MIT. `pip install atmospore`. Typed pydantic models, 5xx retry with backoff, typed exceptions. - [atmospore-python (GitHub)](https://github.com/atmospore/atmospore-python) - No JavaScript, Go, Ruby, Java, PHP or .NET client is published. ## Docs - [API documentation and interactive tester](https://atmospore.com/api-docs) - [Plans and pricing](https://atmospore.com/plans): Free 3,000/mo; Starter EUR 9; Professional EUR 39; Enterprise EUR 149; Custom. 14-day trial, 30-day money-back. - [Embeddable widgets](https://atmospore.com/widgets): keyless iframe, 52 curated cities or any coordinates, light/dark, top-species or category layout, en/no/sv. Does not consume API quota. - [Sign up](https://atmospore.com/register) / [Sign in](https://atmospore.com/login) - [Contact](https://atmospore.com/contact) — support@atmospore.com, founder@atmospore.com - [Terms of service](https://atmospore.com/terms-of-service) / [Privacy policy](https://atmospore.com/privacy-policy) - [GitHub organization](https://github.com/atmospore) ## Articles - [Ask Claude about pollen](https://atmospore.com/article/mcp) - [Pollen modelling](https://atmospore.com/article/pollen-modelling) - [Pollen science](https://atmospore.com/article/pollen-science) - [Locations update](https://atmospore.com/article/locations-update) ## Conventions and limits - Units are grains/m3. Risk levels are `low`, `moderate`, `high`, `very high`. - Every response has a `meta` block (location, units, generated_at) and a `data` payload. - Errors are `{"error": ""}` — not RFC 9457. 401 missing key, 403 invalid key, 400 invalid parameters, 429 quota exceeded. No rate-limit response headers are returned. - Quotas are monthly per key and enforced daily; MCP tool calls consume the same quota. - No status page, no changelog, no deprecation policy, no webhooks, no AsyncAPI, no GraphQL. ## Optional - [API Evangelist profile](https://apis.io/provider/atmospore-pollen-forecasts/)