Request an exact quote
API Management migration path

From Google Apigee to Kong Gateway (OSS)

Re-implementing Apigee API proxies as Kong services and routes, mapping Quota, Spike Arrest, OAuthV2, and transform policies to Kong plugins, and replacing the Apigee portal and analytics with open equivalents.

Effort
Medium
Est. timeline
~15 wks
Kong Gateway (OSS) model
Free (open source)
Open source
Yes
▶ Model your savings in the interactive calculator

Apigee is a capable gateway, but its per-call and capacity-based pricing, environment and add-on costs, and coupling to Google Cloud make it an expensive place to run APIs that do not need everything it offers. Kong Gateway OSS is a common landing spot: it covers the core gateway job, services, routing, authentication, rate limiting, and transforms, as open source you run yourself. This guide covers how Apigee concepts translate and where the honest gaps are.

How Apigee concepts land in Kong

Apigee organizes work around API proxies that carry a chain of policies. Kong organizes work around services (an upstream), routes (how requests reach that service), and plugins (behavior attached to a service, route, or globally). The mental shift is from an ordered policy flow inside one proxy to a set of plugins bound to a route.

  • An Apigee API proxy becomes a Kong service plus one or more routes.
  • The proxy’s policy chain becomes plugins on that service or route.
  • Apigee environments become separate Kong instances or workspaces at the deployment level, expressed in your declarative config rather than as a first-class product concept.

The upside of this model is that plugins are composable and declarative. The adjustment is that Apigee’s fine-grained, ordered flow with conditional steps does not always have a single plugin equivalent, so some logic moves closer to the upstream service.

Mapping the policies you actually run

Most Apigee proxies lean on a small set of policies. These are the honest mappings:

  • Quota → rate-limiting plugin. Per-consumer or per-route request ceilings.
  • Spike Arrest → rate limiting with a short window. Smoothing bursts rather than enforcing a daily cap.
  • VerifyAPIKey → key-auth plugin, with consumers and credentials modeled in Kong.
  • OAuthV2 → oauth2 plugin, or delegation to an external identity provider via JWT validation if you already run one.
  • AssignMessage, JSON/XML transforms → request-transformer and response-transformer plugins.
  • Access control lists → the acl plugin, paired with an auth plugin.

Where Apigee let you drop in JavaScript, Python, or XSL callouts, there is no drop-in Kong equivalent that preserves the code. You reimplement that logic as a stock plugin where one fits, as a serverless plugin, or by pushing it into the upstream service. Count these callouts early, because they are the part of the migration that takes real engineering time.

The features that do not come in the box

Kong Gateway OSS is the core gateway. Several things Apigee bundled are not included and need an open replacement:

  • Developer portal. Apigee’s portal is a product; in Kong OSS you generate a portal from your OpenAPI specs using an external or open portal tool.
  • Analytics dashboards. Apigee’s built-in analytics become a Prometheus and Grafana pipeline: expose Kong metrics to Prometheus, build the dashboards you need in Grafana.
  • Role-based administration. Fine-grained RBAC over the admin surface is not in OSS; the open approach is to keep configuration in Git and control who can merge, so GitOps becomes your access model.

None of these are blockers, but each is a workstream. Scope them before you commit a date.

Config as declarative YAML

A practical win in this migration is moving from Apigee’s proxy bundles to Kong’s declarative configuration. You define services, routes, plugins, and consumers in YAML and apply it with decK or a GitOps pipeline, or you drive the Admin API directly. Keeping the config in version control gives you review, rollback, and reproducible environments, which also fills the RBAC gap described above by putting change control in your existing Git workflow.

A per-API cutover behind DNS

The safe path is incremental, not a single switch:

  1. Inventory every proxy, its policy chain, its consumers, and its portal and analytics dependencies.
  2. Stand up Kong and express the first proxy as a service, routes, and plugins in declarative config.
  3. Validate in parallel. Point a test hostname at Kong and confirm auth, quotas, and transforms match Apigee’s behavior for that API.
  4. Shift traffic per API by updating DNS or the load balancer, while Apigee keeps serving everything not yet migrated.
  5. Decommission each Apigee proxy only after its Kong replacement is proven, and export analytics history before you tear anything down.

Running both gateways at once is the point: the blast radius of any mistake stays contained to a single API.

What to check before you trust it

Before an API is considered migrated, confirm a few things end to end: a call with a valid key or token is authorized and one without is rejected, quota and spike limits trigger at the expected thresholds, request and response transforms produce byte-for-byte the payloads consumers expect, and the new Grafana dashboards show the traffic you just moved. Acceptance is simple to state: consumers see no behavioral change, and you can observe the API in the new stack.

Weighing it up

Apigee to Kong OSS is a sound move when you want the core gateway without premium per-call pricing and Google Cloud coupling, and you accept that the portal, analytics, and admin RBAC become open components you assemble and run. The policy-to-plugin mapping is clean for the common cases and hand-built for the callouts. Model the licensing and capacity savings against the engineering time to rebuild the portal and observability in the calculator above, and treat those figures as illustrative until you validate them against your own proxy inventory.

Tooling & automation for this path

Re-implement Apigee API proxies as Kong routes and services; map Apigee policies (quota, spike arrest, OAuth, transforms) to Kong plugins (rate-limiting, auth, request/response transformers); migrate the developer portal and analytics to open equivalents; run both gateways behind DNS and cut over per API.

Primary references: official Kong Gateway (OSS) documentation ↗ and the Google Apigee documentation ↗ , always verify version-specific behavior against them before you migrate.

Frequently asked questions

Does a Kong plugin exist for every Apigee policy I use?

For the common ones, yes, but not always one-to-one. Apigee's Quota maps to Kong's rate-limiting plugin, Spike Arrest maps to rate limiting with a small window, VerifyAPIKey maps to key-auth, OAuthV2 maps to the oauth2 plugin, and AssignMessage or JSON/XML transforms map to the request and response transformer plugins. Where Apigee let you write JavaScript or XSL inside a proxy, you either replace it with a stock Kong plugin, a serverless plugin, or logic moved into the upstream service. Inventory your policies first and expect a handful to need rework rather than a direct swap.

What replaces the Apigee developer portal and analytics in Kong OSS?

Kong Gateway OSS does not ship the Apigee-style developer portal or the built-in analytics dashboards, those are handled differently. For the portal you stand up an external or open developer portal and generate it from your OpenAPI specs. For analytics you export Kong metrics to Prometheus and visualize them in Grafana. Both are real work, but they are open and under your control rather than a bundled Apigee add-on.

How do I cut over without a big-bang switch?

Run Apigee and Kong side by side behind DNS and migrate one API at a time. Re-implement a proxy as a Kong service and route, point a test hostname at Kong, validate auth and rate limiting against the Apigee behavior, then shift that API's traffic by updating DNS or your load balancer. Keep Apigee serving the rest until each API is proven on Kong, which keeps the blast radius to a single API per cutover.

Will I lose Apigee's analytics history when I leave?

Yes, the historical analytics stored in Apigee do not travel with you. Export what you need for reporting or compliance before decommissioning, then start fresh collection in Prometheus and Grafana. Treat the cutover date as a clean break for metrics and keep an Apigee export archived if you have retention obligations.

Model your 3-year cost

Pre-filled for Google Apigee → Kong Gateway (OSS); adjust every figure with your own numbers. Estimates are illustrative, not vendor quotes, see our methodology.

Sized at 500 M API calls / mo, cost is computed on this.
Stay on Google Apigee (3yr)
$300,000
Move to Kong Gateway (OSS) (3yr + migration)
$360,000
Projected extra cost
$60,000 (20%)
Payback period
-
Build a decision report from these numbers:

How this is licensed: API-management platforms are commonly priced by API call volume (or per environment / gateway node). Set the unit to your monthly call volume in millions and $/M-calls to your tier. Open gateways remove the license; cost becomes infrastructure plus optional support.

Illustrative, editable figures, not vendor pricing (defaults reviewed May 2026).

Request a vendor-accurate Kong Gateway (OSS) quote

A guided builder that turns your estimates into a requirements report (RFQ) you can send to a vendor, partner, or distributor for a binding quote, then feed the real prices back into the calculator above. How our estimates work.

  1. 1Size it
  2. 2Requirements
  3. 3Your details
  4. 4Channels & export

How big is your Google Apigee estate?

Enter your best estimate, the distributor will confirm exact counts. Not sure? Enter rough numbers, the distributor confirms exact counts later.

500 M API calls / mo
Default mid-size assumption (500 M API calls / mo)