positionstack · Arazzo Workflow

positionstack Geocode Roundtrip

Version 1.0.0

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

1 workflow 2 source APIs 1 provider
View Spec View on GitHub GeocodingReverse GeocodingMapsLocationAddress ValidationAPILayerPublic APIsArazzoWorkflows

Provider

positionstack

Workflows

geocode-roundtrip
Forward geocode an address and reverse geocode the coordinates it returns.
Resolves a free-form address string to coordinates with forward geocoding, captures the best match's latitude and longitude, and then reverse geocodes those coordinates to obtain the canonical address label for verification.
2 steps inputs: accessKey, country, query outputs: forwardConfidence, forwardLabel, latitude, longitude, reverseDistance, reverseLabel
1
forwardLookup
Forward geocode the supplied address string and capture the best result's coordinates, confidence, and formatted label.
2
reverseVerify
Reverse geocode the latitude/longitude returned by the forward lookup to retrieve the canonical address label for comparison with the original input.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: positionstack Geocode Roundtrip
  summary: Forward geocode an address, then reverse geocode the resulting coordinates to verify the match.
  description: >-
    A geocoding roundtrip that converts a free-form address into coordinates and
    then converts those coordinates back into a structured address. The first
    step resolves the supplied query string into a latitude/longitude pair and a
    confidence score, and the second step feeds those coordinates straight back
    into reverse geocoding so the canonical, normalized label can be compared
    against the original input. Every step spells out its request inline -
    including the access_key query parameter required by the API - so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: forwardGeocodingApi
  url: ../openapi/positionstack-forward-geocoding-api-openapi.yml
  type: openapi
- name: reverseGeocodingApi
  url: ../openapi/positionstack-reverse-geocoding-api-openapi.yml
  type: openapi
workflows:
- workflowId: geocode-roundtrip
  summary: Forward geocode an address and reverse geocode the coordinates it returns.
  description: >-
    Resolves a free-form address string to coordinates with forward geocoding,
    captures the best match's latitude and longitude, and then reverse geocodes
    those coordinates to obtain the canonical address label for verification.
  inputs:
    type: object
    required:
    - accessKey
    - query
    properties:
      accessKey:
        type: string
        description: Your positionstack API access key.
      query:
        type: string
        description: The address, place name, or location string to geocode (e.g. "1600 Pennsylvania Ave NW, Washington DC").
      country:
        type: string
        description: Optional ISO 3166 alpha-2 country code filter to constrain the forward lookup (e.g. "US").
  steps:
  - stepId: forwardLookup
    description: >-
      Forward geocode the supplied address string and capture the best result's
      coordinates, confidence, and formatted label.
    operationId: forwardGeocode
    parameters:
    - name: access_key
      in: query
      value: $inputs.accessKey
    - name: query
      in: query
      value: $inputs.query
    - name: country
      in: query
      value: $inputs.country
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latitude: $response.body#/data/0/latitude
      longitude: $response.body#/data/0/longitude
      forwardLabel: $response.body#/data/0/label
      forwardConfidence: $response.body#/data/0/confidence
  - stepId: reverseVerify
    description: >-
      Reverse geocode the latitude/longitude returned by the forward lookup to
      retrieve the canonical address label for comparison with the original
      input.
    operationId: reverseGeocode
    parameters:
    - name: access_key
      in: query
      value: $inputs.accessKey
    - name: query
      in: query
      value: $steps.forwardLookup.outputs.latitude,$steps.forwardLookup.outputs.longitude
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      reverseLabel: $response.body#/data/0/label
      reverseDistance: $response.body#/data/0/distance
      country: $response.body#/data/0/country
  outputs:
    latitude: $steps.forwardLookup.outputs.latitude
    longitude: $steps.forwardLookup.outputs.longitude
    forwardLabel: $steps.forwardLookup.outputs.forwardLabel
    forwardConfidence: $steps.forwardLookup.outputs.forwardConfidence
    reverseLabel: $steps.reverseVerify.outputs.reverseLabel
    reverseDistance: $steps.reverseVerify.outputs.reverseDistance

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/positionstack-geocode-roundtrip-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.