Disclosure: I built the Apify Actor linked at the end and charge per result. The feed below is Apple's public one and needs no key.
Apple's public reviews feed includes im:version on every review, which makes regression-spotting easy: count low-star reviews per app version.
const id = " 389801252 " , cc = " us " ; const counts = {}; for ( let p = 1 ; p <= 10 ; p ++ ) { const r = await fetch ( `https://itunes.apple.com/ ${ cc } /rss/customerreviews/page= ${ p } /id= ${ id } /sortby=mostrecent/json` ); const entries = ( await r . json ()). feed . entry ?? []; if ( ! entries . length ) break ; for ( const e of entries ) { if ( ! e [ " im:rating " ]) continue ; // skip the app's own entry const v = e [ " im:version " ]. label ; counts [ v ] ??= { n : 0 , low : 0 }; counts [ v ]. n ++ ; if ( + e [ " im:rating " ]. label <= 2 ) counts [ v ]. low ++ ; } await new Promise ( r => setTimeout ( r , 1000 )); } console .…