const fetch = require("node-fetch");
const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://deep-index.moralis.io/api/v2.2";
const address = "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB";
const chain = "eth";
const limit = 100;
async function fetchAllPages() {
let cursor = null;
let allResults = [];
do {
const url = new URL(`${BASE_URL}/nft/${address}/owners`);
url.searchParams.set("chain", chain);
url.searchParams.set("limit", limit);
if (cursor) {
url.searchParams.set("cursor", cursor);
}
const res = await fetch(url.toString(), {
headers: {
"X-API-Key": API_KEY,
},
});
const data = await res.json();
allResults.push(...data.result);
cursor = data.cursor; // null / empty when no more pages
} while (cursor);
return allResults;
}
fetchAllPages().then((results) => {
console.log("Total records:", results.length);
});