← Todas las guías

Inicio rápido: tu primera llamada a la API de MotoGP

Suscríbete en RapidAPI, envía dos cabeceras y lee la clasificación actual del campeonato de MotoGP en curl, JavaScript o Python.

5 min de lectura

Esta guía te lleva de cero a una petición funcional en unos cinco minutos. Necesitas una cuenta de RapidAPI y una terminal.

1. Suscríbete y copia tu clave

  1. Abre la API de MotoGP en RapidAPI y elige un plan.
  2. En el playground de RapidAPI, copia el valor de X-RapidAPI-Key. Esa clave identifica tu suscripción; RapidAPI mide tu cuota con ella.

Guarda la clave en una variable de entorno en lugar de pegarla en el código:

export RAPIDAPI_KEY="paste-your-key-here"

2. Envía tu primera petición

Cada petición necesita dos cabeceras: tu clave y el host de la API.

curl -s "https://motogp-api-championship-data-statistics.p.rapidapi.com/standings/seasons/2026/riders?category=MOTOGP" \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: motogp-api-championship-data-statistics.p.rapidapi.com"

La respuesta es el campeonato de pilotos de MotoGP 2026, ya ordenado por posición:

{
  "data": [
    {
      "position": 1,
      "total_points": 365,
      "wins": 6,
      "podiums": 6,
      "season_year": 2026,
      "rider_name": "Marc Márquez",
      "rider_number": 93,
      "team_name": "Ducati Lenovo Team",
      "category": "MOTOGP"
    }
  ],
  "meta": { "total": 32, "page": null, "size": null, "total_pages": null }
}

3. No fijes la temporada en el código

GET /seasons/latest devuelve la temporada más reciente, así que tu código sigue funcionando cuando empieza un nuevo campeonato. Encadénalo con la llamada de clasificación:

JavaScript (Node.js 18+)

const HOST = "motogp-api-championship-data-statistics.p.rapidapi.com";
const headers = {
  "X-RapidAPI-Key": process.env.RAPIDAPI_KEY,
  "X-RapidAPI-Host": HOST,
};

async function get(path) {
  const res = await fetch(`https://${HOST}${path}`, { headers });
  const body = await res.json();
  if (!res.ok) throw new Error(`${res.status} ${body.message ?? res.statusText}`);
  return body.data;
}

const season = await get("/seasons/latest");
const standings = await get(`/standings/seasons/${season.year}/riders?category=MOTOGP`);

for (const row of standings.slice(0, 5)) {
  console.log(`${row.position}. ${row.rider_name} (#${row.rider_number}) – ${row.total_points} pts`);
}

Python

import os
import requests

HOST = "motogp-api-championship-data-statistics.p.rapidapi.com"
HEADERS = {"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"], "X-RapidAPI-Host": HOST}


def get(path: str, **params):
    res = requests.get(f"https://{HOST}{path}", headers=HEADERS, params=params, timeout=10)
    res.raise_for_status()
    return res.json()["data"]


season = get("/seasons/latest")
standings = get(f"/standings/seasons/{season['year']}/riders", category="MOTOGP")

for row in standings[:5]:
    print(f"{row['position']}. {row['rider_name']} (#{row['rider_number']}) – {row['total_points']} pts")

Salida:

1. Marc Márquez (#93) – 365 pts
2. Jorge Martín (#89) – 355 pts
3. Marco Bezzecchi (#72) – 315 pts
...

Siguientes pasos

Siguiente guía → Convenciones: envoltorio, categorías, paginación y errores