Here is my code:
import fetch from "node-fetch";
class BlueNileAPI {
constructor() {
}
fetchDiamonds() {
return fetch(`https://www.bluenile.com/api/public/diamond-search-grid/v2?country=USA&language=en-us¤cy=USD&startIndex=0&pageSize=243&shape=RD&sortColumn=price&sortDirection=asc&_=1468875090671`)
.then((response) => response.json())
}
}
export default BlueNileAPI;
const api = new BlueNileAPI()
const data = await api.fetchDiamonds()
console.log(await data)
When using that API directly in the browser it works. However, it Node it returns:
<!DOCTYPE html><html><head></head><body><script src="/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/ips.js?bn_uuid=0NiTEI3uwRCgPHHeG2qvD3dHsjIUrQKSGN2NMm785Vujeni4eslOsJuC5fLRIBsbETiUc1FpHWtvPzoysdhVFdJvm6Bb4ROeSb7Yrd6zlABTkWa8XUMiMNen2NUYHrTuIC0vAcYfhPotxAjJrZbZxGD9i"></script></body></html>
^
SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at Response.json (file:.....body.js:149:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async file:.....BlueNileApi.js:18:14
Any pointers appreciated.