Using inspiration from this answer: How to get daily temperatures of past 30 years for a given location from NOAA online database - MATLAB Answers. I was able to deduce the following demonstration. At first glance you need to use the limit parameter, however there seems to be a limit to the limit of 1000. So you also need to use the offset parameter. See below for a demonstration.
You can find more information here: Web Services API (version 2) Documentation | Climate Data Online (CDO) | National Climatic Data Center (NCDC) (noaa.gov)
myToken = "NpMoDLCgEVBMZTdPFQHQUOwllVQNHYjz";
% start with offfset 0
myURL = "https://www.ncei.noaa.gov/cdo-web/api/v2/stations?locationid=FIPS:37" + "&limit=1000" + "&offset=0";
opt = weboptions('KeyName','token','KeyValue',myToken);
data = webread(myURL,opt);
data.results
% now use offset 1000 (or whaterver value u used as previous limit) to get
% the next batch
myURL = "https://www.ncei.noaa.gov/cdo-web/api/v2/stations?locationid=FIPS:37" + "&limit=1000" + "&offset=1000";
opt = weboptions('KeyName','token','KeyValue',myToken);
data = webread(myURL,opt);
data.results