---
title: Get Rate Plan by Public Key
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/go)

[Billing](https://developers.cloudflare.com/api/go/resources/billing)

[Rate Plans](https://developers.cloudflare.com/api/go/resources/billing/subresources/rate%5Fplans)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Get Rate Plan by Public Key

client.Billing.RatePlans.Get(ctx, publicKey) (\*[RatePlanGetResponse](https://developers.cloudflare.com/api/go/resources/billing#%28resource%29%20billing.rate%5Fplans%20%3E%20%28model%29%20RatePlanGetResponse%20%3E%20%28schema%29), error)

GET/billing/rate\_plans/{public\_key}

Gets a rate plan’s details by its public key (e.g., ‘teams\_free’, ‘cf\_pro\_20\_20’). This is a public catalog endpoint, so authentication is not enforced and credentials are accepted but not required.

##### Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. [Create a token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/).

**Example:**`Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY`

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**`X-Auth-Email: user@example.com`

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**`X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194`

##### ParametersExpand Collapse 

publicKey string

##### ReturnsExpand Collapse 

type RatePlanGetResponse struct{…}

ID stringOptional

The uppercase rate plan public key.

Components \[\]map\[string, unknown\]Optional

Pricing components that make up this rate plan.

Currency stringOptional

Currency of the rate plan pricing.

PublicName stringOptional

Human-readable description of the rate plan.

### Get Rate Plan by Public Key

Go

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  ratePlan, err := client.Billing.RatePlans.Get(context.TODO(), "teams_free")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", ratePlan.ID)
}

```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "TEAMS_FREE",
    "components": [
      {
        "foo": "bar"
      }
    ],
    "currency": "USD",
    "public_name": "Cloudflare Teams Free"
  },
  "success": true
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "TEAMS_FREE",
    "components": [
      {
        "foo": "bar"
      }
    ],
    "currency": "USD",
    "public_name": "Cloudflare Teams Free"
  },
  "success": true
}
```