For more information on how to access this asset via the Socrata Open Data API, read on. Additional information on query functionality, code samples, and libraries can be accessed using the navigation above.
Good to go! You're already using the latest version of this dataset API.
This dataset contains data on sustainability projects seeking financing in states and regions in 2021. The data is based on responses to the 2021 CDP States and Regions questionnaire.
For guidance on how to reference this data for use in external publications, please refer to the Terms of Use on the Open Data Portal homepage.
For any questions, please contacts statesandregions@cdp.net.
All communication with the API is done through HTTPS, and errors are communicated through HTTP response codes. Available response types include JSON
(including GeoJSON
), XML
, and CSV
, which are selectable by the "extension" (.json
, etc.) on the API endpoint or through content-negotiation with HTTP Accepts
headers.
This documentation also includes inline, runable examples. Click on any link that contains a gear symbol
next to it to run that example live against the 2021 States and Regions Projects Seeking Financing
API. If you just want to grab the API endpoint and go, you'll find it below.
Learn more about:
All requests should include an app token that identifies your application, and each application should have its own unique app token. A limited number of requests can be made without an app token, but they are subject to much lower throttling limits than request that do include one. With an app token, your application is guaranteed access to it's own pool of requests. If you don't have an app token yet, click the button to the right to sign up for one.
Once you have an app token, you can include it with your request either by using the X-App-Token
HTTP header, or by passing it via the $$app_token
parameter on your URL.
Each column in the dataset is represented by a single field
in its SODA API. Using filters and SoQL queries, you can search for records, limit your results, and change the way the data is output. For example, you could filter this dataset by its questionnaire_name
field using a query like the following:
For richer filtering, you can combine filters together by stacking parameters on your URL or by using SoQL queries. Learn more about about each of the fields in this dataset by clicking the headers below, or read more about the SODA API using the navigation at the top of the page.
Learn more about:
questionnaire_name
The questionnaire_name
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
account_number
The account_number
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
account_name
The account_name
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
country
The country
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
cdp_region
The cdp_region
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
parent_section
The parent_section
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
section
The section
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
question_number
The question_number
column is of the number
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the number
datatype.
question_name
The question_name
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
row_number
The row_number
column is of the number
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the number
datatype.
project_area
The project_area
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
status_of_project
The status_of_project
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
status_of_financing
The status_of_financing
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
project_description
The project_description
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
currency
The currency
column is of the text
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the text
datatype.
total_cost_of_project
The total_cost_of_project
column is of the number
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the number
datatype.
total_investment_cost_needed
The total_investment_cost_needed
column is of the number
datatype.
Please wait while we fetch an example for you...
For more details on what query options you have for this column, see the detailed docs on the number
datatype.
The following are grab-and-go code code samples you can use with popular programming languages and data science tools.
jQuery makes it super simple to fetch and parse JSON from an API endpoint.
$.ajax({
url: "https://data.cdp.net/resource/ar54-nmgi.json",
type: "GET",
data: {
"$limit" : 5000,
"$$app_token" : "YOURAPPTOKENHERE"
}
}).done(function(data) {
alert("Retrieved " + data.length + " records from the dataset!");
console.log(data);
});
The following resources might also be helpful:
Python package using Pandas to easily work with JSON data
#!/usr/bin/env python
# make sure to install these packages before running:
# pip install pandas
# pip install sodapy
import pandas as pd
from sodapy import Socrata
# Unauthenticated client only works with public data sets. Note 'None'
# in place of application token, and no username or password:
client = Socrata("data.cdp.net", None)
# Example authenticated client (needed for non-public datasets):
# client = Socrata(data.cdp.net,
# MyAppToken,
# username="user@example.com",
# password="AFakePassword")
# First 2000 results, returned as JSON from API / converted to Python list of
# dictionaries by sodapy.
results = client.get("ar54-nmgi", limit=2000)
# Convert to pandas DataFrame
results_df = pd.DataFrame.from_records(results)
The following resources might also be helpful:
PowerShell to extract data from SODA
$url = "https://data.cdp.net/resource/ar54-nmgi"
$apptoken = "YOURAPPTOKENHERE"
# Set header to accept JSON
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Accept","application/json")
$headers.Add("X-App-Token",$apptoken)
$results = Invoke-RestMethod -Uri $url -Method get -Headers $headers
The following resources might also be helpful:
The City of Chicago and community maintains a great RSocrata
package on Github.
## Install the required package with:
## install.packages("RSocrata")
library("RSocrata")
df <- read.socrata(
"https://data.cdp.net/resource/ar54-nmgi.json",
app_token = "YOURAPPTOKENHERE",
email = "user@example.com",
password = "fakepassword"
)
The following resources might also be helpful:
SAS is a tried and true application suite for data analysis and visualization. The following snippet brings Socrata data into a SAS.
filename datain url 'http://data.cdp.net/resource/ar54-nmgi.csv?$limit=5000&$$app_token=YOURAPPTOKENHERE';
proc import datafile=datain out=dataout dbms=csv replace;
getnames=yes;
run;
The following resources might also be helpful:
The soda-ruby
gem is a simple wrapper around the SODA APIs that makes usage with Ruby more natural.
#!/usr/bin/env ruby
require 'soda/client'
client = SODA::Client.new({:domain => "data.cdp.net", :app_token => "YOURAPPTOKENHERE"})
results = client.get("ar54-nmgi", :$limit => 5000)
puts "Got #{results.count} results. Dumping first results:"
results.first.each do |k, v|
puts "#{key}: #{value}"
end
The following resources might also be helpful:
SODA.NET
is a Socrata Open Data API client library for .NET
using System;
using System.Linq;
// Install the package from Nuget first:
// PM> Install-Package CSM.SodaDotNet
using SODA;
var client = new SodaClient("https://data.cdp.net", "YOURAPPTOKENHERE");
// Get a reference to the resource itself
// The result (a Resouce object) is a generic type
// The type parameter represents the underlying rows of the resource
// and can be any JSON-serializable class
var dataset = client.GetResource("ar54-nmgi");
// Resource objects read their own data
var rows = dataset.GetRows(limit: 5000);
Console.WriteLine("Got {0} results. Dumping first results:", rows.Count());
foreach (var keyValue in rows.First())
{
Console.WriteLine(keyValue);
}
The following resources might also be helpful:
Copy and paste the following to import this dataset into Stata
clear
. import delimited "https://data.cdp.net/resource/ar54-nmgi.csv?%24limit=5000&%24%24app_token=YOURAPPTOKENHERE"