Hi!
I’ve been building pipedrive-go, an open-source Go SDK for the Pipedrive API, and wanted to share it here.
It’s v2-first; full API v2 coverage, with v1 kept only for endpoints that don’t exist in v2 yet, and those drop out automatically as v2 grows. The public API is hand-written and stable, the generated OpenAPI clients stay internal, so version upgrades don’t break your code with generator churn.
Highlights:
-
Idiomatic, service-based Go:
context.Context, functional options, typed IDs, typed errors (errors.Is/As) -
API token and OAuth2 auth
-
Built-in retries (429/502/503/504) with backoff, jitter, and
Retry-After, typedRateLimitError -
Cursor pagination helpers (
ListPager/ForEach) -
Pluggable
http.Client+ middleware for logging, tracing (OTel), metrics -
A
Rawescape hatch for anything not yet wrapped
client, _ := v2.NewClient(pipedrive.Config{
Auth: pipedrive.APITokenAuth("YOUR_API_TOKEN"),
})
deals, _, err := client.Deals.List(ctx, v2.WithDealsPageSize(100))
Install:
go get github.com/juhokoskela/pipedrive-go@latest
MIT-licensed and actively maintained (currently v1.0.7). I’d love feedback, bug reports and feature requests, especially from anyone running Pipedrive integrations in Go in production. Thanks!