> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datadocked.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Make your first API request

## Get Your API Key

<Steps>
  <Step title="Sign up">
    Create an account at [datadocked.com/signup](https://datadocked.com/signup)
  </Step>

  <Step title="Get your key">
    Find your API key in your [dashboard](https://datadocked.com/dashboard/my_keys)
  </Step>
</Steps>

***

## Track a Vessel

Get the real-time location of any vessel using its IMO or MMSI number.

<Tabs>
  <Tab title="cURL">
    ```bash theme={null}
    curl -X GET "https://datadocked.com/api/vessels_operations/get-vessel-location?imo_or_mmsi=9247431" \
      -H "x-api-key: YOUR_API_KEY"
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    import requests

    response = requests.get(
        "https://datadocked.com/api/vessels_operations/get-vessel-location",
        params={"imo_or_mmsi": "9247431"},
        headers={"x-api-key": "YOUR_API_KEY"}
    )

    vessel = response.json()["detail"]
    print(f"Vessel: {vessel['name']}")
    print(f"Position: {vessel['latitude']}, {vessel['longitude']}")
    print(f"Speed: {vessel['speed']} knots")
    print(f"Destination: {vessel['destination']}")
    ```
  </Tab>

  <Tab title="JavaScript">
    ```javascript theme={null}
    const response = await fetch(
      "https://datadocked.com/api/vessels_operations/get-vessel-location?imo_or_mmsi=9247431",
      { headers: { "x-api-key": "YOUR_API_KEY" } }
    );

    const { detail: vessel } = await response.json();
    console.log(`Vessel: ${vessel.name}`);
    console.log(`Position: ${vessel.latitude}, ${vessel.longitude}`);
    console.log(`Speed: ${vessel.speed} knots`);
    ```
  </Tab>

  <Tab title="Go">
    ```go theme={null}
    req, _ := http.NewRequest("GET",
        "https://datadocked.com/api/vessels_operations/get-vessel-location?imo_or_mmsi=9247431",
        nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
    ```
  </Tab>
</Tabs>

### Response

```json theme={null}
{
  "detail": {
    "name": "REGAL_I",
    "imo": "9247431",
    "mmsi": "655919000",
    "latitude": "33.384193",
    "longitude": "128.03142",
    "speed": "1.1",
    "course": "91",
    "heading": "89",
    "destination": "Suez canal Egypt",
    "navigationalStatus": "Underway using Engine",
    "positionReceived": "Jan 04, 2026 04:15 UTC",
    "dataSource": "Satellite"
  }
}
```

***

## Check Your Credits

```bash theme={null}
curl "https://datadocked.com/api/vessels_operations/my-credits" \
  -H "x-api-key: YOUR_API_KEY"
```

Response:

```json theme={null}
{
  "detail": "99929 credits left."
}
```

***

## Common Endpoints

<CardGroup cols={2}>
  <Card title="Vessel Location" icon="location-dot" href="/api-reference/vessel/get-vessel-location">
    **1 credit** - Real-time position
  </Card>

  <Card title="Full Vessel Info" icon="ship" href="/api-reference/vessel/get-vessel-info">
    **5 credits** - Complete vessel profile
  </Card>

  <Card title="Port Calls" icon="anchor" href="/api-reference/port/port-calls-by-vessel">
    **1 credit** - Port history
  </Card>

  <Card title="Bulk Search" icon="magnifying-glass" href="/api-reference/vessel/get-vessels-location-bulk">
    **1 credit/vessel** - Up to 50 vessels
  </Card>
</CardGroup>

***

## Finding Vessel Identifiers

### Search by Name

```bash theme={null}
curl "https://datadocked.com/api/vessels_operations/vessels-by-vessel-name?name=EVER_GIVEN" \
  -H "x-api-key: YOUR_API_KEY"
```

<Note>
  Replace spaces in vessel names with underscores: `EVER GIVEN` → `EVER_GIVEN`
</Note>

### Response

```json theme={null}
{
  "total": 1,
  "items": [
    {
      "name": "EVER GIVEN",
      "imo": "9811000",
      "mmsi": "353136000",
      "country": "Panama",
      "type": "Container Ship"
    }
  ]
}
```

***

## Download API Specs

<CardGroup cols={2}>
  <Card title="OpenAPI Spec" icon="file-code" href="/api-reference/openapi.json">
    OpenAPI 3.1 JSON schema
  </Card>

  <Card title="Postman Collection" icon="rocket" href="/api-reference/postman-collection.json">
    Import directly into Postman
  </Card>
</CardGroup>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Explore all 14 endpoints
  </Card>

  <Card title="SDKs" icon="puzzle-piece" href="/sdks">
    Integration examples in multiple languages
  </Card>

  <Card title="Use Cases" icon="lightbulb" href="/use-cases">
    See how companies use the API
  </Card>

  <Card title="Credits" icon="coins" href="/essentials/credits">
    Understand pricing
  </Card>
</CardGroup>
