the way I do this is a bit hacky, but for me it works, so I’d like to share it in the hopes that it will help someone else. (at least untill shopify gives us a way to do this through an official endpoint.) only issue currently is that the destination location is missing (only source location is available, but if you dont have too many transfers between more than 2 locations it will work for you
or you can use the query parameter to look for a certain locations transfers: admin/transfers.json?query=location_name if the source is the same as the location name you know it was not to this location, and you could skip it, this way you would only get transfers to this location (I haven’t used this part, and I know it’s not ideal, but better than nothing)
I use nodejs to fetch the transfers json.
if you are in the shopify admin, open up transfers, add .json after the url and press enter:

open the google chrome webinspector, and find the get request to the transfers.json endpoint, then copy it as nodejs fetch:
paste it into an editor like webstorm, add the node-fetch module and you will be able to fetch the json (the cookies are valid for about 24 hours, so if you need to fetch again you will need to do above steps again.
your code should look something like this (i removed my cookie data and sessionids ofcourse):
const fetch = require('node-fetch');
async function getTransfers() {
let res = await fetch("https://xx.myshopify.com/admin/transfers.json", {
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"accept-language": "en-US,en;q=0.9,nl;q=0.8",
"cache-control": "no-cache",
"pragma": "no-cache",
"sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Google Chrome\";v=\"91\", \"Chromium\";v=\"91\"",
"sec-ch-ua-mobile": "?0",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "none",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"cookie": "_master_udr=verylongstring; new_admin=1; _secure_admin_session_id=session_id; _secure_admin_session_id_csrf=csrf; koa.sid=sid; koa.sid.sig=sid.sig; _ab=1; __ssid=sig; secure_customer_sig=; _shopify_m=session; _tracking_consent=%D; identity-state=xx; _s=xx _shopify_y=xx; _shopify_s=xx; _orig_referrer=; _landing_page=%2Fadmin%2Ftransfers; _shopify_evids="
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors"
});
let jsonResult = await res.json();
console.log("transfer json result:", jsonResult);
}
getTransfers();
there is also another endpoint available which will give you a single transfer by id (although the other endpoint has all the data, maybe it’s useful for you)
/admin/transfers/(yourtransferid).json