JavaScript API

Open-source JavaScript projects categorized as API | Edit details

Top 23 JavaScript API Projects

  • GitHub repo Strapi

    🚀 Open source Node.js Headless CMS to easily build customisable APIs

    Project mention: Are there any enterprise-level apps built with svelte? | | 2021-10-17

    Use strapi. It's french like . I love strapi for simple jobs. There is a Tut for svelte & strapi on their website. Look here:

  • GitHub repo ccxt

    A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges

    Project mention: Websockets with flask and cryptocurrency apis in python | | 2021-10-03
  • Syncfusion

    Syncfusion - See why our products are consistently getting 4.6 out of 5 stars by your peers.. Syncfusion Essential Studio for JavaScript is a modern UI control library built from the ground up to be lightweight, responsive, modular, and touch-friendly.

  • GitHub repo normalizr

    Normalizes nested JSON according to a schema

    Project mention: We just launched our product on Product Hunt which is entirely made with React Native | | 2021-09-08

    We've struggled with the navigation too. We rely on Interaction Manager and Pure component. We are trying to make sure no component should not render without a reason, we're still optimizing the app. I'd recommend this package called Why Did You Render. It helps us to find the culprit and mitigate it. And since our app is heavily relied upon Redux, we use normalizr for better optimization.

  • GitHub repo insomnia

    The open-source, cross-platform API client for GraphQL, REST, and gRPC.

    Project mention: We do it well | | 2021-10-13
  • GitHub repo JSDoc

    An API documentation generator for JavaScript.

    Project mention: Adding request and response validation to your Express REST API | | 2021-08-31

    The swagger-jsdoc package enables us to do this. It looks for JSDoc comments in code (annotated with an @openapi tag) to generate the OpenAPI specification.

  • GitHub repo web3.js

    Ethereum JavaScript API

    Project mention: Governor vows criminal prosecution of reporter who found flaw in state website | | 2021-10-14

    > but they don't realize how hard it is to build these systems correctly.

    In this case, it sounds like the SSNs were included in their entirety in the HTML. My first response is that its a stupid and obvious mistake, but I think it might be too suspiciously easy to only blame the developers here.

    I think we have a larger problem - which is that there's a hidden cost to adding extra layers of magic to software. And on the web, we seem to just not be able to help ourselves. The cost is that developers often skip actually understanding how the new layers work. And the abstractions are leaky with respect to performance and security, and sometimes functionality.

    Its easy to imagine how this bug slipped through. They had a database query which fetched the data for rendering. Then they used some "magic" framework which does server side rendering & hydration. So the server sent the JSON it used to render to the client to dehydrate the page, and that JSON happened to include the raw database rows (with SSNs). The system is magic enough so you don't have to understand how that process works; but not magic enough to protect you from the consequences.

    Junior devs use the magic anyway and get stuck, or make mistakes like this. Senior devs feel like we have to learn everything and get overwhelmed.

    Other examples of this:

    - Recently I wanted to use some rust code (compiled to wasm via wasm-pack) in a svelte project with snowpack or rollup. I know how to include wasm in a webpage, but the bundlers needed special plugins to handle this. And the plugins for wasm are halfbaked, poorly maintained and janky.

    - I worked with a team a few years ago who was using some graphql wrapper around contentful. (Before contentful had an official graphql endpoint). The wrapper was very good, but we needed to run some queries that weren't supported by the wrapper. This was close to impossible. Nobody on the team was strong enough to read the graphql code to figure out how to solve our problem. I did it eventually - via some custom endpoints. But I shouldn't have. After I left the team had no idea how to maintain or modify the code I wrote, and they were entirely stuck.

    - The "web obesity crisis" comes from projects pulling giant amounts of javascript into their webpages. Our tooling makes this easy (npm install) and safe (incompatible versions of the same package are included separately). So its easy to end up with libraries like web3, which include about a dozen different versions of bn.js resulting in 2.3mb of uncompressed JS which takes nearly a second to parse on a modern computer. - [1]

    I don't know what the answer here is, but I know when I was writing qbasic as a kid it wasn't like this. Maybe we need to stop going "up the stack", and instead go sideways - throwing things out as we add more. I worry this whole problem will get much worse before it gets any better.

  • GitHub repo SpaceX-API

    :rocket: Open Source REST API for SpaceX launch, rocket, core, capsule, starlink, launchpad, and landing pad data.

    Project mention: Top API's for next JavaScript Project | | 2021-08-30

    5. SpaceX API

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo node-telegram-bot-api

    Telegram Bot API for NodeJS

    Project mention: How to Create a Telegram Bot with Node.js and Sanity | | 2021-06-22

    The node package we're working with, [node-telegram-bot-api](, comes with great documentation. Let's start with one of the methods from the README. We'll tell our bot to send an introduction anytime a user runs /start.

  • GitHub repo Newman

    Newman is a command-line collection runner for Postman

    Project mention: Build a Node.js API in Under 30 Minutes | | 2021-10-11

    For this example, you want to build 4 routes; to CREATE a note, to READ your notes, to UPDATE a note, and to DELETE a note. This will give you a good idea of how to structure almost any basic route with Node. To test your API, though, you need to mimic a client side making requests. To do so, you’ll use a great app called Postman. It allows you to make simple HTTP requests with custom bodies and parameters. Install Postman, and let’s start setting up your routes.

  • GitHub repo vue-apollo

    🚀 Apollo/GraphQL integration for VueJS

    Project mention: Defining many controllers for a model for different API endpoints each requiring its own subset of fields of the model thus ensuring that DB querying is optimized and that no bandwidth is wasted serving up unnecessary data that is not to be rendered | | 2021-09-12

    Cool, if you do go with graphql, I'd recommend vue-apollo on the client end. Combine with @vue/apollo-composable and graphql-codegen and it feels like sorcery.

  • GitHub repo miniprogram-demo

    微信小程序组件 / API / 云开发示例

    Project mention: Mini programs on larger apps like wechat. Can you do it with react native ? | | 2021-04-27

    However, there's a demo on their GitHub, they do use npm and a lot of JavaScripts.

  • GitHub repo lib

    Autocode CLI and standard library tooling

    Project mention: Autocode just got 10x faster and is now deployless: Instant Node.js endpoints in the cloud | | 2021-01-14
  • GitHub repo dredd

    Language-agnostic HTTP API Testing Tool

    Project mention: Is it possible to automate Api testing without writing any aditional code ? | | 2021-09-29

    Dredd: this is the classic API testing tool and it's been around for years. Dredd works by looking at your API specification and figuring out what tests need to be generated to validate your API implementation. You don't need to write any additional code, although you may want to create your own custom hooks to customise Dredd's behaviour. Dredd hooks are useful for example to test resource endpoints (the likes of /todo/{todo_id}) and to clean up your database from any resources created during the test suite. I wrote a tutorial on how to write Dredd hooks which you may find useful.

  • GitHub repo whatsapp-web.js

    A WhatsApp client library for NodeJS that connects through the WhatsApp Web browser app

    Project mention: I made a WhatsApp bot to solve Math problems | | 2021-07-12

    I am fascinated by chatbots. They can carry out any task automatically for you and can be invoked at a single command. I found bots on Discord and was intrigued to make one for WhatsApp. But, WhatsApp doesn't share its official API with everyone. Fortunately, many workarounds exist using WhatsApp Web. I used whatsapp-web.js to ease authentication and messaging controls. It provides a simple WhatsApp Web client built using Node & Puppeteer.

  • GitHub repo react-refetch

    A simple, declarative, and composable way to fetch data for React components

  • GitHub repo boring-avatars

    Boring avatars is a tiny JavaScript React library that generates custom, SVG-based, round avatars from any username and color palette.

    Project mention: A little React library to replace your boring fallback avatars | | 2021-06-01
  • GitHub repo Swagger Client

    Javascript library to connect to swagger-enabled APIs via browser or nodejs

  • GitHub repo wretch

    A tiny wrapper built around fetch with an intuitive syntax. :candy:

    Project mention: AxleJS - Fetch supercharged. | | 2021-08-28

    You might be interested in Wretch, it's very lightweight and has a nice middleware facility.

  • GitHub repo lad

    :boy: Lad is the best Node.js framework. Made by a former Express TC and Koa team member.

  • GitHub repo google-translate-api

    A free and unlimited API for Google Translate :dollar::no_entry_sign:

    Project mention: [English > Any] Is there an online app that accepts CSV/JSON or sth of texts and translates them using Google Translate? | | 2021-08-31

    I have tried with two packages ([1](, [2]( and failed to make them work. Is there an online tool anywhere perhaps?

  • GitHub repo Paste JSON as Code • quicktype

    Xcode extension to paste JSON as Swift, Objective-C, and more

    Project mention: Help with parsing dynamic JSON. | | 2021-10-13

    I like using to generate Swift models for me if I have some random JSON. For your example I had to remove the weird escapes and put both JSON examples into one JSON array to get a model that supports both cases. The output is:

  • GitHub repo WebODM

    User-friendly, commercial-grade software for processing aerial imagery. 🛩

    Project mention: What is similar to Google Earth/Maps but with current images or at maybe a few days old. | | 2021-05-01

    Satellite imagery is expensive especially because you can only take photos when the satellite is overhead. For something like this, a drone is most likely your best bet, even if it takes a bit of effort to get it working. There are a bunch of tools out there that will handle the stitching of imagery for you like

  • GitHub repo vue-api-query

    💎 Elegant and simple way to build requests for REST API

    Project mention: New and Noteworthy Vue.js Open Source Projects. Part 2 | | 2021-03-01

    GitHub: GitHub Stars: 1.1k

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-10-17.


What are some of the best open-source API projects in JavaScript? This list will help you:

Project Stars
1 Strapi 40,250
2 ccxt 21,441
3 normalizr 20,548
4 insomnia 18,085
5 JSDoc 12,386
6 web3.js 11,592
7 SpaceX-API 8,865
8 node-telegram-bot-api 5,622
9 Newman 5,493
10 vue-apollo 5,472
11 miniprogram-demo 5,111
12 lib 3,764
13 dredd 3,732
14 whatsapp-web.js 3,665
15 react-refetch 3,411
16 boring-avatars 3,148
17 Swagger Client 2,294
18 wretch 2,260
19 lad 2,086
20 google-translate-api 1,949
21 Paste JSON as Code • quicktype 1,657
22 WebODM 1,566
23 vue-api-query 1,508
Find remote API jobs at our new job board There are 3 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.