Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Rolstenhouse/unofficial-apis

A collection of unofficial apis. Designed to inspire your next Friday night hack
https://github.com/Rolstenhouse/unofficial-apis

Last synced: about 2 months ago
JSON representation

A collection of unofficial apis. Designed to inspire your next Friday night hack

Awesome Lists containing this project

README

        

# Unofficial APIs
A collection of unofficial api libraries. Designed to inspire your next Friday night hack. Use at your own discretion.

If you're interested in being notified of newly added unofficial APIs and other featured projects [sign up here](https://forms.gle/e8nCivpTBNftNtgGA)

Interested in adding your own API library, submit a pull request. Instructions can be found in `Contributing.md`

## Index
[Entertainment](#entertainment)

[Finance](#finance)

[Food](#food)

[Health](#health)

[Messaging](#messaging)

[Misc.](#misc)

[Productivity](#productivity)

[Schools](#schools)

[Sports](#sports)

[Transportation](#transportation)

### Entertainment
*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[IFunny](https://github.com/theabbie/ifunny) | iFunny API | JavaScript | [![badge](https://img.shields.io/github/stars/theabbie/ifunny.svg?style=social&label=Star&maxAge=2592000)](https://github.com/theabbie/ifunny/stargazers) | [![badge](https://img.shields.io/github/last-commit/theabbie/ifunny.svg)](https://github.com/theabbie/ifunny)
[Instagram](https://github.com/instagram4j/instagram4j) | instagram4j | Java | [![badge](https://img.shields.io/github/stars/instagram4j/instagram4j.svg?style=social&label=Star&maxAge=2592000)](https://github.com/instagram4j/instagram4j/stargazers) | [![badge](https://img.shields.io/github/last-commit/instagram4j/instagram4j.svg)](https://github.com/instagram4j/instagram4j)
[Instagram](https://github.com/ahmdrz/goinsta) | Instagram API | Go | [![badge](https://img.shields.io/github/stars/ahmdrz/goinsta.svg?style=social&label=Star&maxAge=2592000)](https://github.com/ahmdrz/goinsta/stargazers) | [![badge](https://img.shields.io/github/last-commit/ahmdrz/goinsta.svg)](https://github.com/ahmdrz/goinsta)
[Instagram](https://github.com/ping/instagram_private_api) | Instagram Private API | Python | [![badge](https://img.shields.io/github/stars/ping/instagram_private_api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/ping/instagram_private_api/stargazers) | [![badge](https://img.shields.io/github/last-commit/ping/instagram_private_api.svg)](https://github.com/ping/instagram_private_api)
[Instagram](https://github.com/dilame/instagram-private-api) | Instagram API | TypeScript | [![badge](https://img.shields.io/github/stars/dilame/instagram-private-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/dilame/instagram-private-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/dilame/instagram-private-api.svg)](https://github.com/dilame/instagram-private-api)
[Twitter (X)](https://github.com/d60/twikit/) | Twikit | Python | [![badge](https://img.shields.io/github/stars/d60/twikit.svg?style=social&label=Star&maxAge=2592000)](https://github.com/d60/twikit/stargazers) | [![badge](https://img.shields.io/github/last-commit/d60/twikit.svg)](https://github.com/d60/twikit)
[MMA](https://github.com/valish/mma-api) | Mixed Martial Arts/UFC api | Javascript | [![badge](https://img.shields.io/github/stars/valish/mma-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/valish/mma-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/valish/mma-api.svg)](https://github.com/valish/mma-api)
[Nintendo Switch](https://github.com/ZekeSnider/NintendoSwitchRESTAPI) | REST API for nintendo switch | Documentation | [![badge](https://img.shields.io/github/stars/ZekeSnider/NintendoSwitchRESTAPI.svg?style=social&label=Star&maxAge=2592000)](https://github.com/ZekeSnider/NintendoSwitchRESTAPI/stargazers) | [![badge](https://img.shields.io/github/last-commit/ZekeSnider/NintendoSwitchRESTAPI.svg)](https://github.com/ZekeSnider/NintendoSwitchRESTAPI)
[PokeApi](https://github.com/PokeAPI/pokeapi) | Pokemon API | Hosted | [![badge](https://img.shields.io/github/stars/PokeAPI/pokeapi.svg?style=social&label=Star&maxAge=2592000)](https://github.com/PokeAPI/pokeapi/stargazers) | [![badge](https://img.shields.io/github/last-commit/PokeAPI/pokeapi.svg)](https://github.com/PokeAPI/pokeapi)
[Pokemon Go](https://github.com/pogodevorg/pgoapi) | Pokemon Go API | python | [![badge](https://img.shields.io/github/stars/pogodevorg/pgoapi.svg?style=social&label=Star&maxAge=2592000)](https://github.com/pogodevorg/pgoapi/stargazers) | [![badge](https://img.shields.io/github/last-commit/pogodevorg/pgoapi.svg)](https://github.com/pogodevorg/pgoapi)
[Tik-Tok](https://github.com/szdc/tiktok-api) | Tik-tok API | JavaScript | [![badge](https://img.shields.io/github/stars/szdc/tiktok-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/szdc/tiktok-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/szdc/tiktok-api.svg)](https://github.com/szdc/tiktok-api)
[Tinder](https://github.com/fbessez/Tinder) | Tinder API | Python | [![badge](https://img.shields.io/github/stars/fbessez/Tinder.svg?style=social&label=Star&maxAge=2592000)](https://github.com/fbessez/Tinder/stargazers) | [![badge](https://img.shields.io/github/last-commit/fbessez/Tinder.svg)](https://github.com/fbessez/Tinder)
[Tinder](https://github.com/tinderjs/tinderjs) | Tinder API | JavaScript | [![badge](https://img.shields.io/github/stars/tinderjs/tinderjs.svg?style=social&label=Star&maxAge=2592000)](https://github.com/tinderjs/tinderjs/stargazers) | [![badge](https://img.shields.io/github/last-commit/tinderjs/tinderjs.svg)](https://github.com/tinderjs/tinderjs)
[Tinder](https://github.com/jzarca01/node-tinder) | Tinder API | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-tinder.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-tinder/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-tinder.svg)](https://github.com/jzarca01/node-tinder)
[Wikipedia](https://github.com/fastily/jwiki) | Wikipedia API | Java | [![badge](https://img.shields.io/github/stars/fastily/jwiki.svg?style=social&label=Star&maxAge=2592000)](https://github.com/fastily/jwiki/stargazers) | [![badge](https://img.shields.io/github/last-commit/fastily/jwiki.svg)](https://github.com/fastily/jwiki)
[Wikipedia](https://github.com/martin-majlis/Wikipedia-API) | Wikipedia API | Python | [![badge](https://img.shields.io/github/stars/martin-majlis/Wikipedia-API.svg?style=social&label=Star&maxAge=2592000)](https://github.com/martin-majlis/Wikipedia-API/stargazers) | [![badge](https://img.shields.io/github/last-commit/martin-majlis/Wikipedia-API.svg)](https://github.com/martin-majlis/Wikipedia-API)
[HLTV](https://github.com/dchoruzy/hltv-data) | HLTV API | Python | [![badge](https://img.shields.io/github/stars/dchoruzy/hltv-data.svg?style=social&label=Star&maxAge=2592000)](https://github.com/dchoruzy/hltv-data/stargazers) | [![badge](https://img.shields.io/github/last-commit/dchoruzy/hltv-data.svg)](https://github.com/dchoruzy/hltv-data)
[Urban Dictionary](https://github.com/bocong/urbandictionary-py) | Urban Dictionary API | Python | [![badge](https://img.shields.io/github/stars/bocong/urbandictionary-py.svg?style=social&label=Star&maxAge=2592000)](https://github.com/bocong/urbandictionary-py/stargazers) | [![badge](https://img.shields.io/github/last-commit/bocong/urbandictionary-py.svg)](https://github.com/bocong/urbandictionary-py)

### Finance

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[Coinbase](https://github.com/danpaquin/coinbasepro-python) | Trade crypto | Python | [![badge](https://img.shields.io/github/stars/danpaquin/coinbasepro-python.svg?style=social&label=Star&maxAge=2592000)](https://github.com/danpaquin/coinbasepro-python/stargazers) | [![badge](https://img.shields.io/github/last-commit/danpaquin/coinbasepro-python.svg)](https://github.com/danpaquin/coinbasepro-python)
[Robinhood](https://github.com/robinhood-unofficial/pyrh) | Access and trade using Robinhood account info | Python | [![badge](https://img.shields.io/github/stars/robinhood-unofficial/pyrh.svg?style=social&label=Star&maxAge=2592000)](https://github.com/robinhood-unofficial/pyrh/stargazers) | [![badge](https://img.shields.io/github/last-commit/robinhood-unofficial/pyrh.svg)](https://github.com/robinhood-unofficial/pyrh)
[Tastyworks](https://github.com/boyan-soubachov/tastyworks_api) | Tastyworks (an options trader) | Python | [![badge](https://img.shields.io/github/stars/boyan-soubachov/tastyworks_api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/boyan-soubachov/tastyworks_api/stargazers) | [![badge](https://img.shields.io/github/last-commit/boyan-soubachov/tastyworks_api.svg)](https://github.com/boyan-soubachov/tastyworks_api)

### Food

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[Deliveroo](https://github.com/jzarca01/node-deliveroo) | Order food from Deliveroo | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-deliveroo.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-deliveroo/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-deliveroo.svg)](https://github.com/jzarca01/node-deliveroo)
[Deliveryhero](https://github.com/kenodressel/lieferheld-api) | Order food from Deliveryhero & Lieferheld | JavaScript / Node.js | [![badge](https://img.shields.io/github/stars/kenodressel/lieferheld-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/kenodressel/lieferheld-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/kenodressel/lieferheld-api)](https://github.com/kenodressel/lieferheld-api)
[Dominos](https://github.com/RIAEvangelist/node-dominos-pizza-api) | Order food from Dominos | JavaScript | [![badge](https://img.shields.io/github/stars/RIAEvangelist/node-dominos-pizza-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/RIAEvangelist/node-dominos-pizza-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/RIAEvangelist/node-dominos-pizza-api.svg)](https://github.com/RIAEvangelist/node-dominos-pizza-api)
[Dominos](https://github.com/tomasbasham/dominos) | Order food from Dominos | Python | [![badge](https://img.shields.io/github/stars/tomasbasham/dominos.svg?style=social&label=Star&maxAge=2592000)](https://github.com/tomasbasham/dominos/stargazers) | [![badge](https://img.shields.io/github/last-commit/tomasbasham/dominos.svg)](https://github.com/tomasbasham/dominos)
[Jimmy John's](https://github.com/mmahler2/JimmyJohns) | Order food from Jimmy John's | JavaScript | [![badge](https://img.shields.io/github/stars/mmahler2/JimmyJohns.svg?style=social&label=Star&maxAge=2592000)](https://github.com/mmahler2/JimmyJohns/stargazers) | [![badge](https://img.shields.io/github/last-commit/mmahler2/JimmyJohns.svg)](https://github.com/mmahler2/JimmyJohns)
[Karma](https://github.com/jzarca01/node-karma) | Stop wasting food with Karma | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-karma.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-karma/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-karma.svg)](https://github.com/jzarca01/node-karma)
[Uber Eats](https://github.com/jzarca01/node-ubereats) | A minimalist API for Uber Eats | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-ubereats.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-ubereats/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-ubereats.svg)](https://github.com/jzarca01/node-ubereats)

### Health

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[COVID-19 Coronavirus](https://github.com/NovelCOVID/API) | API for current cases and more around covid | JavaScript | [![badge](https://img.shields.io/github/stars/NovelCOVID/API.svg?style=social&label=Star&maxAge=2592000)](https://github.com/NovelCOVID/API/stargazers) | [![badge](https://img.shields.io/github/last-commit/NovelCOVID/API.svg)](https://github.com/NovelCOVID/API)
[Google Nest](https://github.com/gboudreau/nest-api) | Google's smart thermostat API | php | [![badge](https://img.shields.io/github/stars/gboudreau/nest-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/gboudreau/nest-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/gboudreau/nest-api.svg)](https://github.com/gboudreau/nest-api)
[MyFitnessPal](https://github.com/coddingtonbear/python-myfitnesspal) | Access your meal tracking data on MyFitnessPal | Python | [![badge](https://img.shields.io/github/stars/coddingtonbear/python-myfitnesspal.svg?style=social&label=Star&maxAge=2592001)](https://github.com/coddingtonbear/python-myfitnesspal/stargazers) | [![badge](https://img.shields.io/github/last-commit/coddingtonbear/python-myfitnesspal)](https://github.com/coddingtonbear/python-myfitnesspal)
[Peloton](https://github.com/geudrik/peloton-client-library) | Peloton workout and health stats | Python | [![badge](https://img.shields.io/github/stars/geudrik/peloton-client-library.svg?style=social&label=Star&maxAge=2592000)](https://github.com/geudrik/peloton-client-library/stargazers) | [![badge](https://img.shields.io/github/last-commit/geudrik/peloton-client-library.svg)](https://github.com/geudrik/peloton-client-library)

### Messaging

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[Discord](https://github.com/discordjs/discord.js) | An unofficial nodejs client for the discord API | JavaScript | [![badge](https://img.shields.io/github/stars/discordjs/discord.js.svg?style=social&label=Star&maxAge=2592000)](https://github.com/discordjs/discord.js/stargazers) | [![badge](https://img.shields.io/github/last-commit/discordjs/discord.js)](https://github.com/discordjs/discord.js)
[iMessage](https://github.com/wtfaremyinitials/osa-imessage) | Use iMessage via an API on your own computer | JavaScript | [![badge](https://img.shields.io/github/stars/wtfaremyinitials/osa-imessage.svg?style=social&label=Star&maxAge=2592000)](https://github.com/wtfaremyinitials/osa-imessage/stargazers) | [![badge](https://img.shields.io/github/last-commit/wtfaremyinitials/osa-imessage.svg)](https://github.com/wtfaremyinitials/osa-imessage)

### Misc

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[FedEx Ship Manager® API](https://github.com/fulldecent/fedex-ship-manager-api) | Create shipments and generate labels | Documentation | [![badge](https://img.shields.io/github/stars/fulldecent/fedex-ship-manager-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/fulldecent/fedex-ship-manager-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/fulldecent/fedex-ship-manager-api)](https://github.com/fulldecent/fedex-ship-manager-api)
[Lego](https://github.com/rolledback/LegoSharp) | C# library for working with various Lego services | C# | [![badge](https://img.shields.io/github/stars/rolledback/LegoSharp.svg?style=social&label=Star&maxAge=2592000)](https://github.com/rolledback/LegoSharp/stargazers) | [![badge](https://img.shields.io/github/last-commit/rolledback/LegoSharp)](https://github.com/rolledback/LegoSharp)
[Quick-Quiz-Api](https://github.com/prkhrv/Quick-Quiz-API) | API for Latest Trivia | JavaScript | [![badge](https://img.shields.io/github/stars/prkhrv/Quick-Quiz-API.svg?style=social&label=Star&maxAge=2592000)](https://github.com/prkhrv/Quick-Quiz-API/stargazers) | [![badge](https://img.shields.io/github/last-commit/prkhrv/Quick-Quiz-API)](https://github.com/prkhrv/Quick-Quiz-API)
[Seedr](https://github.com/theabbie/seedr-api) | API for seedr.cc | JavaScript | [![badge](https://img.shields.io/github/stars/theabbie/seedr-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/theabbie/seedr-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/theabbie/seedr-api.svg)](https://github.com/theabbie/seedr-api)
[Wiktionary](https://github.com/Suyash458/WiktionaryParser) | A Python Wiktionary Parser | Python | [![badge](https://img.shields.io/github/stars/Suyash458/WiktionaryParser.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Suyash458/WiktionaryParser) | [![badge](https://img.shields.io/github/last-commit/Suyash458/WiktionaryParser.svg)](https://github.com/Suyash458/WiktionaryParser)

### Productivity

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[Notion](https://github.com/jamalex/notion-py) | Python based notion API | Python | [![badge](https://img.shields.io/github/stars/jamalex/notion-py.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jamalex/notion-py/stargazers) | [![badge](https://img.shields.io/github/last-commit/jamalex/notion-py.svg)](https://github.com/jamalex/notion-py)
[Notion](https://github.com/kjk/notionapi) | Go based notion API | Go | [![badge](https://img.shields.io/github/stars/kjk/notionapi.svg?style=social&label=Star&maxAge=2592000)](https://github.com/kjk/notionapi/stargazers) | [![badge](https://img.shields.io/github/last-commit/kjk/notionapi.svg)](https://github.com/kjk/notionapi)
[Quora](https://github.com/csu/quora-api) | Quora based api | Python | [![badge](https://img.shields.io/github/stars/csu/quora-api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/csu/quora-api/stargazers) | [![badge](https://img.shields.io/github/last-commit/csu/quora-api.svg)](https://github.com/csu/quora-api)

### Schools

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[(UF) University of Florida](https://github.com/Rolstenhouse/uf_api) | Understanding UF's publicly accessible links | php | [![badge](https://img.shields.io/github/stars/Rolstenhouse/uf_api.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Rolstenhouse/uf_api/stargazers) | [![badge](https://img.shields.io/github/last-commit/Rolstenhouse/uf_api.svg)](https://github.com/Rolstenhouse/uf_api)
[University of Maryland](https://github.com/umdio/umdio) | An open API for the University of Maryland | Ruby | [![badge](https://img.shields.io/github/stars/umdio/umdio.svg?style=social&label=Star&maxAge=2592000)](https://github.com/umdio/umdio/stargazers) | [![badge](https://img.shields.io/github/last-commit/umdio/umdio)](https://github.com/umdio/umdio)

### Sports

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[Magic SeaWeed](https://github.com/jzarca01/node-msw) | An API for the weather monitoring app Magic SeaWeed (MSW) | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-msw.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-msw/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-msw.svg)](https://github.com/jzarca01/node-msw)
[NHL API Documentation](https://gitlab.com/dword4/nhlapi) | Documenting the publicly accessible portions of the NHL API | English | [![badge](https://img.shields.io/badge/dynamic/json?url=https://gitlab.com/api/v4/projects/6582969&label=Stars&query=star_count&color=important&style=social)](https://gitlab.com/dword4/nhlapi) | [![badge](https://img.shields.io/badge/dynamic/json?url=https://gitlab.com/api/v4/projects/6582969&label=Last%20Activity&query=last_activity_at&color=important)](https://gitlab.com/dword4/nhlapi)
[NobodySurf](https://github.com/jzarca01/node-nobodysurf) | An API for the video app NobodySurf | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-nobodysurf.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-nobodysurf/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-nobodysurf.svg)](https://github.com/jzarca01/node-nobodysurf)

### Transportation

*API* | *Description* | *Language* | *Stars* | *Last Commit*
--- | --- | --- | --- | ---
[Bird](https://github.com/jzarca01/node-bird-lite) | An API for Bird scooters | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-bird-lite.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-bird-lite/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-bird-lite.svg)](https://github.com/jzarca01/node-bird-lite)
[Bolt](https://github.com/jzarca01/node-bolt) | An API for the ride-hailing app Bolt | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-bolt.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-bolt/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-bolt.svg)](https://github.com/jzarca01/node-bolt)
[OUI.sncf](https://github.com/maxmouchet/locomotive) | API client for France's trains. | Python | [![badge](https://img.shields.io/github/stars/maxmouchet/locomotive.svg?style=social&label=Star&maxAge=2592000)](https://github.com/maxmouchet/locomotive/stargazers) | [![badge](https://img.shields.io/github/last-commit/maxmouchet/locomotive.svg)](https://github.com/maxmouchet/locomotive)
[Rome2Rio](https://github.com/jzarca01/node-rome2rio) | API client for the Rome2Rio app. | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-rome2rio.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-rome2rio/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-rome2rio.svg)](https://github.com/jzarca01/node-rome2rio)
[Wind](https://github.com/jzarca01/node-wind-lite) | An API for wind scooters | JavaScript | [![badge](https://img.shields.io/github/stars/jzarca01/node-wind-lite.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jzarca01/node-wind-lite/stargazers) | [![badge](https://img.shields.io/github/last-commit/jzarca01/node-wind-lite.svg)](https://github.com/jzarca01/node-wind-lite)