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

# Standard Bundle

> All 18 natural topics for one location. Costs 15 credits.

Returns every natural topic for a location in a single call — coastal flood, riverine flood, cold wave, drought, earthquake, hail, heat wave, hurricane, ice storm, landslide, lightning, strong wind, tornado, tsunami, volcanic activity, winter weather, and wildfire.

Requires the `bundle` scope.

<ParamField query="lat" type="number" required>
  Latitude in decimal degrees. US locations only.
</ParamField>

<ParamField query="lng" type="number" required>
  Longitude in decimal degrees. US locations only.
</ParamField>

### Response

<ResponseField name="data.topics" type="object">
  Map of topic slug to that topic's result. Each entry has `value`, `details`, and optionally `error`.

  All 17 topics in this bundle are NRI-backed, so `value` is consistently an object with `title`, `rating`, `score`, and `frequency`.
</ResponseField>

<ResponseField name="meta.credit_cost" type="number">
  Always `15` on success, `0` on failure.
</ResponseField>

<Warning>
  **Check for per-topic errors.** A topic can fail individually while the
  request as a whole succeeds. Look for an `error` field on each topic before
  reading `value`. The request is still charged in full.
</Warning>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.areahub.com/v1/bundle/standard?lat=40.71&lng=-74.00" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  r = requests.get(
      "https://api.areahub.com/v1/bundle/standard",
      params={"lat": 40.71, "lng": -74.00},
      headers={"X-API-Key": YOUR_API_KEY},
  )
  topics = r.json()["data"]["topics"]

  for slug, topic in topics.items():
      if topic.get("error"):
          print(f"{slug}: unavailable")
          continue
      print(f"{slug}: {topic['value']['rating']}")
  ```

  ```javascript Node.js theme={null}
  const res = await fetch(
    "https://api.areahub.com/v1/bundle/standard?lat=40.71&lng=-74.00",
    { headers: { "X-API-Key": process.env.YOUR_API_KEY } },
  );

  const { data } = await res.json();

  for (const [slug, topic] of Object.entries(data.topics)) {
    if (topic.error) continue;
    console.log(slug, topic.value.rating);
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response (truncated) theme={null}
  {
    "data": {
      "location": { "lat": 40.71, "lng": -74.0 },
      "topics": {
        "coastalFlood": {
          "value": {
            "title": "Coastal Floods",
            "rating": "Relatively High",
            "score": 71.2,
            "frequency": 0.44
          },
          "details": null
        },
        "earthquake": {
          "value": {
            "title": "Earthquakes",
            "rating": "Relatively Low",
            "score": 18.9,
            "frequency": 0.02
          },
          "details": {}
        },
        "wildfire": {
          "value": {
            "title": "Wildfires",
            "rating": "No Rating",
            "score": 0,
            "frequency": 0
          },
          "details": {}
        },
        ...
      }
    },
    "meta": {
      "request_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "timestamp": "2026-07-14T16:31:55.009Z",
      "credit_cost": 15
    }
  }
  ```
</ResponseExample>
