Tyk is a free, open source api development & testing project written in Go and released under a custom open-source licence. It has 10,873 GitHub stars, 1,169 forks and 509 open issues, and was last pushed 9 hours ago. On this registry it ranks #18 of 186 tracked projects in API Development & Testing, with 5 head-to-head comparisons available. It gained 33 stars over the last 30 tracked days.

What is Tyk?

What it is

Tyk is an open source API Gateway written in Go. The GitHub description names Tyk as an Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols. The tagline names it a Universal API management for REST, GraphQL, gRPC and async. It lives in the developer tools, API development and testing ecosystem. It acts as a reverse proxy for microservices and cloud native workloads.

Tyk solves the problem of putting API traffic under one control point. It lets teams add auth, rate limits, quotas, analytics, and microservice patterns without changing each backend service. It runs as a standalone gateway, in Docker, on Kubernetes, or with the Tyk Kubernetes Operator. The README also points to a self-managed enterprise platform and Tyk Cloud SaaS for the Management Control Plane, Dashboard GUI, and Developer Portal.

Key capabilities

  • Handles REST, GraphQL, gRPC, and TCP protocols as gateway protocols.
  • Applies rate limiting, quotas, authentication, and analytics at the gateway layer.
  • Works as a reverse proxy for microservices and cloud native services.
  • Runs natively on Kubernetes through the Tyk Kubernetes Operator.
  • Deploys with Docker and docker-compose using the Tyk Gateway Docker repository.
  • Offers an open source gateway plus a self-managed and SaaS enterprise platform with Management Control Plane, Dashboard GUI, and Developer Portal.
  • The topic list marks it as api, api-gateway, api-management, cloudnative, go, graphql, grpc, k8s, kubernetes, microservices, reverse-proxy, tyk.

Who uses it and how

  • Teams running many APIs use Tyk as a common edge for REST, GraphQL, gRPC, and TCP traffic.
  • Platform groups use it to apply auth, quotas, rate limits, and analytics without editing each service.
  • Kubernetes users deploy the gateway with the Tyk Kubernetes Operator or the Kubernetes-Native installation.
  • Docker users start the gateway and Redis with tyk-gateway-docker and docker-compose.
  • Organizations comparing an open source gateway with enterprise API management use Tyk Cloud or the self-managed enterprise platform.

Getting started

The typical quick path is to clone TykTechnologies/tyk-gateway-docker, change to the new directory, run docker-compose up, then check localhost:8080/hello. Other listed paths include the Docker image tykio/tyk-gateway, Kubernetes-Native, supported distributions, and hosted Tyk Cloud.

When to use it — and when not to

Use Tyk when a project needs a Go-based open source API gateway for REST, GraphQL, gRPC, and TCP, with auth, rate limiting, quotas, analytics, reverse proxy, and Kubernetes or Docker deployment. Do not use it when the full Management Control Plane, Dashboard GUI, and Developer Portal must come from open source alone; the README points those enterprise platform parts to the self-managed or SaaS option. A self-hoster must also operate Redis for the starter deployment, and repository facts show license NOASSERTION, contributors 0, and open issues 509.

project readme (upstream, from github) — read inline

tyk-github-header License: MPL 2.0 FOSSA Status

GitHub Latest Release GitHub Release Date Docker Pulls GitHub Workflow Status (with event) Go Report Card

GitHub commit activity GitHub Repo Stars GitHub Repo Forks X twitter Follow


Documentation | Forum | Blog | About

Tyk API Gateway

Tyk Gateway is the cloud-native, open source, enterprise-ready API Gateway supporting REST, GraphQL, TCP and gRPC protocols.

Built from the ground up, as the fastest API Gateway on the planet since 2014.

Tyk Gateway is provided ‘Batteries-included’, with no feature lockout. Enabling your organization to rate limit, auth, gather analytics, apply microservice patterns and more with ease.

Tyk runs natively on Kubernetes, if you prefer, thanks to the Tyk Kubernetes Operator

 </br>Everything you need to manage APIs. Follow the simple Get Started guide below 👇

 </br>The Enterprise API Management platform: Management Control Plane, Dashboard GUI & Developer Portal.
 </br><a href="https://tyk.io/api-lifecycle-management/">Install Tyk Self Managed</a>

 </br>The Enterprise API Management platform SaaS: Management Control Plane, Dashboard GUI & Developer Portal.
 </br><a href="https://tyk.io/docs/deployment-and-operations/tyk-cloud-platform/quick-start">Deploy Tyk Cloud </a>

Get Started

We’ll install Tyk, add auth, analytics, quotas and rate limiting to your API in under 5 minutes.

We recommend Tyk Gateway Docker as the quickest way to get started now. Later, you can move to one of our other supported distributions if you prefer.

Step 1 - Clone the docker-compose repository
git clone https://github.com/TykTechnologies/tyk-gateway-docker
Step 2 - Change to the new directory
cd tyk-gateway-docker
Step 3 - Deploy Tyk Gateway and Redis
docker-compose up

You can run this in detach mode using the -d flag: docker-compose up -d

Congratulations, you’re done!

Your Tyk Gateway is now configured and ready to use. Confirm this by checking against the ‘hello’ endpoint:

curl localhost:8080/hello

Output:

{"status": "pass", "version": "v3.2.1", "description": "Tyk GW"}

Next, visit adding your first API to Tyk and follow the Open Source instructions.


Other Installations are available:

  1. Docker
  2. Kubernetes-Native
  3. Kubernetes-Helm
  4. Ansible
  5. Red Hat
  6. Ubuntu
  7. CentOS
  8. Compile Tyk from Source

Open Source API Gateway Features

Use any protocol: REST, SOAP, GraphQL, gRPC, and TCP.

Industry Standard Authentication: OIDC, JWT, bearer Tokens, Basic Auth, Client Certificates and more.

Open API Standards: Import your Swagger and OpenAPI Documents (OAS 2.X and OAS 3.0.1) to scaffold APIs in Tyk.

Ultra performant: Low latency, and thousands of rps with just a single CPU, horizontally and vertically scalable.

Content mediation: Transform all the things, from request or response headers to converting between SOAP and GraphQL.

Extensible Plugin Architecture: Customize Tyk’s middleware chain by writing plugins in your language of choice - from Python to Javascript to Go, or any language which supports gRPC.

Rate Limiting & Quotas: Protect your upstreams from becoming overloaded and/or apply limits for each consumer.

API Versioning - API Versions can be easily set and sunset (deprecated) at a specific time and date.

Granular Access Control - Grant access to one or more APIs on a per version and operation basis.

Blocklist/Allowlist/Ignore endpoint access - Enforce strict security models on a version-by-version basis to your access points.

Analytics logging - Record detailed usage data on who is using your APIs (raw data only)

CORS - Enable CORS for certain APIs so users can make browser-based requests

Webhooks - Trigger webhooks against events such as Quota Violations and Authentication failures

IP AllowListing - Block access to non-trusted IP addresses for more secure interactions

Hitless reloads - Tyk configurations can be altered dynamically and the service restarted without affecting any active request

Kubernetes native declarative API: using Open Source Tyk Operator (more info in OSS section) OpenSourceAPIGateway-Diagram

Tyk Technologies uses the same API Gateway for all it’s applications. Protecting, securing, and processing APIs for thousands of organizations and businesses around the world. Ideal for Open Banking, building software in the clouds as well as exposing APIs to teams, partners & consumers.

Tyk OSS Integrations

Tyk Technologies maintains other Open Source Software which can be used in conjunction with Tyk API Gateway:

Tyk Pump - Pluggable analytics purger to move Analytics generated by your Tyk nodes to any back-end.

Tyk Operator - Brings API Management capabilities to Kubernetes. Configure Ingress, APIs, Security Policies, Authentication, Authorization, Mediation and more - all using Custom Resources and Kubernetes Native primitives

Tyk Identity Broker - Tyk Authentication Proxy for third-party login

Tyk Sync - Command line tool and library to manage and synchronise a Tyk installation with your version control system (VCS).

Tyk Mserv - Asset Server and gRPC host

Documentation

All the documentation for Tyk Gateway and other OSS-related topics can be found at https://tyk.io/docs/tyk-oss-gateway/

Community

Licensing

Tyk is dual-licensed:

  1. Open Source License: The code in the root directory and all subdirectories except the 'ee' folder is released under the MPL v2.0. Please see LICENSE for the full version of the open source license.

  2. Commercial License: The code in the 'ee' folder is subject to a commercial license. For more information about obtaining a commercial license, please contact our sales team at sales@tyk.io.

Compiling Tyk Gateway

Compile from Source

git clone https://github.com/TykTechnologies/tyk
go build

Go version 1.22 is required to build master, the current development version. Tyk is officially supported on Linux/amd64, Linux/i386 and Linux/arm64.

To run tests locally use the following command:

go test ./...

Note that tests require Redis to be running on the same machine (default port).

To write your own test please use this guide https://github.com/TykTechnologies/tyk/blob/master/TESTING.md

Contributing

For more information about contributing PRs and issues, see CONTRIBUTING.md.

—

Frequently asked questions

Is Tyk free to use?

Tyk is open source. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Tyk do?

Universal API management for REST, GraphQL, gRPC & async

What is Tyk written in?

Tyk is primarily written in Go. Its source is publicly available at https://github.com/tyktechnologies/tyk, and it has 10,873 GitHub stars.