InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 23 Go REST-API Projects
-
⭐ Fiber on GitHub (35k+ stars)
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: Show HN: Go-Zero Reaches 30k GitHub Stars a Milestone Worth Celebrating | news.ycombinator.com | 2025-03-03
It's already been fixed two years ago. Please check it here: https://github.com/zeromicro/go-zero/security/advisories/GHS...
-
This post focuses on the last part. Despite Grafana's many built-in notification channels (Contact Point in Grafana's terminology), I am more interested in using ntfy, a small but powerful notification service that works as a pub/sub tool with a decent API, Web frontend and mobile application.
-
Example: The following code snippet was adapted from go-chi: https://github.com/go-chi/chi. It creates a simple web server with one http endpoint to process large files provided as multipart requests, and uses a semaphore to limit global concurrency, ensuring the service never processes more than a fixed number of files at once — regardless of how many users hit the endpoint.
-
gRPC Gateway is an open-source project that serves as a protocol translator between HTTP/JSON and gRPC. It was developed to solve a common challenge in modern microservice architectures: how to leverage gRPC's high-performance benefits for internal service communication while still providing accessible REST APIs for external clients.
-
gofr
An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.
Project mention: 🚀 Building Observable gRPC Streaming Services with GoFr: A Step-by-Step Guide | dev.to | 2025-05-15If you've ever built real-time systems with gRPC streaming, you know how challenging it can be to monitor long-lived connections. Today, I'll show you how to add full observability (logs, metrics, traces) to your gRPC streams using GoFr – with almost zero manual instrumentation!
-
yao
✨ Yao is an all-in-one application engine that enables developers to create web apps, REST APIs, business applications, and more, with AI as a development partner.
GitHub https://github.com/YaoApp/yao GitHub Star 7.1k GitHub Fork 650k GitHub Issue 76 GitHub Pull Request / GitHub Contributor 9 Most Recent Update on GitHub Within one day Open Source License Apache-2.0 Official Website https://yaoapps.com/ Documentation /
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
A simple Google search returns https://github.com/oapi-codegen/oapi-codegen
I get wanting to be productive and gravitating towards patterns you’re familiar with but in the end it’s all bloat. http can do routing and patterns and cookies and sessions. database/sql can do your DAL work. uuid (various implementations) work for user/tenant uid+oid obfuscation. JWT libs for auth. You can literally json.unmarshal your config for your whole application or use godotenv to use environment variables. template/html for views. Golang has batteries, it’s just you don’t know what you don’t know so you expect a certain perspective that isn’t how we do things. Like joining a new company, things are different here. If you spent some time to learn the “go way” you’d realize that you don’t need the bloat, you just need the structure. The “where I expect it”.
-
pREST
PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
-
-
huma
A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema.
Solutions to this problem generate API documentation automatically. Libraries such as drf-spectacular use code structure and semantics in back-end frameworks to infer API contracts. API frameworks such as FastAPI and Huma generate OpenAPI specifications as a built-in feature. Tools like mitmproxy2swagger generate documentation from HAR files. Finally, companies such as Akita Software/Postman use network traffic metadata.
-
hoverfly
Lightweight service virtualization/ API simulation / API mocking tool for developers and testers
Hoverfly: A lightweight service virtualization tool specializing in API simulation and traffic capture for realistic mocks. It's particularly useful for cloud-native applications and supports CI/CD integration.
-
-
With tools like ogen[1], one can take a single Swagger or OpenAPI doc and generate server code with request/response validation, Prometheus metrics, OpenTelemetry, and more.
It can also generate clients and webhooks. Authentication is just declaring a SecurityScheme in the OpenAPI documentation then implementing a single function. The rest of the backend is just implementing a single interface. Unlike oapi-codegen, there is no need to tinker with middleware for authentication or logging.
Pair this with a tool like sqlc[2] and SQLite's `pragma user_version`, and you get type-safe database code and database migrations for free. I will concede that adding SQLite is a manual process, but its just two imports added to main.go.
Frontend is entirely your choice. Go's standard library provides good enough text templating that I don't miss ERB or Django-style templates. Using embed/fs, one can easily embed a bunch of assets into a single static binary, so deployment can be as simple as `go build` and moving a single binary.
I actually have a hard time using languages besides Go for developing backends, because the code generation tools eliminate the boilerplate I frequently face in other languages while also avoiding the hundreds of dependencies that Spring Boot or Quarkus need.
[1] https://ogen.dev/
-
chanify
Chanify is a safe and simple notification tools. This repository is command line tools for Chanify.
-
-
-
drago
☁️ Securely connect anything with WireGuard® and manage all your networks from a single place.
-
BricksLLM
🔒 Enterprise-grade API gateway that helps you monitor and impose cost or rate limits per API key. Get fine-grained access control and monitoring per user, application, or environment. Supports OpenAI, Azure OpenAI, Anthropic, vLLM, and open-source LLMs.
-
-
-
service-pattern-go
Simple clean Go REST API architecture with dependency injection and mocking example, following SOLID principles.
-
In this article, I will show you how to create an automated OpenAPI schema validation to ensure your API stays backwards compatible. We will use NestJS CLI plugin to generate a schema and oasdiff to validate it.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go REST-API discussion
Go REST-API related posts
-
Grafana Webhook Integration with ntfy
-
gRPC API Gateway: Bridging the Gap Between REST and gRPC
-
How to Implement Mock APIs for API Testing
-
SignalBotOne – Notification Webhooks for Signal
-
Generated reverse-proxy server which translates a RESTful JSON API into gRPC
-
The cost of Go's panic and recover
-
API testing through simulations
-
A note from our sponsor - InfluxDB
www.influxdata.com | 18 May 2025
Index
What are some of the best open-source REST-API projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | Fiber | 36,427 |
2 | go-zero | 30,955 |
3 | ntfy | 22,758 |
4 | chi | 19,731 |
5 | grpc-gateway | 19,216 |
6 | gofr | 10,618 |
7 | yao | 7,281 |
8 | oapi-codegen | 7,077 |
9 | pREST | 4,351 |
10 | vulcain | 3,538 |
11 | huma | 3,070 |
12 | hoverfly | 2,409 |
13 | automatic-api | 2,058 |
14 | ogen | 1,706 |
15 | chanify | 1,290 |
16 | REST Layer | 1,251 |
17 | caffeine | 1,181 |
18 | drago | 1,117 |
19 | BricksLLM | 1,042 |
20 | eliasdb | 1,016 |
21 | Go-Clean-Architecture-REST-API | 886 |
22 | service-pattern-go | 872 |
23 | oasdiff | 868 |