JSFiddle - React, Tailwind, and code Playground

HTML

<div id="feedback"></div>

CSS

* {
    font-family: Consolas
}

JavaScript

var URL = "https://api.guildwars2.com/v2/skins",
    PAGE_SIZE = 200;

var ids = [];
var objects = [];

logLine("Checking " + URL);

// Request ids
$.getJSON(URL, function(ids_) {
    ids = ids_;
    logLine("Returned ids: " + ids.length);

    var numPages = Math.ceil(ids.length / PAGE_SIZE);
    var remaining = numPages;

    logLine("<span id='progress'></span>");

    // Request data
    for (var p = 0; p < numPages; p++) {
        $.getJSON(URL + "?page_size=" + PAGE_SIZE + "&page=" + p, function (results) {
            objects = objects.concat(results);
            var progress = (numPages - (remaining - 1)) / numPages;
            $("#progress").text("loading " + (progress * 100).toFixed(2) + "%");
            if (--remaining == 0) done();
        });
    }
});

function done() {
    logLine("Working ids: " + objects.length);
    logLine();

    if (objects.length == ids.length) logLine("No problems detected.");
    else if (objects.length < ids.length) {
        logLine("Missing ids:");

        // Gather all object ids in an array
        var objectIds = [];
        for (var i = 0; i < objects.length; i++)
        objectIds.push(objects[i].id);
        // Check for missing ids
        for (var i = 0; i < ids.length; i++) {
            if (objectIds.indexOf(ids[i]) == -1) logLine("<a href='" + URL + "/" + ids[i] + "'>#" + ids[i] + "</a>");
        }
    }

    logLine();
    logLine("--- end ---");
}

function logLine(str) {
    $("#feedback").append((str || "") + "<br>");
}