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

# Data

> Endpoints for Locus port volumes, container throughput, and TEU trends — including year-over-year comparisons and vessel call activity by US port.

## `GET` `/api/ports`

Container and cargo volume data for US ports. Includes TEU throughput, year-over-year trends, and vessel calls.

**Query parameters**

| Name        | Type   | Required | Default | Description                                                 |
| ----------- | ------ | -------- | ------- | ----------------------------------------------------------- |
| `port_slug` | string | ✓        |         | Port slug (e.g. la-lb, savannah, houston, newark, oakland). |
| `months`    | int    |          | `12`    | Months of historical data.                                  |

**Example**

```bash theme={null}
curl "https://axiomlocus.io/api/ports?port_slug=la-lb&months=6"
```

**Response**

```json theme={null}
{
  "port_slug": "la-lb",
  "port_name": "Port of Los Angeles / Long Beach",
  "latest_teu": 892000,
  "yoy_change_pct": 8.4,
  "monthly": [
    { "month": "2026-03", "teu": 892000, "vessel_calls": 142 },
    { "month": "2026-02", "teu": 845000, "vessel_calls": 138 },
    { "month": "2026-01", "teu": 801000, "vessel_calls": 131 }
  ]
}
```

| Field                    | Type  | Description                                                   |
| ------------------------ | ----- | ------------------------------------------------------------- |
| `latest_teu`             | int   | Most recent month's TEU (twenty-foot equivalent unit) volume. |
| `yoy_change_pct`         | float | Year-over-year percentage change.                             |
| `monthly`                | array | Monthly volume breakdown.                                     |
| `monthly[].vessel_calls` | int   | Number of vessel arrivals that month.                         |

## `GET` `/api/construction`

Satellite-detected construction activity in a metro. Uses change detection on Sentinel-2 imagery to identify active sites.

**Query parameters**

| Name            | Type   | Required | Default | Description                          |
| --------------- | ------ | -------- | ------- | ------------------------------------ |
| `metro_slug`    | string | ✓        |         | Metro slug.                          |
| `days`          | int    |          | `30`    | Lookback window in days.             |
| `min_area_sqft` | int    |          | `5000`  | Minimum detected site area in sq ft. |

**Example**

```bash theme={null}
curl "https://axiomlocus.io/api/construction?metro_slug=austin&days=60"
```

**Response**

```json theme={null}
{
  "metro": "austin",
  "days": 60,
  "total_detections": 34,
  "detections": [
    {
      "h3_index": "882a107a0bfffff",
      "center_lat": 30.2672,
      "center_lng": -97.7431,
      "estimated_area_sqft": 45000,
      "confidence": 0.91,
      "first_detected": "2026-02-15",
      "last_detected": "2026-03-28",
      "nearest_permit_id": "P-2025-9876"
    }
  ]
}
```

| Field                              | Type   | Description                                   |
| ---------------------------------- | ------ | --------------------------------------------- |
| `total_detections`                 | int    | Number of detected active construction sites. |
| `detections[].estimated_area_sqft` | int    | Estimated site footprint in square feet.      |
| `detections[].confidence`          | float  | Detection confidence score (0-1).             |
| `detections[].nearest_permit_id`   | string | Cross-referenced building permit if matched.  |
