
800 免費API速查開源API列表從選型到跑通的第一小時【免費下載鏈接】public-api-listsA curated list of free public APIs — searchable, community-maintained, with a free JSON API.項目地址: https://gitcode.com/GitHub_Trending/pu/public-api-lists周五晚上要交 demo臨時缺個天氣數(shù)據(jù)源。翻遍官網(wǎng)和注冊頁都嫌慢這時候你會想有沒有一份免費API接口合集打開就能挑public-api-lists 就是干這事的一個社區(qū)維護的開源API列表按 48 個類別收錄了 800 多個免費接口還標好了認證方式和 HTTPS、CORS 支持挑完直接跑。項目數(shù)據(jù)畫像先說規(guī)模不聊虛的。整個列表就是 README.md 一個文件按類別鋪開的大表格收錄總量約 800 個接口當前 798 條覆蓋 48 個類別從動物到天氣、從金融到機器學(xué)習認證分布無需認證 371 個、API 密鑰 346 個、OAuth 77 個——快一半的接口打開就能用每行信息名稱、描述、認證方式、是否 HTTPS、是否支持 CORS五列看全項目還提供一個 JSON 格式的機器可讀接口可以直接拿來批量篩選而不是靠肉眼翻表按場景選API從周末Demo到用戶賬號選 API 別先問支持什么協(xié)議先問我要用到什么程度。周末 Demo直接上無需認證的接口原型階段零配置最重要。動物、動漫、日歷這類分類里無認證接口密集比如 dog.ceo 的隨機狗圖、Open-Meteo 的天氣瀏覽器直接就能請求。// 無認證接口前端直連 fetch(https://dog.ceo/api/breeds/image/random) .then(r r.json()) .then(d console.log(圖片地址:, d.message));坑這類接口不承諾可用性demo 里隨便用別搬進生產(chǎn)。個人小項目API密鑰放環(huán)境變量數(shù)據(jù)要穩(wěn)定匯率、天氣、行情選 apiKey 類。注冊拿密鑰然后存到環(huán)境變量里再讀代碼里一個字符串都別留下import os import requests key os.getenv(API_KEY) # 密鑰從環(huán)境變量讀不寫死 r requests.get( https://api.weatherapi.com/v1/current.json, params{key: key, q: Beijing}, ) print(r.json()[current][temp_c])坑注冊時先看清免費額度按天算還是按月算超了是降速還是直接拒。要接用戶賬號的應(yīng)用走 OAuth只要碰用戶數(shù)據(jù)郵箱、云盤、社交賬號就得走 OAuth。流程固定四步別自己發(fā)明1. 引導(dǎo)用戶跳到服務(wù)商授權(quán)頁 2. 用戶同意回調(diào)帶授權(quán)碼回來 3. 后端用授權(quán)碼換 access token 4. 之后請求帶著 token到期刷新坑申請權(quán)限按最小原則勾用戶數(shù)據(jù)出了事查不到你頭上才是好設(shè)計。分類與生態(tài)速覽48 個類別挑 8 個看不想全文翻的先看這張典型分類表夠覆蓋多數(shù)需求分類收錄數(shù)典型用途天氣 Weather14Demo、數(shù)據(jù)看板加密貨幣 Cryptocurrency23行情、K線圖開發(fā) Development76代碼托管、CI/CD書籍 Books7讀書類應(yīng)用地理位置 Geocoding30地址解析、路由新聞 News14內(nèi)容聚合游戲與漫畫 Games Comics42娛樂向項目金融 Finance26匯率、行情監(jiān)控認證分布畫出來長這樣調(diào)優(yōu)兩招緩存與重試免費API接口合集解決從哪找找到之后還得會用。兩招最實用第一招TTL 緩存。天氣、匯率這種數(shù)據(jù)一小時內(nèi)重復(fù)請求全是浪費// 帶TTL的本地緩存過期才請求 let cached null; async function getWithTtl(url, ttl 3600000) { if (cached Date.now() - cached.t ttl) return cached.data; const data await (await fetch(url)).json(); cached { data, t: Date.now() }; return data; }第二招指數(shù)退避重試。偶發(fā)抖動先重試間隔逐次翻倍避免瞬間打爆對方// 指數(shù)退避1s、2s、4s最多重試3次 async function retry(fn, times 3) { for (let i 0; i times; i) { try { return await fn(); } catch (e) { if (i times - 1) throw e; await new Promise(r setTimeout(r, 1000 * 2 ** i)); } } }你大概率會問的 3 件事Q免費 API 的速率限制一般卡在多少常見是每分鐘幾十個到每天幾千個請求具體看各家文檔。demo 階段幾乎感知不到上了量先算好峰值再定方案。Q表格里 HTTPS 和 CORS 兩列怎么讀HTTPS 是傳輸加密沒有的話別傳敏感數(shù)據(jù)CORS 是瀏覽器跨域前端直連必須看 Yes標 Unknown 的自己實測。Q某個接口突然掛了怎么辦同一分類下通常還有兩三個同類挑認證方式相近的換掉即可這也是按場景選多備選的由來。跑通它 ?克隆倉庫git clone https://gitcode.com/GitHub_Trending/pu/public-api-lists打開 README.md按頂部索引跳到目標分類挑一行無需認證的接口復(fù)制地址直接發(fā)個 GET 請求報錯就先看 CORS 列還是不行再翻該接口的文檔跑通第一個請求比把這篇讀完重要。【免費下載鏈接】public-api-listsA curated list of free public APIs — searchable, community-maintained, with a free JSON API.項目地址: https://gitcode.com/GitHub_Trending/pu/public-api-lists創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考