DEV Community

Cover image for Free APIs You Need to Know About in 2024
Deepak Kumar
Deepak Kumar

Posted on

Free APIs You Need to Know About in 2024

APIs (Application Programming Interfaces) are essential tools for developers, allowing them to integrate third-party services into their applications. Here is an extensive list of free APIs available in 2024 across various categories, along with website links, descriptions, and sample code for each.

Gaming APIs

Steam Community API

  • Website: steamcommunity.com/dev

  • Description: The Steamworks Web API provides an interface to various Steam features such as user authentication, inventory management, and game data.

Sample Code

const fetch = require('node-fetch');

const steamApiKey = 'YOUR_STEAM_API_KEY';
const steamId = 'STEAM_USER_ID';
const url = `http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=${steamApiKey}&steamids=${steamId}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Riot Games API

  • Website: developer.riotgames.com

  • Description: Access data for games like League of Legends, Teamfight Tactics, Valorant, and more. Provides data on matches, rankings, champions, and other game-related statistics.

Sample Code

const fetch = require('node-fetch');

const riotApiKey = 'YOUR_RIOT_API_KEY';
const summonerName = 'SUMMONER_NAME';
const url = `https://na1.api.riotgames.com/lol/summoner/v4/summoners/by-name/${summonerName}?api_key=${riotApiKey}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Language APIs

Evil Insult Generator API

  • Website: evilinsult.com/api

  • Description: Generate random insults in various languages for fun or testing purposes.

Sample Code

const fetch = require('node-fetch');

const url = 'https://evilinsult.com/generate_insult.php?lang=en&type=json';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Fun Translations API

  • Website: funtranslations.com/api

  • Description: Translate text into various fun languages like Yoda, Shakespeare, Minion speak, and more.

Sample Code

const fetch = require('node-fetch');

const text = 'Hello, world!';
const url = `https://api.funtranslations.com/translate/yoda.json?text=${encodeURIComponent(text)}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Music APIs

Spotify Web API

Sample Code

const fetch = require('node-fetch');

const accessToken = 'YOUR_SPOTIFY_ACCESS_TOKEN';
const url = 'https://api.spotify.com/v1/me/player/recently-played';

fetch(url, {
    headers: {
        'Authorization': `Bearer ${accessToken}`
    }
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Security APIs

Have I Been Pwned API

  • Website: haveibeenpwned.com/API/v2

  • Description: Check if your email or username has been part of a data breach. Provides data on breaches, pastes, and password exposure.

Sample Code

const fetch = require('node-fetch');

const email = 'test@example.com';
const url = `https://haveibeenpwned.com/api/v2/breachedaccount/${email}`;

fetch(url, {
    headers: {
        'User-Agent': 'Node.js'
    }
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Shodan API

  • Website: developer.shodan.io

  • Description: Shodan is a search engine for Internet-connected devices. It provides data on various servers, devices, and systems worldwide.

Sample Code

const fetch = require('node-fetch');

const shodanApiKey = 'YOUR_SHODAN_API_KEY';
const query = 'apache';
const url = `https://api.shodan.io/shodan/host/search?key=${shodanApiKey}&query=${query}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Science & Math APIs

NASA API

  • Website: api.nasa.gov

  • Description: Access data from NASA’s datasets including astronomy photos, planetary data, and more.

Sample Code

const fetch = require('node-fetch');

const nasaApiKey = 'YOUR_NASA_API_KEY';
const url = `https://api.nasa.gov/planetary/apod?api_key=${nasaApiKey}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Wolfram Alpha API

  • Website: products.wolframalpha.com/api

  • Description: Provides access to the vast computational knowledge of Wolfram Alpha, including math calculations, data analysis, and more.

Sample Code

const fetch = require('node-fetch');

const wolframAppId = 'YOUR_WOLFRAM_APP_ID';
const query = 'integrate x^2';
const url = `http://api.wolframalpha.com/v2/query?input=${encodeURIComponent(query)}&appid=${wolframAppId}&output=json`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Open Science Framework API

  • Website: developer.osf.io

  • Description: Access research data, project management tools, and other scientific resources from the Open Science Framework.

Sample Code

const fetch = require('node-fetch');

const url = 'https://api.osf.io/v2/nodes/';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Sports APIs

NBA API

Sample Code

const fetch = require('node-fetch');

const url = 'https://api-nba-v1.p.rapidapi.com/teams/league/standard';
const options = {
    method: 'GET',
    headers: {
        'X-RapidAPI-Key': 'YOUR_RAPIDAPI_KEY',
        'X-RapidAPI-Host': 'api-nba-v1.p.rapidapi.com'
    }
};

fetch(url, options)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Web Apps APIs

Discord API

Sample Code

const fetch = require('node-fetch');

const discordToken = 'YOUR_DISCORD_BOT_TOKEN';
const url = 'https://discord.com/api/users/@me';

fetch(url, {
    headers: {
        'Authorization': `Bot ${discordToken}`
    }
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Slack API

  • Website: api.slack.com

  • Description: Access Slack features such as messaging, user data, and workspace management.

Sample Code

const fetch = require('node-fetch');

const slackToken = 'YOUR_SLACK_API_TOKEN';
const url = 'https://slack.com/api/conversations.list';

fetch(url, {
    headers: {
        'Authorization': `Bearer ${slackToken}`
    }
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Products and Things APIs

Car Query API

make, model, and year information.

Sample Code

const fetch = require('node-fetch');

const url = 'https://www.carqueryapi.com/api/0.3/?cmd=getMakes';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Yelp API

  • Website: yelp.com/developers

  • Description: Access data on local businesses, including reviews, ratings, and business details.

Sample Code

const fetch = require('node-fetch');

const yelpApiKey = 'YOUR_YELP_API_KEY';
const url = 'https://api.yelp.com/v3/businesses/search?location=San Francisco';

fetch(url, {
    headers: {
        'Authorization': `Bearer ${yelpApiKey}`
    }
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Health APIs

Healthcare.gov API

  • Website: healthcare.gov/developers

  • Description: Access data on healthcare plans, provider directories, and other health-related information.

Sample Code

const fetch = require('node-fetch');

const url = 'https://data.healthcare.gov/resource/xyz123.json';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Governments & Geography APIs

Code.gov API

  • Website: code.gov

  • Description: Access data on federal government software projects, including code repositories and project details.

Sample Code

const fetch = require('node-fetch');

const url = 'https://api.code.gov/projects';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Data.gov API

  • Website: data.gov/developers/apis

  • Description: Access a wide range of datasets from the US government, including weather, education, and health data.

Sample Code

const fetch = require('node-fetch');

const url = 'https://api.data.gov/ed/collegescorecard/v1/schools.json?api_key=YOUR_DATA_GOV_API_KEY';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Data.europa.eu API

  • Website: data.europa.eu/en

  • Description: Access open data from European Union institutions and bodies.

Sample Code

const fetch = require('node-fetch');

const url = 'https://data.europa.eu/api/hub/search/datasets';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

TransLoc API

Sample Code

const fetch = require('node-fetch');

const translocApiKey = 'YOUR_TRANSLOC_API_KEY';
const url = 'https://transloc-api-1-2.p.rapidapi.com/agencies.json';

fetch(url, {
    headers: {
        'X-RapidAPI-Key': translocApiKey,
        'X-RapidAPI-Host': 'transloc-api-1-2.p.rapidapi.com'
    }
})
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Food APIs

Open Food Facts API

  • Website: world.openfoodfacts.org/data

  • Description: Access data on food products worldwide, including ingredients, nutrition facts, and allergen information.

Sample Code

const fetch = require('node-fetch');

const url = 'https://world.openfoodfacts.org/api/v0/product/737628064502.json';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Taco Fancy API

Sample Code

const fetch = require('node-fetch');

const url = 'http://taco-randomizer.herokuapp.com/random/';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Open Source Projects APIs

Libraries.io API

  • Website: libraries.io/api

  • Description: Access data on open source projects, including dependency information, version history, and more.

Sample Code

const fetch = require('node-fetch');

const librariesApiKey = 'YOUR_LIBRARIES_IO_API_KEY';
const url = `https://libraries.io/api/platforms?api_key=${librariesApiKey}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Movies and Comics APIs

Chuck Norris Jokes API

Sample Code

const fetch = require('node-fetch');

const url = 'https://api.chucknorris.io/jokes/random';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Final Space API

  • Website: finalspaceapi.com

  • Description: Access data from the Final Space TV show, including characters, episodes, and more.

Sample Code

const fetch = require('node-fetch');

const url = 'https://finalspaceapi.com/api/v0/character';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Kitsu API

  • Website: kitsu.docs.apiary.io

  • Description: Access data on anime and manga, including series information, reviews, and user ratings.

Sample Code

const fetch = require('node-fetch');

const url = 'https://kitsu.io/api/edge/anime';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Marvel API

  • Website: developer.marvel.com

  • Description: Access data on Marvel comics, characters, and creators.

Sample Code

const fetch = require('node-fetch');

const marvelPublicKey = 'YOUR_MARVEL_PUBLIC_KEY';
const marvelPrivateKey = 'YOUR_MARVEL_PRIVATE_KEY';
const ts = new Date().getTime();
const hash = require('crypto').createHash('md5').update(ts + marvelPrivateKey + marvelPublicKey).digest('hex');
const url = `https://gateway.marvel.com/v1/public/characters?ts=${ts}&apikey=${marvelPublicKey}&hash=${hash}`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

PokeAPI

  • Website: pokeapi.co

  • Description: Access data on Pokémon, including species, abilities, and game information.

Sample Code

const fetch = require('node-fetch');

const url = 'https://pokeapi.co/api/v2/pokemon/ditto';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Rick and Morty API

  • Website: rickandmortyapi.com

  • Description: Access data on the Rick and Morty TV show, including characters, episodes, and locations.

Sample Code

const fetch = require('node-fetch');

const url = 'https://rickandmortyapi.com/api/character';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Simpsons Quotes API

Sample

Code

const fetch = require('node-fetch');

const url = 'https://thesimpsonsquoteapi.glitch.me/quotes';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Star Wars API

  • Website: swapi.tech

  • Description: Access data on the Star Wars universe, including films, characters, starships, and planets.

Sample Code

const fetch = require('node-fetch');

const url = 'https://swapi.tech/api/people/1';

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Superhero API

  • Website: superheroapi.com

  • Description: Access data on various superheroes, including their powers, biographies, and images.

Sample Code

const fetch = require('node-fetch');

const superheroApiKey = 'YOUR_SUPERHERO_API_KEY';
const url = `https://superheroapi.com/api/${superheroApiKey}/1`;

fetch(url)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
Enter fullscreen mode Exit fullscreen mode

Conclusion

This comprehensive list of free APIs for 2024 spans a wide range of categories, offering developers numerous opportunities to enhance their applications with powerful and diverse functionalities. From gaming and music to science and government data, these APIs provide valuable resources for creating innovative and engaging projects.

Feel free to explore these APIs and integrate them into your projects to unlock new possibilities and features. Happy coding!


🌟 Stay Connected with Us!

We’re building a community where innovation thrives and tech enthusiasts grow together. Join us on our journey to inspire, learn, and create!

🌐 Explore More:

📱 Follow Us for Daily Inspiration:


🚀 Visit Us Anytime!

📍 thecampuscoders.com

💬 Explore resources, tutorials, and updates that fuel your tech journey!


✨ Let’s Collaborate, Learn, and Build the Future Together!

Have ideas or suggestions? Reach out to us and be part of something extraordinary!

📧 Contact Us: deepak@thecampuscoders.com

Top comments (7)

Collapse
 
omamaaslam profile image
Omama Aslam

That's good 👍

Collapse
 
raajaryan profile image
Deepak Kumar

Thanku bhai

Collapse
 
kayggggggggg profile image
Khang Duy Truong Phuc

good job!

Collapse
 
raajaryan profile image
Deepak Kumar

Thanks Bro

Collapse
 
kavya-sahai-god profile image
Info Comment hidden by post author - thread only accessible via permalink
Kavya Sahai

Your content has been flagged as low quality by fellow moderators. Please review the Dev.to Terms, particularly the content policy, which states:
"Users are required to make a genuine effort to share content that is relevant, high-quality, and not primarily intended for promotional purposes or generating backlinks."

Collapse
 
webjose profile image
José Pablo Ramírez Vargas

These AI "writers"... cannot even be bothered to check the title. And the paid comments... priceless.

Collapse
 
payamhn profile image
Payam Hoseini

Nice job 🤘🏼

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more