v1.0 • REST API

Minerva Public REST API

Free, open, real-time API for Discord bots, web apps, and Fallout 76 community tools.

Base URLhttps://whereisminerva.info
CORSEnabled (*)
FormatJSON (UTF-8)
🔑

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.

HTTP Header (Recommended)RECOMENDADO

Send your personal API key in the standard x-api-key header.

x-api-key: minerva_live_...
Bearer TokenRFC 6750

Standard support for HTTP Bearer Authorization headers.

Authorization: Bearer minerva_live_...
URL Query ParameterURL PARAM

Useful for quick browser tests, cURL, or basic webhooks.

?api_key=minerva_live_...
⏳Transition Notice & Unauthenticated Rate Limit

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.

⚡Rate Limits & Fair Use Policy

Free access with no strict request cap. We recommend a 60-second local cache in your bots for optimal response times.

GET

/api/v1/minerva

Status & Stock

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

NameInTypeRequiredDescription
x-api-keyheaderstringOptional (Recommended)Personal API key (minerva_live_...). Identifies your requests and guarantees uninterrupted service.

Test Endpoint

⚠️ Sin Clave (Gracia)
GEThttps://whereisminerva.info/api/v1/minerva

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] });
}