---
title: "Vessel classification society data"
method: GET
path: "/api/maritime_reports/class_society"
tags: ["Add-ons - Classification"]
---

# Vessel classification society data

`GET /api/maritime_reports/class_society`

## Request

- Base URL: `https://api.datalastic.com`
- URL: `https://api.datalastic.com/api/maritime_reports/class_society`
- Auth: one of:
  - API key in header `x-api-key`
  - API key in query parameter `api-key`
- TypeScript: <https://skmtc.dev/datalastic/apis/datalastic-maritime-api/docs/api/maritime_reports/class_society/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns class society code, survey and dry dock dates, full structural
dimensions (LOA, LBP, beam, depth), engine builder/designer, and
owner/manager references.

Set `fuzzy=1` for approximate name matching (e.g. "Erica" also matches
"Eric").

**Credit cost:** 1 per record returned. Requires an Add-Ons plan tier.

For a **bulk export**, POST to `/api/v0/report` with
`report_type: class_society`. Bulk reports cost 2,000 credits each.

## Query parameters

- `imo` string
- `name` string
- `fuzzy` 0 | 1
- `beneficial_owner` string
- `beneficial_owner_imo` string
- `technical_manager` string
- `technical_manager_imo` string
- `updated_from` string, date

## Response `200`

Matching classification society records.

- object
  - `data` ClassSociety[]
    - `imo` string
    - `vessel_name` string
    - `vessel_type_code` string
    - `flag_name` string, nullable
    - `built_year` string
    - `dwt_design` integer, nullable
    - `special_survey_date` string, date, nullable
    - `dry_dock_date` string, date, nullable
    - `class1_code` string, nullable: Classification society code (e.g. ABS, LR, DNV).
    - `beneficial_owner_imo` string, nullable
    - `beneficial_owner` string, nullable
    - `technical_manager_imo` string, nullable
    - `technical_manager` string, nullable
    - `draft_design` number, nullable: Design draught in metres.
    - `nt` integer, nullable: Net tonnage.
    - `gt` integer, nullable: Gross tonnage.
    - `loa` number, nullable: Length overall in metres.
    - `lbp` number, nullable: Length between perpendiculars in metres.
    - `depth` number, nullable: Moulded depth in metres.
    - `beam_moduled` number, nullable: Moulded beam in metres.
    - `engine_builder` string, nullable
    - `engine_designer` string, nullable
    - `propulsion_type_code` string, nullable
    - `modified_at` string, date-time
  - `meta` Meta
    - `duration` number, float: Server-side query time in seconds.
    - `endpoint` string
    - `success` boolean
    - `next` string: Pagination token. Present on paginated endpoints (`/vessel_find`) only when more results exist. Pass it back as the `next` query parameter to fetch the following page.

## Other responses

- `400`: Missing required parameter or invalid parameter value.
- `401`: Invalid or expired API key.
- `402`: API key is valid but the credit balance is exhausted or the subscription has expired. Purchase more credits to continue.
- `404`: Requested vessel, port, or resource was not found. No credits deducted.
- `429`: More than 600 API calls in a single minute. The response carries a `Retry-After` header with the wait in seconds. Use it for backoff.
- `500`: Server-side error. Retry the request.

## Changes

- **2026-09-08** `a29cf323d1c3`: 1 warning, 7 info
  - deleted the `query` request parameter `api-key`
  - added the media type `application/json` for the response with the status `401`
  - added the non-success response with the status `400`
  - added the non-success response with the status `402`
  - …4 more

[Operation history](https://skmtc.dev/datalastic/apis/datalastic-maritime-api/changes/api/maritime_reports/class_society/get.md)

---

[API](https://skmtc.dev/datalastic/apis/datalastic-maritime-api.md) - [All operations](https://skmtc.dev/datalastic/apis/datalastic-maritime-api/llms.txt) - [OpenAPI document](https://skmtc.dev/datalastic/apis/datalastic-maritime-api/revisions/2097cdbffcb4?raw)
