2024你不得不知道的免费API

简介: 本文首发于微信公众号“前端徐徐”,介绍了 2024 年各领域的免费 API 列表,涵盖游戏、语言、音乐、安全、科学、体育、Web 应用、产品、健康、政府和地理、食品、开源项目、电影和漫画等多个类别。每个 API 均提供官网链接、简介及示例代码,帮助开发者轻松集成第三方服务,增强应用程序的功能和用户体验。

本文首发微信公众号:前端徐徐。

前言

API(应用程序编程接口)是开发人员必不可少的工具,使他们能够将第三方服务集成到他们的应用程序中。以下是 2024 年各个类别的免费 API 的详尽列表,以及每个 API 的网站链接、说明和示例代码。

游戏类

Steam Community API

  • 官网: steamcommunity.com/dev
  • 简介: Steamworks Web API 提供了各种 Steam 功能(例如用户身份验证、库存管理和游戏数据)的接口。
  • 示例:
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));

Riot Games API

  • 官网: developer.riotgames.com
  • 简介: 访问《英雄联盟》、《云顶之弈》、《Valorant》等游戏的数据。提供有关比赛、排名、冠军和其他游戏相关统计数据。
  • 示例:
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));

语言类

Evil Insult Generator API

  • : evilinsult.com/api
  • 简介: 为了好玩或测试目的,用各种语言随机生成侮辱性话语。
  • 示例:
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));

Fun Translations API

  • 官网: funtranslations.com/api
  • 简介: 将文本翻译成各种有趣的语言,如尤达语言、莎士比亚语言、小黄人语言等等。
  • 示例:
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));

音乐类

Spotify Web API

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

安全类

Have I Been Pwned API

  • 官网: haveibeenpwned.com/API/v2
  • 简介: 检查您的电子邮件或用户名是否已遭遇数据泄露。提供有关泄露、粘贴和密码泄露的数据。
  • 示例:
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));

hodan API

  • 官网: developer.shodan.io
  • 简介: Shodan 是一个互联网连接设备的搜索引擎。它提供全球各种服务器、设备和系统的数据。
  • 示例:
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));

科学类

NASA API

  • 官网: api.nasa.gov
  • 简介: 访问 NASA 数据集中的数据,包括天文照片、行星数据等。
  • 示例:
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));

Wolfram Alpha API

  • 官网: products.wolframalpha.com/api
  • 简介: 提供对 Wolfram Alpha 的大量计算知识的访问,包括数学计算、数据分析等。
  • 示例:
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));

Open Science Framework API

  • 官网: developer.osf.io
  • 简介: 从开放科学框架访问研究数据、项目管理工具和其他科学资源。
  • 示例:
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));

体育类

NBA API

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

Web应用类

Discord API

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

Slack API

  • 官网: api.slack.com
  • 简介: 访问 Slack 功能,例如消息传递、用户数据和工作区管理。
  • 示例:
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));

产品类

Car Query API

  • 官网: carqueryapi.com
  • 简介: 访问汽车数据,包括品牌、型号和年份信息。
  • 示例:
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));

Yelp API

  • 官网: yelp.com/developers
  • 简介: 访问本地企业的数据,包括评论、评级和企业详情。
  • 示例:
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));

健康类

Healthcare.gov API

  • 官网: healthcare.gov/developers
  • 简介: 访问有关医疗保健计划、提供商目录和其他健康相关信息的数据。
  • 示例:
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));

政府和地理类

Code.gov API

  • 官网: code.gov
  • 简介: 访问联邦政府软件项目的数据,包括代码存储库和项目详细信息。
  • 示例:
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));

Data.gov API

  • 官网: data.gov/developers/apis
  • 简介: 访问美国政府的广泛数据集,包括天气、教育和健康数据。
  • 示例:
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));

Data.europa.eu API

  • 官网: data.europa.eu/en
  • 简介: 访问来自欧盟机构和团体的开放数据。
  • 示例:
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));

TransLoc API

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

食品类

Open Food Facts API

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

Taco Fancy API

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

开源项目类

Libraries.io API

  • 官网: libraries.io/api
  • 简介: 访问有关开源项目的数据,包括依赖信息、版本历史记录等。
  • 示例:
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));

电影和漫画类

Chuck Norris Jokes API

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

Final Space API

  • 官网: finalspaceapi.com
  • 简介: 访问《太空终界》电视节目的数据,包括角色、剧集等。
  • 示例:
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));

Kitsu API

  • 官网: kitsu.docs.apiary.io
  • 简介:访问动漫和漫画的数据,包括系列信息、评论和用户评分。
  • 示例:
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));

Marvel API

  • 官网: developer.marvel.com
  • 简介: 访问有关漫威漫画、人物和创作者的数据。
  • 示例:
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));

PokeAPI

  • 官网: pokeapi.co
  • 简介:访问有关 Pokémon 的数据,包括种类、能力和游戏信息。
  • 示例:
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));

Rick and Morty API

  • 官网: rickandmortyapi.com
  • 简介: 访问 Rick and Morty 电视节目的数据,包括角色、剧集和地点。
  • 示例:
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));

Simpsons Quotes API

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

Star Wars API

  • 官网: swapi.tech
  • 简介: 访问有关星球大战宇宙的数据,包括电影、人物、星际飞船和行星。
  • 示例:
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));

Superhero API

  • 官网: superheroapi.com
  • 简介: 访问有关各种超级英雄的数据,包括他们的力量、传记和图像。
  • 示例:
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));

总结

2024 年免费 API 的完整列表涵盖了广泛的类别,为开发人员提供了大量机会,以强大而多样的功能增强他们的应用程序。从游戏和音乐到科学和政府数据,这些 API 为创建创新且引人入胜的项目提供了宝贵的资源。

请随意探索这些 API 并将其集成到您的项目中,以解锁新的可能性和功能。祝您编码愉快!

相关文章
|
19小时前
|
自然语言处理 前端开发 Java
API管理平台:你用的到底是哪个?
本文介绍了多个API管理和文档工具,包括Apifox、Swagger及其增强版Knife4j和RapiDoc、阿里RAP、去哪儿YApi以及Redoc。这些工具各有特色,适用于不同的开发场景。Apifox提供一体化协作平台,支持API文档、调试、Mock和测试;Swagger结合Knife4j适合Java与前端团队,界面美观且功能丰富;YApi则适用于跨语言开发,支持多种API形式的管理;阿里RAP专注于接口文档管理和Mock服务;Redoc则是开源的现代化API文档浏览器。总结而言,选择工具应根据团队需求和技术栈来决定。
34 12
|
6月前
|
XML 自然语言处理 API
个人微信开发api文档
个人微信开发api文档
|
XML JSON 监控
API 开发完全指南
本指南将详尽探讨API开发的基本要素,包括涉及的概念、类型和协议,以及可用的最佳实践和工具。我们将从揭示API在现代软件开发中的作用开始,阐明它们如何促进不同软件组件之间的无缝通信。之后,我们将深入研究各种API类型,如RESTful、GraphQL和SOAP,并分析它们独特的特点和理想用例。 接下来将讨论API设计的关键方面,重点关注API安全性、可扩展性和可维护性。我们将讨论常见的身份验证和授权机制、速率限制以及API版本控制等其他基本主题。最后,我们将介绍领先的API开发工具和框架以及文档和测试的价值,确保你具备开发高质量、高效且安全API所需的知识和资源。
1675 0
|
JSON 测试技术 API
|
JSON API 网络架构
12 个值得收藏的免费 API
当你准备开始创建一个新的应用,学习一门新的技术,开发一个新的功能的时候;当你已经做好了所有的准备,这个时候你在想:我的数据要如何去模拟生成?
392 0
12 个值得收藏的免费 API
|
XML JSON 网络协议
API与API管理,需要注意什么?
API全称为应用程序编程接口,通俗来讲就是不需要访问程序的源代码,也不需要理解程序实现的方式,只需要通过访问相应接口的URL并填写需要获得的数据的参数名,来获取需要的参数信息。 一个接口可以是一个简单的应用程序,例如电商平台、快递查询、手机归属地查询等等,这些都可以是接口,并且可以直接填写参数取值。
|
SQL JSON 中间件
超全API使用工具
如今,API已在软件、Web和移动应用程序开发领域无处不在,从企业内部到面向公众的应用以及与合作伙伴进行系统集成。通过使用API,开发人员可以创建满足各种客户需求的应用程序。而软件架构也在随着应用程序开发方法的改变而改变。
|
机器学习/深度学习 人工智能 文字识别
免费常用API汇总
工作、生活免费常用API汇总
487 0
免费常用API汇总
|
缓存 JSON 监控
【API 管理】什么是 API 管理,为什么它很重要?
【API 管理】什么是 API 管理,为什么它很重要?
|
移动开发 数据可视化 前端开发
WebAudio API 入门
之前也有做过前端音频相关的操作,之前的做法是创建一个 audio 标签,需要播放提示音时调用 audio 实例的 play 方法,从而实现提示音的效果。
317 0