Use a list of candidate IDs from a range to retrieve name and party, and office information through an API call, and output results to another sheet tab.
API call use “candidate” in OpenFEC Developer page, and the first API builder “/candidate/{candidate_id}/”
Input the value (candidate id) from A1: A20 in sheet tab "id_list"
Iterate the ID list to make the API call, and retrieve data of candidate's name, party and office.
Output the data of 20 candidates to sheet tab "result".
functionCandidateData() {//API Keyvar key ="YOUR API KEY"var ss =SpreadsheetApp.getActiveSpreadsheet()var wsResult =ss.getSheetByName("result") //Setup Output Sheet var sheet =ss.getSheetByName('id_list').getRange("A1:A20").getValues() //Setup Input Sheet & Data rangevar toAddTable =[] for (i =0; i <sheet.length; i++) {//console.log(sheet[i][0])var toAddArray = []var name = sheet[i][0]let apiURL ='https://api-stage.open.fec.gov/v1/candidate/'+ name +'/?api_key='+ keyvar resText =UrlFetchApp.fetch(apiURL).getContentText()var resJSON =JSON.parse(resText)var record = resJSON["results"][0]var can_name = resJSON["results"][0]["name"]var party = resJSON["results"][0]["party_full"]var office_f = resJSON["results"][0]["office_full"]//**********Add Values to the Created Table Array ********//toAddArray.push(can_name)toAddArray.push(party)toAddArray.push(office_f)toAddTable.push(toAddArray) }//console.log(toAddTable)wsResult.getRange("A2:C21").setValues(toAddTable)}