Skip to main content
Below describes an example workflow of API calls that can be made in order to submit a Bulk Enhance request and retrieve results using the Ping.Data API. Reach for this workflow when one of the following is true:
  • You have many addresses to enrich at once and want a single batch job rather than one HTTP call per address.
  • You want asynchronous processing: submit once, poll for completion, and download a single output file containing all results.
  • You want to mix data sources (e.g., Ping Geocoding PG, Ping Hazard PH) across a batch, optionally overriding sources on a per-location basis.
For a single address where you want enriched data returned synchronously in the HTTP response, use Enhance One Location instead. The following is a specific example. More options are documented in the Bulk Enhance pages linked below under Ping.Data. The code blocks allow the user to select from Python or cURL (via terminal) use cases. The sample Python script is available for download at the bottom of the page. Try filling in the blanks (e.g., {id}) to go through the workflow using cURL!

1. Start Bulk Enhance Job

The first API call to make is Start Bulk Enhance Job. This endpoint allows a user to submit a batch of locations to Ping for enhancement. sources accepts datasource codes (e.g., PG, PH) from List Datasources, which returns the datasources your account has access to along with each one’s input requirements and geographic coverage. Example code:
enhance_multiple_locations.py
Example response:
Python output

2. Check Bulk Enhance Job Status

The second API call to make is Check Bulk Enhance Job Status. This endpoint allows a user to check the status of a previously submitted Bulk Enhance job using the id returned from the first step. The user should poll this endpoint until the job status is either COMPLETE or FAILED. Example code:
enhance_multiple_locations.py
Example (truncated) response:
Python output

3. Fetch Bulk Enhance Job Result Data

The third API call is Fetch Bulk Enhance Job Result Data. This endpoint allows a user to download the resultant file for a completed Bulk Enhance job using the id and filename returned from the previous step. Example code:
enhance_multiple_locations.py
Example response:
Python output

Python Demo

Download a ready-to-run Python demo of this workflow here:                                   Download Python Script here
enhance_multiple_locations.py