Embedding and Linking

The NASPO state preference repository can be embedded in an iframe on your website using the sample code below. You may adjust the height and width and other attributes of the iframe to meet the needs of the page you are embedding in.

<iframe src="https://reciprocal.naspovaluepoint.org/v1/embed" width="100%" height="1000px" style="border : none;"></iframe>

The embedded application contains no description text to allow flexibility to customize as neccesary for your webpage. If you would like to include the text NASPO provides on its website it is included below:

<p>This Repository provides a complete list of state bidding preferences, describing state requirements for each preference type (preference for in-state/local bidders, sustainable or locally-produced/manufactured commodities, small or diverse/disadvantaged businesses).</p> <p>Please select a state from the dropdown list, or the map below to view a state&rsquo;s preference laws and regulations. If you would like to download complete information for all states please <a href="https://reciprocal.naspovaluepoint.org/v1/states/export">click here</a>.</p> <p>If you have any comments or corrections, please contact us at <a href="mailto:[email protected]?subject=Reciprocal Preference">[email protected]</a></p> <h5>In-State/Local Preference. What is it?</h5> <p>An in-state (local) preference is an advantage given to bidders/proposers in response to a solicitation for products or services, granted based on pre-established criteria. Preference criteria are established by law and can include supplier’s geographic location; residency requirements; or origination of the product or service.</p> <h5>Reciprocal Preference. What is it?</h5> <p>Reciprocal preference refers to an advantage a state applies in order to match a preference given by another state. A reciprocal preference, or simply reciprocity, defines a bidding situation in which a state gives a preference to its resident bidder against the bid of a non-resident bidder, equal to the preference given by the other state to its own resident bidders.</p>

If you would prefer to link to NASPO's page for the reciprocal preference tool, please use the link below:

https://www.naspo.org/reciprocity1

API

API Key

If you need access to raw data to develop your own application or integration, NASPO provides a REST API to access the reciprocal preference data.

In order to use the API you will need an API key. Please contact Jonathan Hollinger at [email protected] to request a key. Once you have an API key, requests can be made to the endpoints documented below using the http header 'x-api-key' with your API key included as the value. The export endpoints do not require an API key and return data in CSV format.


GET states

Description:

Returns basic data about all states.

URL:

https://reciprocal.naspovaluepoint.org/v1/states

Method:

GET

Headers:

"x-api-key" : "YOUR_API_KEY"

Parameters:

none

Example Request:

fetch("https://reciprocal.naspovaluepoint.org/v1/states", { method: 'GET', headers: { "x-api-key": "YOUR_API_KEY" } }).then(function(response) { return response.json(); }).then(function(data) { if (data.success) { console.log(data.records) } else { console.log(data.error) } }).catch(function(error) { console.log(error); })

GET laws

Description:

Returns basic data about an individual state and all laws associated with it based on a valid state abbreviation.

URL:

https://reciprocal.naspovaluepoint.org/v1/laws?state=STATE_ABBREVIATION

Method:

GET

Headers:

"x-api-key" : "YOUR_API_KEY"

URL Parameters:

"state" : "STATE_ABBREVIATION"

Example Request:

fetch("https://reciprocal.naspovaluepoint.org/v1/laws?state=VA", { method: 'GET', headers: { "x-api-key": "YOUR_API_KEY" } }).then(function(response) { return response.json(); }).then(function(data) { if (data.success) { console.log(data.records) } else { console.log(data.error) } }).catch(function(error) { console.log(error); })

GET states/export

Description:

Returns basic data about all states as CSV file.

URL:

https://reciprocal.naspovaluepoint.org/v1/states/export

Method:

GET

Headers:

none

URL Parameters:

none

Example Request:

//As a Link on a Page <a href="https://reciprocal.naspovaluepoint.org/v1/states/export">Download All State Information</a> //Get Text Data fetch("https://reciprocal.naspovaluepoint.org/v1/states/export" ).then(function(response) { return response.text(); }).then(function(data) { console.log(data) }).catch(function(error) { console.log(error); })

GET laws/export

Description:

Returns Basic data about an individual state and all laws associated with it as a CSV file based on a valid state abbreviation.

URL:

https://reciprocal.naspovaluepoint.org/v1/laws?state=STATE_ABBREVIATION

Method:

GET

Headers:

none

Parameters:

"state" : "STATE_ABBREVIATION"

Example Requests:

//As a Link on a Page <a href="https://reciprocal.naspovaluepoint.org/v1/laws/export?state=VA">Download Virginia Laws</a> //Get Text Data fetch("https://reciprocal.naspovaluepoint.org/v1/laws/export?state=VA" ).then(function(response) { return response.text(); }).then(function(data) { console.log(data) }).catch(function(error) { console.log(error); })