positionstack website screenshot

positionstack

Forward and Reverse Batch Geocoding REST API by positionstack (an apilayer product, owned by Idera, Inc.). Convert addresses to coordinates and coordinates to addresses across 2+ billion global places, with optional data modules for country, timezone, sun, and bounding-box enrichment.

1 APIs 13 Features
GeocodingReverse GeocodingMapsLocationAddress ValidationapilayerPublic APIs

APIs

positionstack Geocoding API

REST API providing forward geocoding (address to coordinates), reverse geocoding (coordinates to address), and batch lookups, with optional enrichment modules for country, timez...

Collections

positionstack

POSTMAN

Arazzo Workflows

positionstack Geocode with Confidence Branch

Forward geocode an address and branch on the match confidence to either enrich or re-verify the result.

ARAZZO

positionstack Geocode Roundtrip

Forward geocode an address, then reverse geocode the resulting coordinates to verify the match.

ARAZZO

positionstack Reverse Geocode Enriched Place Profile

Reverse geocode a coordinate pair with country, timezone, and sun modules to build a full place profile.

ARAZZO

Pricing Plans

Rate Limits

Positionstack Rate Limits

0 limits

RATE LIMITS

FinOps

Features

Forward Geocoding

Convert addresses, place names, and postal codes into geographic coordinates.

Reverse Geocoding

Convert latitude/longitude coordinates into structured address data.

Batch Geocoding

Run up to 80 forward or reverse lookups per request (Professional plan and above).

Multiple Output Formats

Responses available in JSON, XML, and GeoJSON.

Embeddable Maps

Each result includes a `map_url` that can be embedded via iFrame.

Multi-Language Results

Localize results in multiple languages via the `language` parameter.

Country Module

Optional enrichment adding ISO codes, currency, languages, flag, dial code, and area.

Timezone Module

Optional enrichment with IANA timezone, GMT offset, abbreviation, and DST status.

Sun Module

Optional enrichment with sunrise, sunset, and solar transit times.

BBox Module

Optional enrichment with bounding box coordinates per result.

2+ Billion Places

Global coverage across 2+ billion addresses and places.

99.9% Uptime

Average reported availability across forward, reverse, and batch endpoints.

Overage Notifications

Email and dashboard alerts at 75%, 90%, and 100% of monthly quota.

Use Cases

Address Autocomplete

Power address autocomplete and validation in signup or checkout flows.

Fleet & Asset Tracking

Resolve GPS coordinates from vehicles, IoT devices, or pet trackers into addresses.

Store Locator

Geocode user-entered addresses to find nearest stores or service centers.

Logistics & Delivery

Cleanse and standardize delivery addresses across bulk shipment manifests.

Real Estate Listings

Map property listings by geocoding street addresses.

Market Analysis

Enrich CRM records with geographic, country, and timezone data.

Weather & Local Services

Pair coordinates with weather APIs (e.g. weatherstack) for hyper-local services.

Integrations

weatherstack

Sibling apilayer API providing weather data for resolved coordinates.

ipstack

Sibling apilayer API offering IP geolocation that pairs with positionstack lookups.

streetlayer

Sibling apilayer API for address verification and autocomplete.

Mapbox / Leaflet / OpenStreetMap

Display positionstack results on third-party map libraries via the embeddable `map_url`.

Power BI / Tableau / Excel

Bulk-enrich spreadsheet data with coordinates via the batch endpoint.

Solutions

Free / Hobbyist

100 requests/month, personal use, JSON output, no HTTPS.

Basic

100k req/mo, $9.99/mo, HTTPS, multi-format, commercial license.

Professional

1M req/mo, $49.99/mo, batch endpoint enabled.

Business

3M req/mo, $99.99/mo.

Enterprise / Platinum

Custom volume + SLA + dedicated account team.

Semantic Vocabularies

Positionstack Context

21 classes · 6 properties

JSON-LD

API Governance Rules

positionstack API Rules

8 rules · 3 errors 4 warnings 1 info

SPECTRAL

JSON Structure

Positionstack Location Structure

0 properties

JSON STRUCTURE

Example Payloads

Positionstack Error Example

2 fields

EXAMPLE

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Website
Website
🌐
Portal
Portal
📝
Signup
Signup
💰
Pricing
Pricing
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
📰
Blog
Blog
🟢
StatusPage
StatusPage
💬
Support
Support
💬
FAQ
FAQ
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
PublicAPIsListing
PublicAPIsListing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: positionstack
  version: 1.0.0
request:
  auth:
    type: apikey
    key: access_key
    value: '{{access_key}}'
    placement: query
items:
- info:
    name: Forward Geocoding
    type: folder
  items:
  - info:
      name: Forward Geocode an Address
      type: http
    http:
      method: GET
      url: https://api.positionstack.com/v1/forward
      params:
      - name: access_key
        value: ''
        type: query
        description: Your positionstack API access key.
      - name: query
        value: 1600 Pennsylvania Ave NW, Washington DC
        type: query
        description: 'The address, place name, or location string to geocode. To run a batch

          request, pass multiple comma-separated queries (Professional plan and above).

          '
      - name: country
        value: US,CA
        type: query
        description: 'Filter results to one or more ISO 3166 alpha-2 country codes (comma separated).

          '
      - name: region
        value: California
        type: query
        description: Filter results by region or state name.
      - name: bbox
        value: -74.2591,40.4774,-73.7004,40.9176
        type: query
        description: 'Bounding box filter as `min_lon,min_lat,max_lon,max_lat` to restrict the

          geographic area of the search.

          '
      - name: limit
        value: ''
        type: query
        description: Maximum number of results returned. Defaults to 10, maximum 80.
      - name: language
        value: en
        type: query
        description: Two-letter ISO 639-1 language code for localized results.
      - name: fields
        value: ''
        type: query
        description: 'Comma-separated whitelist of fields to include in the response (e.g. `results.latitude,results.longitude`).

          Defaults to all fields.

          '
      - name: output
        value: ''
        type: query
        description: Response output format.
      - name: callback
        value: ''
        type: query
        description: JSONP callback function name (JSON output only).
      - name: country_module
        value: ''
        type: query
        description: 'Set to `1` to enrich results with country-level data such as ISO codes,

          capital, population, currency, language, flag URLs, and dial code.

          '
      - name: sun_module
        value: ''
        type: query
        description: 'Set to `1` to enrich results with sunrise, sunset, and solar transit times

          for the location.

          '
      - name: timezone_module
        value: ''
        type: query
        description: 'Set to `1` to enrich results with timezone name, abbreviation, GMT offset,

          and DST status.

          '
      - name: bbox_module
        value: ''
        type: query
        description: 'Set to `1` to include the bounding box coordinates of each returned result.

          '
    docs: 'Convert one or more location strings (street, city, place name, postal code)

      into geographic coordinates and structured address data. Supply one or more

      comma-separated queries to perform a batch request (Professional plan and above).

      '
- info:
    name: Reverse Geocoding
    type: folder
  items:
  - info:
      name: Reverse Geocode Coordinates
      type: http
    http:
      method: GET
      url: https://api.positionstack.com/v1/reverse
      params:
      - name: access_key
        value: ''
        type: query
        description: Your positionstack API access key.
      - name: query
        value: 40.7638435,-73.9729691
        type: query
        description: 'Latitude and longitude coordinate pair as a comma-separated string

          ("LAT,LON"). For batch reverse lookups, separate multiple pairs with

          a semicolon (Professional plan and above).

          '
      - name: country
        value: US,CA
        type: query
        description: 'Filter results to one or more ISO 3166 alpha-2 country codes (comma separated).

          '
      - name: region
        value: California
        type: query
        description: Filter results by region or state name.
      - name: limit
        value: ''
        type: query
        description: Maximum number of results returned. Defaults to 10, maximum 80.
      - name: language
        value: en
        type: query
        description: Two-letter ISO 639-1 language code for localized results.
      - name: fields
        value: ''
        type: query
        description: 'Comma-separated whitelist of fields to include in the response (e.g. `results.latitude,results.longitude`).

          Defaults to all fields.

          '
      - name: output
        value: ''
        type: query
        description: Response output format.
      - name: callback
        value: ''
        type: query
        description: JSONP callback function name (JSON output only).
      - name: country_module
        value: ''
        type: query
        description: 'Set to `1` to enrich results with country-level data such as ISO codes,

          capital, population, currency, language, flag URLs, and dial code.

          '
      - name: sun_module
        value: ''
        type: query
        description: 'Set to `1` to enrich results with sunrise, sunset, and solar transit times

          for the location.

          '
      - name: timezone_module
        value: ''
        type: query
        description: 'Set to `1` to enrich results with timezone name, abbreviation, GMT offset,

          and DST status.

          '
      - name: bbox_module
        value: ''
        type: query
        description: 'Set to `1` to include the bounding box coordinates of each returned result.

          '
    docs: 'Convert one or more latitude/longitude coordinate pairs into structured

      address data. Supply one or more semicolon-separated coordinate pairs

      (or comma-separated batched queries) to perform a batch request

      (Professional plan and above).

      '
bundled: true