# Get Predicted Impact Area

Most teams start with a fixed radius when scoping events around a location. The problem is that the distance over which events influence demand varies - by industry, by location type, and by how people actually move in that area. A radius that works in one market will miss impact or introduce noise in another.

Predicted Impact Area returns a location and industry-specific boundary that reflects where event-driven demand impact actually occurs. Boundaries are calibrated against real demand and event data across industries and geographies.

Use it as the spatial input for Events API queries, Features API calls, and Beam. Getting scope right at this step improves the quality of everything downstream.

{% hint style="info" %}
Predicted Impact Area is the successor to the Suggested Radius API. It provides a more accurate representation of event impact than a radius-based approach.
{% endhint %}

### Using Predicted Impact Area

The recommended approach is to use Saved Locations. When you create a location using `origin_geojson` without specifying a `geojson` area, Predicted Impact Area is calculated automatically and stored against that location. You can then use the `location_id` across all PredictHQ APIs - Events, Features, and Beam - without needing to manage the boundary yourself.

Polygon-based filtering across PredictHQ APIs requires a saved location. To use a Predicted Impact Area boundary in API queries, create a saved location first and reference it by `location_id`.

## Get Impact Area

> Returns an impact area GeoJSON (Polygon or Point with radius) for the given location and industry.

````json
{"openapi":"3.1.0","info":{"title":"PredictHQ Impact Area API","version":"1.0.0"},"tags":[{"name":"Impact Area API"}],"servers":[{"url":"https://api.predicthq.com"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"$API_KEY","description":"Enter your PredictHQ API key. The Bearer prefix is added automatically.\n\nWhen calling the API directly, send: `Authorization: Bearer <YOUR_API_KEY>` as documented at [https://docs.predicthq.com/api/overview/authenticating](https://docs.predicthq.com/api/overview/authenticating)\n"}},"schemas":{"Industry":{"type":"string","enum":["parking","restaurants","retail","accommodation","cpg","tourism","marketing","transportation","other"],"title":"Industry"},"AreaType":{"type":"string","enum":["polygon","radius"],"title":"AreaType"},"RadiusUnit":{"description":"The unit of the radius returned.\n\nThis will be the unit specified in the radius_unit parameter in the call made.","type":"string","enum":["m","km","ft","mi"],"title":"RadiusUnit"},"PredictedAreaResponse":{"type":"object","properties":{"location":{"description":"Origin location","$ref":"#/components/schemas/LocationResponse"},"warnings":{"description":"Warnings about the response","type":"array","items":{"type":"string"},"title":"Warnings"},"geojson":{"description":"GeoJSON Feature with predicted area geometry","$ref":"#/components/schemas/GeoJsonFeature"}},"required":["location","geojson"],"title":"PredictedAreaResponse"},"LocationResponse":{"description":"A json object representing the geo location of the event.\n\nE.g.:\n```json\n{\n  \"lat\": \"37.747767\",\n  \"lon\": \"-122.455320\"\n}\n```","type":"object","properties":{"lat":{"description":"Latitude of the location","type":"string","title":"Lat"},"lon":{"description":"Longitude of the location","type":"string","title":"Lon"}},"required":["lat","lon"],"title":"Location"},"GeoJsonFeature":{"type":"object","properties":{"type":{"description":"GeoJSON type identifier","type":"string","default":"Feature","const":"Feature","title":"Type"},"properties":{"description":"Feature properties, including radius details for Point geometries","anyOf":[{"$ref":"#/components/schemas/RadiusProperties"},{"type":"null"}]},"geometry":{"description":"The GeoJSON geometry (Point, Polygon, or MultiPolygon)","discriminator":{"propertyName":"type","mapping":{"MultiPolygon":"#/components/schemas/MultiPolygon","Point":"#/components/schemas/Point","Polygon":"#/components/schemas/Polygon"}},"oneOf":[{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"}],"title":"Geometry"}},"required":["geometry"],"title":"GeoJsonFeature"},"RadiusProperties":{"type":"object","properties":{"radius":{"description":"The radius value in the specified radius_unit","anyOf":[{"type":"number"},{"type":"null"}],"title":"Radius"},"radius_unit":{"description":"The unit of measurement for the radius","anyOf":[{"$ref":"#/components/schemas/RadiusUnit"},{"type":"null"}]}},"title":"RadiusProperties"},"Point":{"type":"object","properties":{"type":{"description":"GeoJSON geometry type","type":"string","default":"Point","const":"Point","title":"Type"},"coordinates":{"description":"GeoJSON position as [longitude, latitude]","anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":3,"minItems":3}],"title":"Coordinates"}},"required":["coordinates"],"title":"Point"},"Polygon":{"type":"object","properties":{"type":{"description":"GeoJSON geometry type","type":"string","default":"Polygon","const":"Polygon","title":"Type"},"coordinates":{"description":"Array of linear rings, each being an array of [longitude, latitude] positions","type":"array","items":{"items":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":3,"minItems":3}]},"type":"array"},"title":"Coordinates"}},"required":["coordinates"],"title":"Polygon"},"MultiPolygon":{"type":"object","properties":{"type":{"description":"GeoJSON geometry type","type":"string","default":"MultiPolygon","const":"MultiPolygon","title":"Type"},"coordinates":{"description":"Array of polygon coordinate arrays","type":"array","items":{"items":{"items":{"anyOf":[{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":3,"minItems":3}]},"type":"array"},"type":"array"},"title":"Coordinates"}},"required":["coordinates"],"title":"MultiPolygon"},"HTTPValidationError":{"type":"object","properties":{"error":{"description":"Error summary message","type":"string","title":"Error"},"details":{"description":"List of validation error details","type":"array","items":{"$ref":"#/components/schemas/ValidationErrorDetail"},"title":"Details"}},"required":["error","details"],"title":"HTTPValidationError"},"ValidationErrorDetail":{"type":"object","properties":{"field":{"description":"The field that failed validation","type":"string","title":"Field"},"msg":{"description":"The validation error message","type":"string","title":"Message"},"type":{"description":"The type of validation error","type":"string","title":"Error Type"}},"required":["field","msg","type"],"title":"ValidationErrorDetail"},"ErrorResponse":{"type":"object","properties":{"error":{"description":"Error message","type":"string","title":"Error"}},"required":["error"],"title":"ErrorResponse"}}},"paths":{"/v1/impact-area/":{"get":{"operationId":"get_impact_area","summary":"Get Impact Area","description":"Returns an impact area GeoJSON (Polygon or Point with radius) for the given location and industry.","parameters":[{"name":"industry","in":"query","description":"The industry of interest for which the area will be calculated. For different industries, the area will be different based on the various types of events that would impact the location. For example, if you were getting the impact area around a hotel you'd specify accommodation as the industry.\n\nE.g. `?industry=accommodation`","required":false,"schema":{"default":"other","$ref":"#/components/schemas/Industry"}},{"name":"location.origin","in":"query","description":"A comma-separated string consisting of the latitude and longitude of the location to find the optimal area for. For example your store or hotel location.\n\nThe format is `<latitude>,<longitude>`\n\nE.g. `?location.origin=37.747767,-122.455320`","required":true,"schema":{"type":"string","pattern":"^-?\\d{1,3}(?:\\.\\d+)?,\\-?\\d{1,3}(?:\\.\\d+)?$"}},{"name":"area_type","in":"query","description":"The shape used to represent the returned impact area. Defaults to `polygon`, which returns a GeoJSON Polygon that precisely follows the boundaries of the impact area. Use `radius` for a simpler representation - a GeoJSON Point with a radius property defining a circular impact area.","required":false,"schema":{"default":"polygon","$ref":"#/components/schemas/AreaType"}},{"name":"radius_unit","in":"query","description":"The unit of measurement to be used for the radius if `area_type` is set to `radius`. This can be one of `m` (meters), `km` (kilometers), `ft` (feet), or `mi` (miles).","required":false,"schema":{"default":"m","$ref":"#/components/schemas/RadiusUnit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictedAreaResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded. See [Rate Limiting](https://docs.predicthq.com/api/overview/rate-limits) for details on limits and retry guidance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["Impact Area API"]}}}}
````

## Examples

{% tabs %}
{% tab title="curl" %}

```bash
curl -X GET "https://api.predicthq.com/v1/impact-area/?location.origin=37.747767,-122.455320&industry=parking" \
     -H "Accept: application/json" \
     -H "Authorization: Bearer $ACCESS_TOKEN"
```

{% endtab %}

{% tab title="python" %}

```python
import requests

response = requests.get(
    url="https://api.predicthq.com/v1/impact-area/",
    headers={
      "Authorization": "Bearer $ACCESS_TOKEN",
      "Accept": "application/json"
    },
    params={
        "location.origin": "37.747767,-122.455320",
        "industry": "parking"
    }
)

print(response.json())
```

{% endtab %}
{% endtabs %}

## OpenAPI Spec

The OpenAPI spec for Impact Area API can be [found here](https://api.predicthq.com/docs/?urls.primaryName=Predicted+Impact+Area+API).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.predicthq.com/api/impact-area/get-impact-area.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
