apple_maps_api.models#
Pydantic models for Apple Maps Server API responses.
Model names and field names match Apple’s official API documentation exactly. Docstrings explain what each field represents in familiar terms.
See: https://developer.apple.com/documentation/applemapsserverapi
Classes#
Enum where members are also (and must be) strings |
|
Enum where members are also (and must be) strings |
|
Result type filter for /v1/search. |
|
Result type filter for /v1/searchAutocomplete. |
|
Importance of searchRegion for /v1/search and /v1/searchAutocomplete. |
|
A coordinate pair from Apple Maps API. |
|
Detailed address components of a place. |
|
A rectangular bounding box on a map. |
|
A place returned by geocode, reverseGeocode, or place lookup endpoints. |
|
Extended Place returned by /v1/search with POI category info. |
|
Response from /v1/geocode and /v1/reverseGeocode. |
|
Pagination metadata from /v1/search when enablePagination is true. |
|
Response from /v1/search. |
|
A single autocomplete suggestion from /v1/searchAutocomplete. |
|
Response from /v1/searchAutocomplete. |
|
Response from /v1/token. |
|
Provider-agnostic geocode result. |
Module Contents#
- class apple_maps_api.models.AddressCategory[source]#
Bases:
enum.StrEnumEnum where members are also (and must be) strings
- class apple_maps_api.models.PoiCategory[source]#
Bases:
enum.StrEnumEnum where members are also (and must be) strings
- class apple_maps_api.models.SearchResultType[source]#
Bases:
enum.StrEnumResult type filter for /v1/search.
- class apple_maps_api.models.SearchACResultType[source]#
Bases:
enum.StrEnumResult type filter for /v1/searchAutocomplete.
- class apple_maps_api.models.SearchRegionPriority[source]#
Bases:
enum.StrEnumImportance of searchRegion for /v1/search and /v1/searchAutocomplete.
Apple possible values: default, required.
- class apple_maps_api.models.Location(/, **data: Any)[source]#
Bases:
pydantic.BaseModelA coordinate pair from Apple Maps API.
latitude: north-south position (e.g. 37.334) longitude: east-west position (e.g. -122.009)
- class apple_maps_api.models.StructuredAddress(/, **data: Any)[source]#
Bases:
pydantic.BaseModelDetailed address components of a place.
Apple uses different terminology than most geocoding APIs: - locality = city - administrativeArea = state/province name - administrativeAreaCode = state/province short code (e.g. “NY”) - subAdministrativeArea = county name - postCode = postal/ZIP code - fullThoroughfare = full street address (number + street, e.g. “841 Broadway”) - thoroughfare = street name (e.g. “Broadway”) - subThoroughfare = street/house number (e.g. “841”) - subLocality = neighborhood or area within the city - areasOfInterest = common names for the surrounding area - dependentLocalities = neighborhood names
- class apple_maps_api.models.MapRegion(/, **data: Any)[source]#
Bases:
pydantic.BaseModelA rectangular bounding box on a map.
Expressed as south-west and north-east corners.
- class apple_maps_api.models.Place(/, **data: Any)[source]#
Bases:
pydantic.BaseModelA place returned by geocode, reverseGeocode, or place lookup endpoints.
coordinate: lat/lng of the place formattedAddressLines: human-readable address lines (e.g. [“841 Broadway”, “New York, NY 10003”]) structuredAddress: parsed address components displayMapRegion: suggested map viewport for displaying this place
- structuredAddress: StructuredAddress | None = None[source]#
- class apple_maps_api.models.SearchPlace(/, **data: Any)[source]#
Bases:
PlaceExtended Place returned by /v1/search with POI category info.
poiCategory: point-of-interest category (e.g. Restaurant, MovieTheater). Unknown values from Apple fail validation so we notice and add support.
- poiCategory: PoiCategory | None = None[source]#
- class apple_maps_api.models.PlaceResults(/, **data: Any)[source]#
Bases:
pydantic.BaseModelResponse from /v1/geocode and /v1/reverseGeocode.
results: list of Place objects matching the query
- class apple_maps_api.models.PaginationInfo(/, **data: Any)[source]#
Bases:
pydantic.BaseModelPagination metadata from /v1/search when enablePagination is true.
nextPageToken / prevPageToken: opaque tokens for pageToken on the next request totalPageCount: total pages available totalResults: total matching results
- class apple_maps_api.models.SearchResponse(/, **data: Any)[source]#
Bases:
pydantic.BaseModelResponse from /v1/search.
results: list of SearchPlace objects with optional POI category displayMapRegion: suggested map viewport encompassing all results paginationInfo: present when the request set enablePagination
- results: list[SearchPlace][source]#
- paginationInfo: PaginationInfo | None = None[source]#
- class apple_maps_api.models.AutocompleteResult(/, **data: Any)[source]#
Bases:
pydantic.BaseModelA single autocomplete suggestion from /v1/searchAutocomplete.
completionUrl: relative URL to /v1/search to fetch full details for this suggestion displayLines: raw text lines Apple returns — use completionTitle / completionSubtitle instead location: approximate coordinate of the suggestion structuredAddress: parsed address components if available
- structuredAddress: StructuredAddress | None = None[source]#
- class apple_maps_api.models.SearchAutocompleteResponse(/, **data: Any)[source]#
Bases:
pydantic.BaseModelResponse from /v1/searchAutocomplete.
results: list of autocomplete suggestions
- results: list[AutocompleteResult][source]#
- class apple_maps_api.models.TokenResponse(/, **data: Any)[source]#
Bases:
pydantic.BaseModelResponse from /v1/token.
accessToken: short-lived Bearer token for API requests expiresInSeconds: token lifetime (typically 1800 = 30 minutes)
- class apple_maps_api.models.GeocodeResult(/, **data: Any)[source]#
Bases:
pydantic.BaseModelProvider-agnostic geocode result.
Identical to radar-mapping-api’s GeocodeResult for drop-in replacement. This abstraction allows swapping Apple Maps for Radar without changing consuming code.