# List Contact Imports

GET

/

contacts

/

imports

:::code-group
```typescript title="Node.js"
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.contacts.imports.list({
  limit: 10,
  status: 'completed',
});
```

```php title="PHP"
$resend = Resend::client('re_xxxxxxxxx');

$resend->contacts->imports->list([
  'limit' => 10,
  'status' => 'completed',
]);
```

```python title="Python"
import resend

resend.api_key = "re_xxxxxxxxx"

params: resend.Contacts.Imports.ListParams = {
    "limit": 10,
    "status": "completed",
}

resend.Contacts.Imports.list(params)
```

```ruby title="Ruby"
require "resend"

Resend.api_key = "re_xxxxxxxxx"

Resend::Contacts::Imports.list(limit: 10, status: "completed")
```

```go title="Go"
package main

import "github.com/resend/resend-go/v4"

func main() {
	client := resend.NewClient("re_xxxxxxxxx")

	limit := 10
	client.Contacts.Imports.List(&resend.ListContactImportsOptions{
		Limit:  &limit,
		Status: string(resend.ContactImportStatusCompleted),
	})
}
```

```rust title="Rust"
use resend_rs::{Resend, Result, Value, list_opts::ListOptions};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let _data = resend
    .contacts
    .list_imports(
      ListOptions::default()
        .with_limit(10)
        .with_other("status", Value::String("completed".to_owned())),
    )
    .await?;

  Ok(())
}
```

```java title="Java"
import com.resend.Resend;
import com.resend.services.contacts.model.ListContactImportsParams;
import com.resend.services.contacts.model.ListContactImportsResponseSuccess;

public class Main {
    public static void main(String[] args) throws Exception {
        Resend resend = new Resend("re_xxxxxxxxx");

        ListContactImportsParams params = ListContactImportsParams.builder()
                .limit(10)
                .status("completed")
                .build();

        ListContactImportsResponseSuccess data = resend.contacts().imports().list(params);
    }
}
```

```shellscript title="cURL"
curl -X GET 'https://api.resend.com/contacts/imports?limit=10&status=completed' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
```

```shellscript title="CLI"
resend contacts imports list --limit 10 --status completed
```
:::

:::code-group
```json title="Response"
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "contact_import",
      "id": "479e3145-dd38-476b-932c-529ceb705947",
      "status": "completed",
      "created_at": "2026-05-15 18:32:37.823+00",
      "completed_at": "2026-05-15 18:33:42.916+00",
      "counts": {
        "total": 1200,
        "created": 800,
        "updated": 300,
        "skipped": 75,
        "failed": 25
      }
    }
  ]
}
```
:::

## Query Parameters

number

Number of contact imports to retrieve.

- Default value: `10`
- Maximum value: `100`
- Minimum value: `1`

string

The contact import ID _after_ which we’ll retrieve more contact imports. This ID will _not_ be included in the returned list. Cannot be used with the `before` parameter.

string

The contact import ID _before_ which we’ll retrieve more contact imports. This ID will _not_ be included in the returned list. Cannot be used with the `after` parameter.

'queued' | 'in\_progress' | 'completed' | 'failed'

Filter contact imports by status.

:::callout{intent="info"}
You can only use either `after` or `before` parameter, not both. See our [pagination guide](/guides/api-reference-pagination) for more information.
:::

:::code-group
```typescript title="Node.js"
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.contacts.imports.list({
  limit: 10,
  status: 'completed',
});
```

```php title="PHP"
$resend = Resend::client('re_xxxxxxxxx');

$resend->contacts->imports->list([
  'limit' => 10,
  'status' => 'completed',
]);
```

```python title="Python"
import resend

resend.api_key = "re_xxxxxxxxx"

params: resend.Contacts.Imports.ListParams = {
    "limit": 10,
    "status": "completed",
}

resend.Contacts.Imports.list(params)
```

```ruby title="Ruby"
require "resend"

Resend.api_key = "re_xxxxxxxxx"

Resend::Contacts::Imports.list(limit: 10, status: "completed")
```

```go title="Go"
package main

import "github.com/resend/resend-go/v4"

func main() {
	client := resend.NewClient("re_xxxxxxxxx")

	limit := 10
	client.Contacts.Imports.List(&resend.ListContactImportsOptions{
		Limit:  &limit,
		Status: string(resend.ContactImportStatusCompleted),
	})
}
```

```rust title="Rust"
use resend_rs::{Resend, Result, Value, list_opts::ListOptions};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let _data = resend
    .contacts
    .list_imports(
      ListOptions::default()
        .with_limit(10)
        .with_other("status", Value::String("completed".to_owned())),
    )
    .await?;

  Ok(())
}
```

```java title="Java"
import com.resend.Resend;
import com.resend.services.contacts.model.ListContactImportsParams;
import com.resend.services.contacts.model.ListContactImportsResponseSuccess;

public class Main {
    public static void main(String[] args) throws Exception {
        Resend resend = new Resend("re_xxxxxxxxx");

        ListContactImportsParams params = ListContactImportsParams.builder()
                .limit(10)
                .status("completed")
                .build();

        ListContactImportsResponseSuccess data = resend.contacts().imports().list(params);
    }
}
```

```shellscript title="cURL"
curl -X GET 'https://api.resend.com/contacts/imports?limit=10&status=completed' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
```

```shellscript title="CLI"
resend contacts imports list --limit 10 --status completed
```
:::

```json
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "contact_import",
      "id": "479e3145-dd38-476b-932c-529ceb705947",
      "status": "completed",
      "created_at": "2026-05-15 18:32:37.823+00",
      "completed_at": "2026-05-15 18:33:42.916+00",
      "counts": {
        "total": 1200,
        "created": 800,
        "updated": 300,
        "skipped": 75,
        "failed": 25
      }
    }
  ]
}
```

Was this page helpful?

⌘I

## Related pages

- [Account Management](./account-management-index.md)
- [API Keys](./api-keys-2-index.md)
- [API Keys](./api-keys-index.md)
- [API Reference](./api-reference-index.md)
- [AudiencesDEPRECATED](./audiencesdeprecated-index.md)
- [Authorized Apps](./authorized-apps-index.md)
- [Automations](./automations-index.md)
- [Broadcasts](./broadcasts-index.md)
- [Build with AI](./build-with-ai-index.md)
- [Changelog](../changelog.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
