Character Lookup
No token needed Runs nightly against live ESILooks up a character's public info, portrait, and corporation. All public endpoints — no auth required.
Calls: characters.getCharacterPublicInfo · characters.getCharacterPortrait · corporations.getCorporationInfo
Run it
bash
git clone https://github.com/lgriffin/ESI.ts.git && cd ESI.ts
npm ci
npm run example:characterexamples/character-lookup.ts on GitHub. The imports below are written as a consumer of the package writes them; the file in the repository imports from ../src.
Source
ts
import { EsiClient } from '@lgriffin/esi.ts';
import { createConsoleLogger } from '@lgriffin/esi.ts';
// The program's own output. The client logs through the same console sink
// at ESI_LOG_LEVEL (default warn), so its diagnostics stay out of the way.
const log = createConsoleLogger('info');
const esiLog = createConsoleLogger();
const CHARACTER_ID = 1689391488; // deiseman
async function main() {
const client = new EsiClient({ logger: esiLog });
try {
log.info(`Looking up character ${CHARACTER_ID}...\n`);
const [character, portrait] = await Promise.all([
client.characters.getCharacterPublicInfo(CHARACTER_ID),
client.characters.getCharacterPortrait(CHARACTER_ID),
]);
log.info('Character Info');
log.info('-'.repeat(40));
log.info(` Name: ${character.name}`);
log.info(
` Birthday: ${new Date(character.birthday).toLocaleDateString()}`,
);
log.info(` Security Status: ${character.security_status?.toFixed(2)}`);
log.info(` Corporation ID: ${character.corporation_id}`);
if (character.alliance_id) {
log.info(` Alliance ID: ${character.alliance_id}`);
}
log.info('\nPortrait URLs');
log.info('-'.repeat(40));
log.info(` 64x64: ${portrait.px64x64}`);
log.info(` 128x128: ${portrait.px128x128}`);
log.info(` 256x256: ${portrait.px256x256}`);
log.info(` 512x512: ${portrait.px512x512}`);
// Fetch corporation info
const corp = await client.corporations.getCorporationInfo(
character.corporation_id,
);
log.info('\nCorporation');
log.info('-'.repeat(40));
log.info(` Name: ${corp.name} [${corp.ticker}]`);
log.info(` Members: ${corp.member_count?.toLocaleString()}`);
} catch (err) {
log.error('Request failed', { error: err });
process.exit(1);
} finally {
await client.shutdown();
}
}
main();