# Aquabyte > Aquabyte AS applies computer vision and machine learning to salmon and trout farming. > Underwater cameras feed a cloud platform that produces biomass estimation, sea-lice > counting, welfare scoring, behaviour metrics and environmental readings for each net pen. > Customers read that data through the Aquabyte customer portal or through the Aquabyte > Public API — a read-only, API-key-authenticated REST service at https://api.aquabyte.ai/v3 > whose OpenAPI 3.1 definition is served publicly at https://api.aquabyte.ai/openapi.json. This file was generated by API Evangelist from the provider's public surface. Aquabyte does not publish an llms.txt of its own (https://www.aquabyte.ai/llms.txt returns 404, https://api.aquabyte.ai/llms.txt returns 404, checked 2026-08-06). ## APIs - [Aquabyte Public API v3.1](https://api.aquabyte.ai/v3/docs): Read-only REST API over site and pen inventory plus per-pen time series for biomass, sea lice, welfare, behaviour and environmental data. Base URL https://api.aquabyte.ai/v3. ## Specs - [OpenAPI 3.1 (live, provider-served)](https://api.aquabyte.ai/openapi.json): 19 operations, 33 component schemas, version v3.1. - [OpenAPI 3.1 (API Evangelist copy)](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/openapi/aquabyte-data-api-openapi.yml) - [OpenAPI Overlay — API Evangelist enhancements](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/overlays/aquabyte-data-api-overlay.yaml): Adds the missing apiKey securityScheme, the published rate limit, and v3.0 -> v3.1 replacement pointers. ## How to call it - Auth: send your issued key as the `apikey` request header on every HTTPS request. There is no OAuth and no public self-service signup; keys are issued by Aquabyte to customers. - Rate limit: 1000 requests/hour. - Pagination: responses cap at 10,000 records. When more exist, the response carries a `nextToken`; repeat the request with `&nextToken=` until it is absent. - Bulk: `penId=all` fans a query across every pen your key can see — the intended way to mirror Aquabyte data into your own database. - Errors: 422 returns the FastAPI validation envelope `{"detail":[{"loc":[...],"msg":"...", "type":"..."}]}`. A missing or invalid key returns 401 with an empty body. - Deprecation: the `/pens/{penId}/...` forms are v3.0 and are marked deprecated. Use the query-parameter forms. ## Operations Inventory - `GET /sites` — all sites and their pens (`get_sites_sites_get`) - `GET /sites/{siteId}` — one site and its pens (`get_sites_siteId_sites__siteId__get`) Biomass - `GET /biomass?penId=` — daily average weight, kFactor, CV, weight distribution (`get_biomass_daily_biomass_get`) - `GET /biomass/harvestReport?penId=` — harvest reports by slaughter start date (`get_biomass_harvest_report_biomass_harvestReport_get`) Sea lice - `GET /liceCount?penId=` — adult female, mobile and caligus counts per fish, with the temperature-converted variants (`get_pen_lice_count_liceCount_get`) Welfare - `GET /welfareScores?penId=` — 17 welfare indicators, active and healed, severity 1-3 (`get_pen_welfare_data_welfareScores_get`) - `POST /superiorRate?penId=` — experimental superior-rate preview (`get_pen_superior_rate_superiorRate_post`) Behaviour - `GET /behaviour/swimSpeed?penId=` — swim speed (body lengths/s) and swim tilt (degrees) (`get_behavior_swim_speed_behaviour_swimSpeed_get`) - `GET /behaviour/breathingIndex?penId=` — breathing index 0-1 (`get_behavior_breathing_index_behaviour_breathingIndex_get`) Environmental - `GET /environmental?penId=` — temperature, camera depth, dissolved oxygen, salinity, fish density, aggregated 15min/h/D (`get_environmental_environmental_get`) - `GET /environmental/latest?penId=` — latest instantaneous reading (`get_environmental_latest_all_pens_environmental_latest_get`) ## Artifacts - [Authentication profile](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/authentication/aquabyte-authentication.yml) - [API conventions](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/conventions/aquabyte-conventions.yml) - [Error catalog](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/errors/aquabyte-problem-types.yml) - [Data model](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/data-model/aquabyte-data-model.yml) - [Lifecycle and deprecation](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/lifecycle/aquabyte-lifecycle.yml) - [Rate limits](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/rate-limits/aquabyte-rate-limits.yml) - [Conformance](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/conformance/aquabyte-conformance.yml) - [Agentic access contracts](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/agentic-access/aquabyte-agentic-access.yml) - [Agent skills](https://raw.githubusercontent.com/api-evangelist/aquabyte/refs/heads/main/skills/_index.yml) ## Company - [Website](https://www.aquabyte.ai/) - [Customer portal login](https://app.aquabyte.ai/login) - [Contact](https://www.aquabyte.ai/contact) - [GitHub organization](https://github.com/aquabyte-new) - [Terms](https://www.aquabyte.ai/terms) - [Privacy policy](https://www.aquabyte.ai/privacy-policy) ## Not published Aquabyte publishes no client SDKs (npm, PyPI, RubyGems, crates.io, Packagist all searched 2026-08-06), no CLI, no Postman collection, no sandbox or test data, no webhooks or AsyncAPI, no MCP server, no A2A agent card, no status page, no dated changelog, no security.txt and no trust centre. The API is poll-only.