Displaying 1 to 20 from 24 results

noodle - A node server and module which allows for cross-domain page scraping on web documents with JSONP or POST

  •    Javascript

The noodle tests create a temporary server on port 8889 which the automated tests tell noodle to query against. Contributors and suggestions welcomed.

Sharq Server - A flexible rate limited queueing system

  •    Python

SHARQ is a flexible, open source, rate limited queuing system. Based on the Leaky Bucket Algorithm, SHARQ lets you create queues dynamically and update their rate limits in real time. SHARQ consists of two components - the core component and the server component. The SHARQ core is built on Redis, using Python and Lua, and the SHARQ Server is built using Flask and Gevent and talks HTTP.

bucket4j - Java rate limiting library based on token/leaky-bucket algorithm.

  •    Java

Copyright 2015-2019 Vladimir Bukhtoyarov Licensed under the Apache Software License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.

express-rate-limit - Basic rate-limiting middleware for express

  •    Javascript

Basic rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset. Note: this module does not share state with other processes/servers by default. If you need a more robust solution, I recommend using an addon store or trying out one of the excelent competing options.




ex_rated - ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it

  •    Elixir

If you use the PhoenixFramework there is also a great blog post on Rate Limiting a Phoenix API by danielberkompas describing how to write a plug to use ExRated in your own API. Its fast and its easy. The ExRated.check_rate function will return an {:ok, Integer} tuple if its OK to proceed with your rate limited function. The Integer returned is the current value of the incrementing counter showing how many times in the time scale window your function has already been called. If you are over limit a {:error, Integer} tuple will be returned where the Integer is always the limit you have specified in the function call.

node-token-dealer - Circumvent API rate limits by having several API tokens and let the dealer manage and give them to you

  •    Javascript

Circumvent API rate limits by having several API tokens and let the dealer manage and give them to you. Several public APIs, such as GitHub and Twitter, have rate limits applied per account. To multiply these rate limits, you must have a farm of tokens associated to multiple accounts, either donated or created by you. This is where token-dealer comes in, making it easy to manage these tokens and their usage.

node-redis-rolling-limit - Rolling rate limit in redis via a lua script

  •    Javascript

A rolling rate limit using Redis. Original idea from Peter Hayes. Uses a lua script for atomic operations and to prevent blocked actions from substracting from the bucket. Creates a new RollingLimit instance.

opq - A simple, in-memory queue with worker pooling and rate limiting in Elixir.

  •    Elixir

A simple, in-memory queue with worker pooling and rate limiting in Elixir. OPQ leverages Erlang's queue module and Elixir's GenStage. Originally built to support Crawler.


throttled-queue - Throttles arbitrary code to execute a maximum number of times per interval

  •    Javascript

Throttles arbitrary code to execute a maximum number of times per interval. Best for making throttled API requests. For example, making network calls to popular APIs such as Twitter is subject to rate limits. By wrapping all of your API calls in a throttle, it will automatically adjust your requests to be within the acceptable rate limits.

request-rate-limiter - Call HTTP APIs that have rate limits and allow request bursts

  •    Javascript

Call HTTP APIs that have rate limits and allow request bursts. This module depends on a leaky-bucket for doing the rate limit. Backs off when a HTTP 429 «Too Many Requests» is encountered. The constructor accepts one argument. The argument can be a number (the rate limit) or an config object.

ghrequestor - A resilient, rate-limit aware GitHub API client.

  •    Javascript

GHRequestor is a relatively low-level facility intended for traversing large graphs of GitHub resources. Its primary usecase is GHCrawler, an engine that walks subsections of GitHub collecting related resources. This not intended to replace great modules like octonode or github. The API is modelled after the standard node request libarary and the underlying requestretry library. It works with promises or callbacks and allows you to create pre-initialized requestor instances (with options setup) for injection into subsystems etc.

node-fast-ratelimit - :umbrella: Fast and efficient in-memory rate-limit for Node, used to alleviate most common DOS attacks

  •    Javascript

Fast and efficient in-memory rate-limit, used to alleviate most common DOS attacks. This rate-limiter was designed to be as generic as possible, usable in any NodeJS project environment, regardless of wheter you're using a framework or just vanilla code.

service_decorators - Simplify your microservice development

  •    Go

You might think it must be RPC end point part, which makes your business logic as a real service can be accessed from the network. But, this is not true. By leveraging the opensource RPC packages, such as, apache thrift, gRPC, this part could be extremely easy except defining your service interface with some IDL.

node-token-dealer - Circumvent API rate limits by having several API tokens and let the dealer manage and give them to you

  •    Javascript

Circumvent API rate limits by having several API tokens and let the dealer manage and give them to you. Several public APIs, such as GitHub and Twitter, have rate limits applied per account. To multiply these rate limits, you must have a farm of tokens associated to multiple accounts, either donated or created by you. This is where token-dealer comes in, making it easy to manage these tokens and their usage.

spillway - A simple, distributed and flexible rate limiter

  •    Java

Simple, flexible, distributable rate limiting for your application

caddy-rate-limit - A rate limit plugin for caddy

  •    Go

Excessive requests will be terminated with an error 429 (Too Many Requests)! And X-RateLimit-RetryAfter header will be returned.

node-simple-rate-limiter - A simple way to rate limit how often a function is executed.

  •    Javascript

A simple way to limit how often a function is executed. Currently works with node.js v0.10.1+ (and probably lower).

mongo-throttle - Basic IP rate-limiting middleware for Express stored in mongoDB

  •    Javascript

Basic IP rate-limiting middleware for Express stored in MongoDB. Use to throttle or limit incoming request rate. Let MongoDB do the heavy lifting and synchronization of throttling/rate-limiting requestors. This Express middleware registers and maintains a rate limit for each requesting IP address. It uses MongoDB's built-in expiration index to automatically sweep out expired Throttle records.