Minerva Public REST API
Free, open, real-time API for Discord bots, web apps, and Fallout 76 community tools.
Your Personal API Key
Pass your key in the x-api-key header or as ?api_key= query parameter to identify your bots and tools.
Building a Discord bot or community tool?
Sign in or create a free account in 30 seconds to get your instant personal API Key, monitor requests, and ensure unlimited access.
🛡️ Authentication & Headers
How to authenticate your requests from Discord bots, web apps, or scripts.
Send your personal API key in the standard x-api-key header.
x-api-key: minerva_live_...Standard support for HTTP Bearer Authorization headers.
Authorization: Bearer minerva_live_...Useful for quick browser tests, cURL, or basic webhooks.
?api_key=minerva_live_...Unauthenticated calls are limited to 2 requests per hour. Register for a free API key for full access, or contact bitman.online@gmail.com to coordinate.
Free access with no strict request cap. We recommend a 60-second local cache in your bots for optimal response times.
/api/v1/minerva
Returns Minerva's live status in Fallout 76: whether she is currently present, her exact Appalachia location, startsAt and endsAt reset timestamps, item inventory, and next visit info.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
x-api-key | header | string | Optional (Recommended) | Personal API key (minerva_live_...). Identifies your requests and guarantees uninterrupted service. |
Test Endpoint
Code Examples
curl -X GET "https://whereisminerva.info/api/v1/minerva" \
-H "x-api-key: minerva_live_YOUR_KEY" \
-H "Accept: application/json"Building a Discord Bot?
Real-time API with CORS support and free API Key authentication. Features Unix epoch timestamps (startsAtUnix, endsAtUnix) for native Discord countdowns. (<t:TIMESTAMP:R>).
// Slash Command: /minerva (Discord.js v14)
import { SlashCommandBuilder, EmbedBuilder } from 'discord.js';
export const data = new SlashCommandBuilder()
.setName('minerva')
.setDescription('Check Minerva live location, countdown, and stock in Fallout 76');
export async function execute(interaction) {
const res = await fetch('https://whereisminerva.info/api/v1/minerva', {
headers: { 'x-api-key': 'minerva_live_YOUR_KEY' }
});
const { data } = await res.json();
const embed = new EmbedBuilder()
.setTitle(data.isActive ? `Minerva is at ${data.location.nameEn}!` : 'Minerva is currently away')
.setColor(data.isActive ? 0x8ba358 : 0x555555);
if (data.isActive) {
embed
.setDescription(`📍 **Location:** ${data.location.nameEn} (${data.location.coordinates})\n⏳ **Leaves:** <t:${data.endsAtUnix}:R> (<t:${data.endsAtUnix}:f>)`)
.setImage(data.location.imageUrl)
.addFields({
name: `Featured Plans (${data.inventory.totalItems} total)`,
value: data.inventory.preview.map(i => `• **${i.name}** — ${i.priceGold} Gold`).join('\n') || 'None'
});
} else if (data.nextVisit) {
embed.setDescription(`📍 **Next Visit:** ${data.nextVisit.location.nameEn}\n⏳ **Arrives:** <t:${data.nextVisit.startsAtUnix}:R> (<t:${data.nextVisit.startsAtUnix}:f>)`);
}
await interaction.reply({ embeds: [embed] });
}