---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/sendgrid/api-reference/ip-address/retrieve-all-assigned-ips#article
headline: Retrieve all assigned IPs
description: Explore shared elements among endpoint definitions including IP address attributes for email sending across various domains. Understand base URL usage.
url: https://www.twilio.com/docs/sendgrid/api-reference/ip-address/retrieve-all-assigned-ips
inLanguage: en
dateModified: 2025-09-17T16:47:58.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Retrieve all assigned IPs

## API Overview

The IP Address API lets you manage the dedicated IP addresses assigned to your SendGrid account. Use these endpoints to add dedicated IP addresses, list IP addresses, check how many IP addresses you can add, and inspect IP pool assignments.

## Operation overview

```json
{"path":"https://api.sendgrid.com/v3/ips/assigned","method":"get","servers":[{"url":"https://api.sendgrid.com","description":"for global users"}]}
```

**This endpoint allows you to retrieve only assigned IP addresses.**

A single IP address or a range of IP addresses may be dedicated to an account in order to send email for multiple domains. The reputation of this IP is based on the aggregate performance of all the senders who use it.

## Operation details

### Authentication

API Key

### Headers

```json
[{"in":"header","name":"Authorization","required":true,"default":"Bearer <<YOUR_API_KEY_HERE>>","schema":{"type":"string"}}]
```

### Responses

```json
[{"responseCode":"200","schema":{"description":"","content":{"application/json":{"schema":{"type":"array","title":"List all assigned IPs response","items":{"type":"object","required":["ip","pools","warmup","start_date"],"properties":{"ip":{"type":"string","description":"The IP address."},"pools":{"type":"array","description":"The IP pools that this IP address has been added to.","items":{"type":"string"}},"warmup":{"type":"boolean","description":"Indicates if this IP address is currently warming up."},"start_date":{"type":"integer","description":"The start date that this IP address was entered into warmup."}}}},"examples":{"response":{"value":[{"ip":"167.89.21.3","pools":["new_test5"],"warmup":true,"start_date":1409616000}]}}}}}}]
```

Retrieve all assigned IPs

```js
const client = require("@sendgrid/client");
client.setApiKey(process.env.SENDGRID_API_KEY);

const request = {
  url: `/v3/ips/assigned`,
  method: "GET",
};

client
  .request(request)
  .then(([response, body]) => {
    console.log(response.statusCode);
    console.log(response.body);
  })
  .catch((error) => {
    console.error(error);
  });
```

```python
import os
from sendgrid import SendGridAPIClient


sg = SendGridAPIClient(os.environ.get("SENDGRID_API_KEY"))


response = sg.client.ips.assigned.get()

print(response.status_code)
print(response.body)
print(response.headers)
```

```csharp
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using SendGrid;

public class Program {
    public static async Task Main() {
        string apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
        var client = new SendGridClient(apiKey);

        var response =
            await client.RequestAsync(method: SendGridClient.Method.GET, urlPath: "ips/assigned");

        Console.WriteLine(response.StatusCode);
        Console.WriteLine(response.Body.ReadAsStringAsync().Result);
        Console.WriteLine(response.Headers.ToString());
    }
}
```

```java
import com.sendgrid.*;
import java.io.IOException;

public class Example {
    public static void main(String[] args) throws IOException {
        try {
            SendGrid sg = new SendGrid(System.getenv("SENDGRID_API_KEY"));
            Request request = new Request();
            request.setMethod(Method.GET);
            request.setEndpoint("/ips/assigned");
            Response response = sg.api(request);
            System.out.println(response.getStatusCode());
            System.out.println(response.getBody());
            System.out.println(response.getHeaders());
        } catch (IOException ex) {
            throw ex;
        }
    }
}
```

```go
package main

import (
	"fmt"
	"github.com/sendgrid/sendgrid-go"
	"os"
)

func main() {
	apiKey := os.Getenv("SENDGRID_API_KEY")
	host := "https://api.sendgrid.com"
	request := sendgrid.GetRequest(apiKey, "/v3/ips/assigned", host)
	request.Method = "GET"
	response, err := sendgrid.API(request)
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	} else {
		fmt.Println(response.StatusCode)
		fmt.Println(response.Body)
		fmt.Println(response.Headers)
	}
}
```

```php
<?php
// Uncomment the next line if you're using a dependency loader (such as Composer) (recommended)
// require 'vendor/autoload.php';

// Uncomment next line if you're not using a dependency loader (such as Composer)
// require_once '<PATH TO>/sendgrid-php.php';

$apiKey = $_ENV["SENDGRID_API_KEY"];
$sg = new \SendGrid($apiKey);

try {
    $response = $sg->client->ips()->assigned()->get();
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print $response->body() . "\n";
} catch (Exception $ex) {
    echo "Caught exception: " . $ex->getMessage();
}
```

```ruby
require 'sendgrid-ruby'
include SendGrid

sg = SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY'])

response = sg.client.ips.assigned.get()
puts response.status_code
puts response.headers
puts response.body
```

```bash
curl -X GET "https://api.sendgrid.com/v3/ips/assigned" \
--header "Authorization: Bearer $SENDGRID_API_KEY"
```
