Demographics in the California Legislature
Dictionary: AA = African American API = Asian Pacific Islander D = Democratic Party I = A political party other than Democratic or Republican or no political party Hispanic = Hispanic/Latino/Latina Multi = Multiple Races NA = Native American R = Republican Party White = White Alone
Column Headings: Term = Each two year term beginning with 1919-20 through 2025-26 Start/End = Start or End; indicates whether the member served at the start or end of the term. A member who served the entire term will have an entry for both start and end. This indicates changes due to special elections. House = California State Senate or California State Assembly District = Number reflects the district number. For example: For Brian Dahle, "1" represents "District 1" It is a senate district because the house column for Brian Dahle is "Senate" First = First Name Last = Last Name Race_Ethnicity = AA, API, Latino, Multi, NA, White Gender = Male, Female Party = D, R, I
Notes: "White" indicates white alone, while "Multi" indicates members with multiple racial/ethnic backgrounds other than white.
Data dictionary
Field definitions supplied by the publishing agency in CKAN.
| Column | Type | Label | Description |
|---|---|---|---|
| Term | text | Term | — |
| Branch | text | Branch | — |
| District | numeric | District | — |
| First | text | First | — |
| Last | text | Last | — |
| Race Ethnicity | text | Race Ethnicity | — |
| Gender | text | Gender | — |
| Party | text | Party | — |
| BirthMonth | numeric | BirthMonth | — |
| BirthDate | numeric | BirthDate | — |
| BirthYear | numeric | BirthYear | — |
| BirthState | text | BirthState | — |
| BirthNation | text | BirthNation | — |
Resource details
| Format | XLSX |
|---|---|
| Size | 157 KB |
| Rows | 2,416 |
| Last updated | Sep 29, 2026 |
| Part of | Demographics in the California Legislature |
CKAN Data API
Access resource data through the CKAN DataStore API. The examples below use this resource's ID.
Endpoints
The Data API provides these actions. Creating or updating records requires appropriate permissions; the query actions read public DataStore records.
| Create | https://ckan.cdt.dev.datopian.com/api/3/action/datastore_create |
|---|---|
| Update / insert | https://ckan.cdt.dev.datopian.com/api/3/action/datastore_upsert |
| Query | https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search |
| Query via SQL | https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search_sql |
Query examples
"https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search?resource_id=9dc0c75b-5a89-483f-9590-ec41bfe26882&limit=5""https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search?resource_id=9dc0c75b-5a89-483f-9590-ec41bfe26882&q=jones""https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search_sql?sql=SELECT%20%2A%20FROM%20%229dc0c75b-5a89-483f-9590-ec41bfe26882%22%20LIMIT%205"SQL queries depend on whether SQL search is enabled by the portal.
OData query
Use the resource's OData URL and its field names for paging, selecting columns, or filtering rows.
ODATA_RESOURCE_URL?$top=5
ODATA_RESOURCE_URL?$skip=5&$top=5
ODATA_RESOURCE_URL?$select=FIELD_NAME&$filter=FIELD_NAME eq 'VALUE'Replace ODATA_RESOURCE_URL, FIELD_NAME, and VALUE with the details for the selected resource. See the OData query options guide (opens in a new tab) for more examples.
Use the API in code
JavaScript (JSONP)
var data = { resource_id: '9dc0c75b-5a89-483f-9590-ec41bfe26882', limit: 5, q: 'jones' };
$.ajax({
url: 'https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search',
data: data,
dataType: 'jsonp',
success: function (response) {
console.log(response.result.total, response.result.records);
}
});Python
import json
from urllib.request import urlopen
url = 'https://ckan.cdt.dev.datopian.com/api/3/action/datastore_search?resource_id=9dc0c75b-5a89-483f-9590-ec41bfe26882&limit=5'
with urlopen(url) as response:
result = json.load(response)['result']
print(result['total'], result['records'])For parameters and response fields, see the CKAN DataStore documentation (opens in a new tab).