Skip to main content
Below describes an example workflow of API calls that can be made in order to process an SOV and retrieve results using the Ping.Extraction API. Reach for this workflow when one of the following is true:
  • You have a new Excel SOV that needs to be parsed for the first time.
  • You need structured building data — addresses, limits, construction details, custom columns — extracted from the workbook.
  • You want to request one or more output formats up front (e.g., json, auditor) and have them generated in a single job.
  • You want third-party data integrations (e.g., Ping Geocoding PG, Ping Hazard PH) applied at parse time so they appear in the output.
If the SOV is already parsed and you only need a different output format or a regenerated copy, use Get or Create an SOV Output instead — it reuses the parsed result rather than re-parsing the source file. If the SOV is already parsed and you need to update building attributes or regenerate outputs with revised data, see Update an SOV. The following is a specific example, there are more options available to the user that are documented in the Parse SOVs pages under Ping.Extraction. The code blocks allow the user to select from Python or cURL (via terminal) use cases. If you have already parsed an SOV and need to apply corrections or refresh enrichments, see Update an SOV instead. The sample SOV and Python script are both 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 SOV Parsing Job

The first API call to make is Start SOV Parsing Job. This endpoint allows the user to submit an Excel file to Ping servers to be parsed as an SOV. To see which output_formats your organization can request, call List Available Output Formats. The integrations field accepts datasource codes (e.g., PG, PH) from List Datasources, which returns the datasources your account has access to. Supplying a format or integration not enabled for your organization causes the request to fail. Example code:
parse_sov.py
Example response:
Python output

2. Check SOV Parsing Status

The second API call to make is Check SOV Parsing Job. This endpoint allows the user to check the status of the SOV parsing job by providing the SOV ID generated in step 1 into the API path parameter. E.g., https://api.sovfixer.com/api/v1/sov/s-pl-ping-21nyms3 Example code:
parse_sov.py
Example response:
Python output

3. Fetch Outputs of SOV Parsing Job

The third API call to make is Fetch Outputs of SOV Parsing Job. This endpoint allows the user to receive the contents of the completed SOV parsing job by providing the SOV ID generated in step 1 and the output filename generated in step 2 into the API path parameter. E.g., https://api.sovfixer.com/api/v1/sov/s-pl-ping-21nyms3/output/parse_sov_testfile.json Example code:
parse_sov.py
Example response:
Python output

Python Demo

                     Download Python Script here ||| Download Example SOV here
parse_sov.py