• Stars
    star
    2,344
  • Rank 19,621 (Top 0.4 %)
  • Language
  • Created almost 10 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A curated list of awesome resources for design and implement RESTful API's.

Awesome API Awesome Build Status

A curated list of awesome resources for design and implement RESTful APIs.

Design

Overview

REST allows us to create services and applications that can be used by any device or client who understands HTTP.

Status Code

When you are using a REST design you have to provide the HTTP status code that are the more appropriated to respond to the request.

Authentication

JWT

JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.

Authorization

OAuth

An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications

Caching

Security

Format

  • HAL – Simple format that gives a consistent and easy way to hyperlink between resources in your API (see: HATEOAS).
  • Hydra – Vocabulary for Hypermedia-Driven Web APIs (W3C).
  • JSend – Simple specification that lays down some rules for how JSON responses from web servers should be formatted.
  • JSON API – Standard for building APIs in JSON.
  • JSON-LD – Standard for describing Linked Data and hypermedia relations in JSON (W3C).
  • OData – Open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex.
  • RAML – Simple and succinct way to describe RESTful API.
  • Schema.org – Collection of schemas describing common data models.

Discover

Need a API for your projects?

Curated list

Directory

Testing

Querying

  • Firecamp – Protocol agnostic API testing client which help you test and manage RestAPIs, GraphQL, Websocket and many more.
  • httpie – Command line HTTP client, far more dev-friendly than curl.
  • HttpMaster – GUI tool for testing REST APIs and services. Windows OS only.
  • jq – Command line JSON processor, to use in combination with a command-line HTTP client like cURL.
  • Insomina – A Fancy HTTP REST Client.
  • resty – Little command line REST client that you can use in pipelines (bash or zsh).
  • TestMace – A modern powerful crossplatform tool for working with API and creating automated API tests.

Mocking

  • Beeceptor - Beeceptor helps intercepting API calls and mocking them selectively. Creates an endpoint for wrapping original API and routes requests.
  • FakeRest – Patch XMLHttpRequest to fake a REST API client-side.
  • JSON Placeholder – Free online REST service that you can use whenever you need some fake data.
  • json-server – Get a full fake REST API with zero coding in less than 30 seconds.
  • Mocky.io – Free online service to create fake HTTP responses.
  • FakeQL – Mainly focused on GraphQL, but can mock RESTful APIs, as well.
  • PIPL API – Free and public API that generates random and fake people's data in JSON
  • API Mocha - Free online service providing fake REST API endpoints, create customizable responses and download rules as a Postman collection.

Response

  • httpstat.us – A super simple service for generating different HTTP codes.
  • httpbin – httpbin(1): HTTP Request & Response Service.
  • badssl – Testing clients against bad SSL configs.

Documentation

One of the most important part of your API is have a good documentation and updated with the code.

Free

Services

Logging

Modeling and SaaS

Based in DDD (Domain Driven Development). Generates automatically API's in different languages.

Libraries

Used it to improve your workflow

  • hello.js – A client-side Javascript SDK for authenticating with OAuth2.
  • nock – HTTP Server mocking for Node.js
  • node-ratelimiter – Rate limiter for Node.js backed by Redis.
  • node-uuid – Simple and fast generation of UUIDS.
  • Supertest – Super-agent driven library for testing HTTP servers.

Frameworks

Designed specifically for building RESTful API's Quickly.

Gateways

Manage API infrastructure concerns such as authentication/authorization, rate limiting, scaling, analytics, etc.

Open Source / Self-hosted

More Repositories

1

uno-zen

Minimalist and Elegant theme for Ghost. Demo @ https://kikobeats.com
CSS
872
star
2

js-mythbusters

πŸ‘» STHAP js, where is my perf?
SCSS
630
star
3

awesome-github

An exquisite list of awesome :octocat: secrets.
596
star
4

awesome-network-js

A 🎩 list of network layer resources written pure JS.
541
star
5

awesome-cli

A curated list of awesome resources for building immersive CLI experiences.
207
star
6

cacheable-response

An HTTP compliant route path middleware for serving cache response with invalidation support.
JavaScript
204
star
7

tom

tom 🐢 is a backoffice for your projects
JavaScript
138
star
8

react-clap-button

A Medium like clap button
JavaScript
119
star
9

git-authors-cli

It detects project contributors; add contributors into `package.json`
JavaScript
109
star
10

top-user-agents

A list of most common User Agent used on Internet.
JavaScript
96
star
11

awesome-gif

A curated list of awesome gif's resources.
91
star
12

emojis-list

Complete list of standard emojis.
JavaScript
88
star
13

free-email-domains

A comprehensive list of all free email domain providers.
JavaScript
76
star
14

array-future

A collection of Array prototypes prollyfills as proposition for ECMAScript 7.
CoffeeScript
73
star
15

svr

HTTP development server done right
CSS
71
star
16

osom

An Awesome [/osom/] Object Data Modeling (Database Agnostic).
JavaScript
69
star
17

nodengine

Node.js version switcher based on engines at `package.json`.
JavaScript
68
star
18

aws-lambda-chrome

Chrome binary compatible with AWS Lambda.
JavaScript
56
star
19

json-future

Modern JSON interface.
JavaScript
55
star
20

automate-release

No more manual work in your software releases.
HTML
52
star
21

oh-my-terminal

Simple and unmistakable terminal interface for NodeJS.
CoffeeScript
49
star
22

farm-cli

Resilient multi-process architecture from your CLI
JavaScript
49
star
23

to-query

Get query object from a request url
JavaScript
44
star
24

regexgen-cli

CLI interface for regexgen. Generates regular expressions that match a set of strings.
JavaScript
35
star
25

compress-brotli

Simple cross Node.js inteface for using brotli compression
JavaScript
35
star
26

hyperlru

Tiny & Fast LRU Implementation as possible.
JavaScript
34
star
27

http-compression

Adding compression (gzip/brotli) for your HTTP server in Node.js.
JavaScript
32
star
28

reachable-url

Given an URL, it resolves as fast as possible, performing a GET without downloading the body.
JavaScript
31
star
29

human-number

Convert number to a human readable string: `13500` β†’ `13.5K`
JavaScript
31
star
30

whoops

It makes simple create qualified errors.
JavaScript
31
star
31

count

counting things, as microservice
JavaScript
30
star
32

untracked

Universal way for ignoring unnecessary common files to fit your bundle
JavaScript
29
star
33

server-sandbox

Learn how to configure a server to provide typical services for the web.
Shell
28
star
34

json-stringify-deterministic

Deterministic version of JSON.stringify() so you can get a consistent hash from stringified results.
JavaScript
26
star
35

sails-hook-newrelic

Integrates newrelic with your Sails application
JavaScript
25
star
36

macdown-flatland-theme

Flatland theme for Mou Markdown editor
20
star
37

react-boilerplatinum

A React scaffold focused in developer experience
HTML
20
star
38

tweet-selection

Tweet selected text. Like Medium but out of the box.
JavaScript
18
star
39

finepack

Organizes and maintains readable your JSON files.
CoffeeScript
18
star
40

top-sites

List of the top 500 domains and pages on the web.
JavaScript
17
star
41

voll

A boolean expressions evaluator.
JavaScript
17
star
42

json-parse-async

The missing JSON.parse async interface.
CoffeeScript
17
star
43

eachdir

Run one or more commands in one or more dirs.
Shell
16
star
44

cloudflare-workers-kv

Node.js library to interact with CloudFlare Workers KV.
JavaScript
16
star
45

top-crawler-agents

A list of common crawler user agents useful for retrieving metadata from links.
JavaScript
15
star
46

hyperdiff

Find common, removed and added element between two collections.
JavaScript
15
star
47

awesome-full-text-search

A curated list of πŸ” full text search engines and stuff related with it.
15
star
48

sails-hook-winston

Integrates winston logging system with your Sails application
JavaScript
14
star
49

map-values-deep

Recursive lodash.mapValues
JavaScript
14
star
50

tom-example

A tom microservice example
Shell
14
star
51

is-emoji-keyword

Check if a word is a emoji shortcut.
CoffeeScript
14
star
52

emojis-keywords

Complete list of emoji shortcuts. The list is a 1:1 map of emojis-list.
JavaScript
14
star
53

simple-wappalyzer

A simple way to interacting with Wappalyzer.
JavaScript
14
star
54

dotfiles

.files, including ~/.osx β€” sensible hacker defaults for OS X
Shell
14
star
55

sort-keys-recursive

Sort the keys of an array/object recursively.
JavaScript
13
star
56

emojis-unicode

Complete list of standard Unicode codes that represent emojis.
JavaScript
13
star
57

process-stats

Human readable stats for your Node.js process.
JavaScript
12
star
58

is-url-http

Check if an URL is a valid HTTP URL.
JavaScript
11
star
59

promise-async

Adds Promises bindings for async library. Works with callbacks as well.
JavaScript
11
star
60

colorable-dominant

Create ARIA-compliant color themes based on a predominant color palette.
JavaScript
11
star
61

country-vat

Get a country VAT rate. ISO 3166-1 compliant.
JavaScript
10
star
62

superlock

A mutex/semaphore implementation made easy to use.
JavaScript
10
star
63

fetch-timeline-cli

Fetch Twitter user's timeline from your terminal ⚑.
JavaScript
10
star
64

html-urls

Get all urls from a HTML markup
JavaScript
10
star
65

req-country

Given a request, get the country associated with it. ISO 3166-1 alpha-2 compliant.
JavaScript
9
star
66

generator-git

πŸ“ Generate an Impeccable Tailored project
JavaScript
9
star
67

color-microservice

Get color information from any URL image microservice
JavaScript
9
star
68

aspect-ratio

Get the screen aspect ratio of a device.
JavaScript
8
star
69

react-atv-img-demo

Apple TV 3D parallax effect as component
JavaScript
8
star
70

bs-pretty-message

Overlay a fullscreen message to all browsers, but maintained.
HTML
8
star
71

use-query-state

React hook to set/retrieve state from URL query string.
JavaScript
8
star
72

git-garbage

Delete local git branches after deleting them on the remote repository.
Shell
8
star
73

cb2promise

It converts from standard NodeJS callback into a ES2015 Promise.
JavaScript
8
star
74

uno-urban

Simple and Elegant personal theme for Ghost.
HTML
8
star
75

is-european

Check if a country is part of the EU (European Union) or EEA (European Economic Area). ISO 3166-1 compliant.
JavaScript
8
star
76

doh-resolver

A (multi) DNS-over-HTTPS resolver for Node.js
JavaScript
8
star
77

twdown

Get MP4/MP3 video url from any Twitter video
JavaScript
7
star
78

array-list

Simple array list implementation.
JavaScript
7
star
79

pdf-microservice

Get the PDF version of a website as service.
JavaScript
7
star
80

kikobeats.com

ma website yo
HTML
6
star
81

afterglow-monokai-syntax

Afterglow Monokai syntax style for Atom
Less
6
star
82

hyper-flat

Flat Hyper theme
JavaScript
6
star
83

miconfig

Configuration loader for Node.js, browsers & Deno.
JavaScript
6
star
84

exists-file

Check if a file exists. A fs.exists implementation that is not deprecated.
JavaScript
6
star
85

awesome-cli-dx

A curated list of awesome CLI's pattern for building smooth experiences.
5
star
86

git-dirty

Ensures the working directory is clean and that there are no unpulled changes.
Shell
5
star
87

html-scripts

It parses HTML markup and returns you all the scripts.
JavaScript
5
star
88

microsoft-capitalize

Sentence-style capitalization in titles and headings based on Microsoft Styleguide
JavaScript
5
star
89

svg-gradient

Generate a SVG gradient from CSS
JavaScript
5
star
90

beauty-error

Getting a beauty error. Oriented for well printed errors. Be beauty, no ugly.
JavaScript
5
star
91

get-social-video-url

Get video URL from a social link (Facebook/Twitter/Vimeo/etc).
JavaScript
5
star
92

fetch-timeline

Fetch Twitter user timeline using a readable stream.
JavaScript
5
star
93

simple-dsl

Simple DSL based on <key,value> designed to work together fulltext search engines.
JavaScript
5
star
94

is-sql-injection

Check if a string contains an SQL injection.
JavaScript
5
star
95

superb-es

Get superb (spanish) like words.
JavaScript
5
star
96

is-tracking-domain

Determinate if a domain is a tracker
JavaScript
5
star
97

react-codecopy

A React component for "Copy to clipboard" button for your code snippets
JavaScript
5
star
98

react-atv-img

JavaScript
4
star
99

fmt-obj-cli

Pretty any JavaScript Object in your console
JavaScript
4
star
100

react-atv-logo

Clearbit API + Apple TV 3D Parallax
JavaScript
4
star