Go API

Open-source Go projects categorized as API

Top 23 Go API Projects

  • GitHub repo micro

    Micro is a cloud native development platform (by micro)

    Project mention: Why and how we built Distributed with Next.js and Micro | dev.to | 2021-03-26

    Distributed was built as a jamstack demo to show how you could leverage M3O as an API backend for rapid MVP development. M3O itself is a cloud platform for API development, built on the popular open source project Micro. Micro enables you to quickly build APIs in Go on the backend and M3O provides simple free hosting of those services.

  • GitHub repo chi

    lightweight, idiomatic and composable router for building Go HTTP services

    Project mention: Feasible to use labstack/echo with a jamstack? | reddit.com/r/golang | 2021-04-02

    Quick tip regarding the use of echo. Unlike many other language ecosystems (node, ruby, python, etc.), web frameworks on frowned upon by the go community and not commonly used in practice. Much of the ecosystem is designed to interoperate directly with the http package types... wrapping them with echo will inhibit this interpretability and carry few benefits. That said, routing specifically can be tricky, so checkout the https://github.com/go-chi/chi router.

  • GitHub repo up

    Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS. (by apex)

    Project mention: JavaScript Influencers to Follow in 2021🤩 | dev.to | 2021-04-01

    Projects: apex/up, git-extras, koajs/koa, clibs/clib, commander.js

  • GitHub repo GoSwagger

    Swagger 2.0 implementation for go

    Project mention: Code Generation | reddit.com/r/golang | 2021-04-10

    https://goswagger.io/ (makes swagger compatible API's from definitions or code)

  • GitHub repo Tyk

    Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols

    Project mention: Microservices Design - API Gateway Pattern | dev.to | 2021-01-01

    Amazon API Gateway AWS provides fully managed service for creating, publishing, maintaining, monitoring, and securing REST, HTTP, and WebSocket where developers can create APIs that access AWS or other web services, as well as data stored in the AWS Cloud. Kong API Gateway Kong Gateway is an open-source, lightweight API gateway optimized for microservices, delivering unparalleled latency performance and scalability. If you just want the basics, this option will work for you. It is scalable easily horizontally by adding more nodes. It supports large and variable workloads with very low latency. Other API Gateways Apigee API Gateway MuleSoft Tyk.io Akana SwaggerHub Azure API Gateway Express API Gateway Karken D Choosing the right API gateway Some of the common baseline for evaluation criteria include simplicity, open-source vs propriety, scalability & flexibility, security, features, community, administrative (support, monitoring & deployment), environment provisioning(installation, configuration, hosting offering), pricing, and documentation. API Composition / Aggregation Some API requests in API Gateway map directly to single service API which can be served by routing request to the corresponding microservice. However, in the case of complex API operations that requires results from several microservices can be served by API composition/aggregation (a scatter-gather mechanism). In case of dependency of one another service where synchronous communication is required, the chained composition pattern has to be followed. The composition layer has to support a significant portion of ESB/integration capabilities such as transformations, orchestration, resiliency, and stability patterns. A root container is deployed with the special distributor and aggregator functionalities (or microservices). The distributor is responsible for breaking down into granular tasks and distributing those tasks to microservice instances. The aggregator is responsible for aggregating the results derived by business workflow from composed microservice. API Gateway and Aggregation API gateway with added features results in overambitious gateways that encourage designs that continue to be difficult to test and deploy. It is highly recommended to avoid aggregation and data transformation in the API Gateway. Domain smarts are better suited to be done in application code that follows the defined software development practices. Netflix API Gateway, Zuul 2 removed a lot of the business logic from Gateway that they had in Zuul to origin systems. For more details, refer here. Service Mesh and API Gateway Service mesh in microservices is a configurable network infrastructure layer that handles interprocess communication. This is akin to what is often termed as sidecar proxy or sidecar gateway. It provides a lot of functionalities such as:

  • GitHub repo Gotify

    A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui) (by gotify)

    Project mention: Push notification service | reddit.com/r/linux | 2021-03-14

    Gotify might fit the bill.

  • GitHub repo Ponzu

    Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.

    Project mention: Dive to Clean Architecture with Golang | dev.to | 2020-12-19

    github - ponzu-cms/ponzu

  • GitHub repo qor

    QOR is a set of libraries written in Go that abstracts common features needed for business applications, CMSs, and E-commerce systems.

  • GitHub repo goa

    Design-based APIs and microservices in Go

    Project mention: Code Generation | reddit.com/r/golang | 2021-04-10

    https://goa.design/ (makes a 'hexagonal' architecture micro-service)

  • GitHub repo gotenberg

    A Docker-powered stateless API for converting HTML, Markdown and Office documents to PDF

    Project mention: Best free .NET core 5.0 HTML to PDF to use? | reddit.com/r/dotnet | 2021-03-27

    I use the GotenbergSharpApiClient with the Gotenberg Microservice running in a docker container. Works great and has a nice fluent/faceted request builder.

  • GitHub repo Mercure

    Server-sent live updates: protocol and reference implementation

    Project mention: Live - A net/http compatible Phoenix LiveView implementation | reddit.com/r/golang | 2020-12-31
  • GitHub repo gock

    HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽

    Project mention: HTTP mocking | reddit.com/r/golang | 2021-03-20

    If you need a good library for mocking http servers https://github.com/h2non/gock does a great job.

  • GitHub repo hprose

    Hprose is a cross-language RPC. This project is Hprose for Golang.

  • GitHub repo Goyave

    🍐 Elegant Golang REST API Framework

    Project mention: ORM FOR GO | reddit.com/r/golang | 2021-03-17

    Check out Goyave

  • GitHub repo kin-openapi

    OpenAPI 3.0 implementation for Go (parsing, converting, validation, and more)

    Project mention: Do you use swagger to generate backends? | reddit.com/r/golang | 2021-04-08

    Then define the corresponding YAML/JSON specification (again manually) either using Swagger 2.0 (with go-swagger) or OpenAPI 3 (with kin-openapi), and

  • GitHub repo kapow

    Kapow! If you can script it, you can HTTP it.

    Project mention: minimal site analytics? | reddit.com/r/suckless | 2021-03-28
  • GitHub repo PassWall

    PassWall Server is the core backend infrastructure for PassWall platform

  • GitHub repo Gearbox

    Gearbox :gear: is a web framework written in Go with a focus on high performance

  • GitHub repo Golang API Starter Kit

    Go Server/API boilerplate using best practices DDD CQRS ES gRPC

  • GitHub repo ocrserver

    A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well

  • GitHub repo iota.go

    IOTA Go API Library. Find documentation on https://docs.iota.org/

    Project mention: Will client libraries work after Chrysalis/2.0? | reddit.com/r/Iota | 2021-03-20

    There is one. Here: https://github.com/iotaledger/iota.go/tree/chrysalis/phase2

  • GitHub repo CleverGo Web Framework

    :tongue: CleverGo is a lightweight, feature rich and high performance HTTP router for Go.

  • GitHub repo drago

    A flexible configuration manager for Wireguard networks

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-04-10.

Index

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

Project Stars
1 micro 9,919
2 chi 9,210
3 up 8,161
4 GoSwagger 6,289
5 Tyk 6,156
6 Gotify 5,675
7 Ponzu 5,196
8 qor 4,705
9 goa 4,198
10 gotenberg 2,534
11 Mercure 2,378
12 gock 1,204
13 hprose 1,148
14 Goyave 819
15 kin-openapi 799
16 kapow 534
17 PassWall 501
18 Gearbox 482
19 Golang API Starter Kit 379
20 ocrserver 360
21 iota.go 324
22 CleverGo Web Framework 246
23 drago 219