Skip to content

Get a satellite image of a parcel

GET
/api/public/v1/properties/{property_id}/parcel-image/
curl --request GET \
--url https://app-api.landinsights.co/api/public/v1/properties/7234891/parcel-image/ \
--header 'Authorization: Bearer <token>'

Returns a satellite image of the parcel with its boundary outlined in blue. The image is framed to fit the whole parcel with a margin on every side, so the full outline — and a little of the neighboring parcels — is visible. Rendered on the same Mapbox satellite imagery the Land Insights app uses.

The image is a 1024×768 JPEG. The response gives an image_url you can open, fetch, embed in a document, or pass to another tool, with the media type in mime_type.

The URL is short-lived, so fetch or embed it promptly; request the endpoint again to get a fresh URL.

Returns 404 (0 tokens) when the property is not found or has no boundary geometry, or 422 (0 tokens) when the parcel’s boundary is too complex to render.

Cost: 30 tokens per image.

property_id
required
integer

Land Insights numeric parcel identifier.

Examples
Example SamplePropertyID

Sample PropertyID

7234891
Media type application/json

A rendered parcel image, returned as a URL the image can be fetched from.

A URL (rather than inline base64) lets you open the image, fetch its bytes, embed it in a document, or hand it to another tool — none of which an inline blob makes easy.

object
property_id
required

The parcel the image is for.

integer
mime_type
required

Media type of the image, e.g. image/jpeg.

string
image_url
required

URL the image can be fetched from. Short-lived, so fetch or embed it promptly; request the endpoint again for a fresh URL.

string format: uri
Example generated
{}

Validation error.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

Missing or invalid credentials.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

A Pro subscription or higher API tier is required.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

Authenticated but not permitted.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

Resource not found.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

Parcel boundary too complex to render.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

Rate limit exceeded.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}

Internal error.

Media type application/json
object
error
required
object
code
required

Stable machine-readable error code. One of: unauthorized, forbidden, subscription_required, tier_upgrade_required, usage_limit_exceeded, usage_backstop_reached, payment_required, validation_error, unprocessable, not_found, method_not_allowed, rate_limited, internal_error.

string
message
required

Human-readable description of the error.

string
request_id
required

Echoes the request’s X-Request-Id (or a server-issued id). Quote it in support requests.

string
details

Present on validation errors only: maps each rejected field to its list of messages.

object
key
additional properties
any
Example generated
{
"error": {
"code": "example",
"message": "example",
"request_id": "example",
"details": {}
}
}