Il existe énormément d'API permettant d'obtenir tout et n'importe quoi. Je vous présente Super Hero API, une API extrêmement complète dédiée aux super-héros mais également aux super-vilains.

L'utilisation de Super Hero API est très simple. Au préalable, il faut vous enregistrer pour obtenir une clé d'API (token). Malheureusement, l'inscription se fait obligatoirement avec un compte Facebook... Dommage qu'il n'y ait pas d'alternatives...

Une fois votre token obtenu, vous pouvez attaquer l'API. Plusieurs ressources sont disponibles :

  • Recherche d'un super-héro avec son nom
  • Récupération de toutes les informations avec l'identifiant d'un super-héro
  • Toujours avec l'identifiant, possibilité de n'avoir que certaines parties : powerstats, biography, appearance, work, connections, image

Comme le stipule la documentation, l'URL de base est : https://superheroapi.com/api/votre-access-token

Remplacez votre-access-token par celui obtenu.

Pour afficher toutes les infos d'un super-héro à partir de son nom, utilisez l'URL suivante :

https://www.superheroapi.com/api.php/votre-access-token/search/wolverine

Cela retournera un JSON contenant les informations liées à votre recherche :

{
  "response": "success",
  "results-for": "wolverine",
  "results": [
    {
      "id": "717",
      "name": "Wolverine",
      "powerstats": {
        "intelligence": "63",
        "strength": "32",
        "speed": "50",
        "durability": "100",
        "power": "89",
        "combat": "100"
      },
      "biography": {
        "full-name": "Logan",
        "alter-egos": "No alter egos found.",
        "aliases": [
          "Weapon X",
          "Weapon Ten",
          "Death",
          "Mutate 9601",
          "Jim Logan",
          "Emilio Garra",
          "Weapon Chi",
          "Experiment X",
          "Agent Ten",
          "Peter Richards",
          "Mai kethLogan",
          "Mr. Patch"
        ],
        "place-of-birth": "Alberta, Canada",
        "first-appearance": "Incredible Hulk Vol. 2 #180",
        "publisher": "Marvel Comics",
        "alignment": "good"
      },
      "appearance": {
        "gender": "Male",
        "race": "Mutant",
        "height": [
          "5'3",
          "160 cm"
        ],
        "weight": [
          "300 lb",
          "135 kg"
        ],
        "eye-color": "Blue",
        "hair-color": "Black"
      },
      "work": {
        "occupation": "Adventurer, instructor, former bartender, bouncer, spy, government operative, mercenary, soldier, sailor, miner",
        "base": "Xavier Institute, Salem Center, Westchester County, New York; Avengers Tower, New York City"
      },
      "connections": {
        "group-affiliation": "X-Men, formerly Horsemen of Apocalypse, Fantastic Four, Secret Defenders, Clan Yashida, Department H, Alpha Flight, Department K, Team X, Team_Weapon_X, Devil's Brigade, Canadian Army",
        "relatives": "John Howlett Sr. (father, deceased), Elizabeth Howlett (mother, deceased), John Howlett Jr. (brother, allegedly deceased), Viper (ex-wife), Amiko (foster daughter), Erista (son), X-23 (clone)"
      },
      "image": {
        "url": "https://www.superherodb.com/pictures2/portraits/10/100/161.jpg"
      }
    }
  ]
}

Pour utiliser les autres URLs de l'API, vous devez fournir un identifiant de super-héro. La liste complète des ids est disponible à partir de la documentation.

Ainsi, si vous voulez des infos sur Godzilla (id 287), utilisez cette URL :

https://www.superheroapi.com/api.php/votre-access-token/287
{
  "response": "success",
  "id": "287",
  "name": "Godzilla",
  "powerstats": {
    "intelligence": "44",
    "strength": "100",
    "speed": "54",
    "durability": "100",
    "power": "100",
    "combat": "20"
  },
  "biography": {
    "full-name": "Gojira",
    "alter-egos": "No alter egos found.",
    "aliases": [
      "Legendary Godzilla",
      "King of the Monsters",
      "Gigantis",
      "Monster Zero-One",
      "God of Destruction",
      "Alpha Predator"
    ],
    "place-of-birth": "-",
    "first-appearance": "Godzilla (1954)",
    "publisher": "",
    "alignment": "bad"
  },
  "appearance": {
    "gender": "-",
    "race": "Kaiju",
    "height": [
      "354'4",
      "108.0 meters"
    ],
    "weight": [
      "200000000 lb",
      "90,000 tons"
    ],
    "eye-color": "-",
    "hair-color": "-"
  },
  "work": {
    "occupation": "-",
    "base": "-"
  },
  "connections": {
    "group-affiliation": "-",
    "relatives": "-"
  },
  "image": {
    "url": "https://www.superherodb.com/pictures2/portraits/10/100/10590.jpg"
  }
}

Pour n'avoir que certaines infos (powerstats, biography, appearance, work, connections, image), ajoutez ce mot-clé à la suite de l'URL précédente :

https://www.superheroapi.com/api.php/votre-access-token/287/powerstats

https://www.superheroapi.com/api.php/votre-access-token/287/biography

https://www.superheroapi.com/api.php/votre-access-token/287/appearance

https://www.superheroapi.com/api.php/votre-access-token/287/work

https://www.superheroapi.com/api.php/votre-access-token/287/connections

https://www.superheroapi.com/api.php/votre-access-token/287/image

Super Hero API est plutôt complet et permettra de concevoir une application sympa ! N'hésitez pas à parcourir la documentation qui propose à chaque fois un exemple concret.