---
title: "Retrieve a contact"
description: "Addresses are stored lowercased and the lookup matches that way, so case in the path does not matter. The single-contact response also carries `audiences`, every list the contact is in."
url: "https://nextmail.sh/docs/api/contacts/get"
area: "API"
category: "Mailbox"
---

# Retrieve a contact

Addresses are stored lowercased and the lookup matches that way, so case in the path does not matter. The single-contact response also carries `audiences`, every list the contact is in.

`GET /contacts/{email}`

## GET /contacts/{email}

Addresses are stored lowercased and the lookup matches that way, so case in the path does not matter. The single-contact response also carries `audiences`, every list the contact is in.

## Example

Needs `contacts:read`. URL-encode the `@`.

**curl**

```
curl "$OE/contacts/ada%40example.com" -H "$AUTH"
```

**Response**

```
{
  "object": "contact",
  "email": "ada@example.com",
  "name": "Ada Lovelace",
  "source": "auto",
  "notes": null,
  "photoUrl": "https://cdn-prod.openemail.uk/contacts/photos/5b0e2c7a-91d4-4f3e-8a26-c4f1d9e07b3a.webp",
  "lastSeenAt": "2026-08-29T08:19:08.000Z",
  "createdAt": "2026-08-01T10:00:00.000Z",
  "updatedAt": "2026-08-29T08:19:08.000Z",
  "audiences": [
    { "id": "aud_9f2c4b7e1a0d63d84c5f2e7b", "name": "All contacts", "builtin": "default" }
  ]
}
```

> An unknown address is a `404`, not an empty contact.

> Writing is on the neighbouring pages: Create a contact, Update a contact, Set a contact's audiences and Delete a contact.

> A caller that also holds `forms:read` gets `signUps`: the last 20 sign-ups of the address, newest first, each with its form, its status and its answers. The workspace owner sees every form, and anybody else the forms they created.

## Reference

- [`GET /contacts/{email}`](https://nextmail.sh/docs/api/reference/contacts#get-contacts-email): full reference
