<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw" -->

---
title: Unleash the power of ngrok with our Go SDK | daily.dev
description: The ngrok Go SDK (ngrok-go) lets developers embed secure ingress directly into their Go applications instead of running the ngrok agent separately. It provides...
canonical: https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Unleash the power of ngrok with our Go SDK | daily.dev
og:description: The ngrok Go SDK (ngrok-go) lets developers embed secure ingress directly into their Go applications instead of running the ngrok agent separately. It provides...
og:url: https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw
og:image: https://api.daily.dev/og/posts/1pihXvAUW.png
og:image:alt: Unleash the power of ngrok with our Go SDK
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Unleash the power of ngrok with our Go SDK

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 5 min read · 0 upvotes · 0 comments

## Summary

The ngrok Go SDK (ngrok-go) lets developers embed secure ingress directly into their Go applications instead of running the ngrok agent separately. It provides built-in modules for visibility (User-Agent filtering), performance (response compression), availability (circuit breaking), and security (basic auth, OAuth, OIDC, IP restrictions), plus integrations with tools like Datadog and AWS CloudWatch. A note at the top flags that the SDK has since reached v2, modernizing the API and adding Traffic Policy support.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/unleash-ngrok-with-go-sdk>

## Questions this post answers

### What does the ngrok Go SDK (ngrok-go) provide for securing and deploying Go applications?

The ngrok Go SDK lets developers embed a secure internet connection directly into a Go application via a net.Listener object rather than running a separate agent. It includes modules for visibility through User-Agent header filtering, performance via response compression, availability through circuit breaking, and security via basic auth, OAuth, OIDC, and IP restriction rules using CIDR blocks.

_Developers wiring ingress and auth into Go services can track SDK changes like these on daily.dev._

### How does the circuit breaker module in ngrok-go work?

The circuit breaker module in ngrok-go rejects traffic to an endpoint once upstream error rates cross a configured threshold, preventing complete downtime during overload. Developers call withCircuitBreaker with a decimal error threshold, such as config.withCircuitBreaker(0.5) to stop traffic once 5XX responses from the upstream exceed 50%.

_Teams designing resilience patterns for Go services can follow tooling updates like this on daily.dev._

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#golang](https://daily.dev/tags/golang), [#authentication](https://daily.dev/tags/authentication), [#api-gateway](https://daily.dev/tags/api-gateway)

[View this post on daily.dev](https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Unleash the power of ngrok with our Go SDK","url":"https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw"},"datePublished":"2026-08-23T07:21:33.401Z","dateModified":"2026-08-23T07:28:35.003Z","description":"The ngrok Go SDK (ngrok-go) lets developers embed secure ingress directly into their Go applications instead of running the ngrok agent separately. It provides...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/830edec557a89f6266d51123266ce0c9?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/830edec557a89f6266d51123266ce0c9?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,golang,authentication,api-gateway","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"Unleash the power of ngrok with our Go SDK"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/unleash-the-power-of-ngrok-with-our-go-sdk-1pihxvauw#faq","mainEntity":[{"@type":"Question","name":"What does the ngrok Go SDK (ngrok-go) provide for securing and deploying Go applications?","acceptedAnswer":{"@type":"Answer","text":"The ngrok Go SDK lets developers embed a secure internet connection directly into a Go application via a net.Listener object rather than running a separate agent. It includes modules for visibility through User-Agent header filtering, performance via response compression, availability through circuit breaking, and security via basic auth, OAuth, OIDC, and IP restriction rules using CIDR blocks. Developers wiring ingress and auth into Go services can track SDK changes like these on daily.dev."}},{"@type":"Question","name":"How does the circuit breaker module in ngrok-go work?","acceptedAnswer":{"@type":"Answer","text":"The circuit breaker module in ngrok-go rejects traffic to an endpoint once upstream error rates cross a configured threshold, preventing complete downtime during overload. Developers call withCircuitBreaker with a decimal error threshold, such as config.withCircuitBreaker(0.5) to stop traffic once 5XX responses from the upstream exceed 50%. Teams designing resilience patterns for Go services can follow tooling updates like this on daily.dev."}}]}
```

