---
title: "client.senders()"
description: "Every method in this namespace: its signature, its parameters, what it returns and an example."
url: "https://openemail.uk/docs/java/reference/senders"
area: "Java"
category: "Reference"
---

# client.senders()

Every method in this namespace: its signature, its parameters, what it returns and an example.

## Methods

What is known about the organisation behind a sender, the line the reading pane shows under an unfamiliar one, and looking a sender up.

### `senders().get`

Read what is known about a sender

```java
Map<String, Object> get(String email, RequestOptions options)
```

Returns a sentence or two about the organisation behind the domain of an address, the line the reading pane shows under an unfamiliar sender. Only the domain is read, so any address on it gives the same answer, a subdomain such as `mail.stripe.com` included, and `domain` names the organisation's own domain. What is known is shared by every workspace and looked up again by itself once it is 30 days old.

A domain nobody has looked up yet is a 404, and so are personal mailbox providers such as Gmail and the domains of your own workspace. `senders().research` looks a domain up.

Scopes: `threads:read`.

**Parameters**

- `email` (`String`, required): An address of the sender, such as `billing@stripe.com`.
- `options.apiKey` (`String`): Overrides the client's API key for this call only.

**Returns**

A map with `object` set to `sender_profile`, `domain`, `about` and `updatedAt`.

**Example**

```java
Map<String, Object> sender = client.senders().get("billing@stripe.com");

System.out.println(sender.get("domain") + " " + sender.get("about"));
```

**Notes**

- An address with no domain is a 422 `invalid_parameter` on `email`.

Also available in: API [`GET /senders/{email}`](https://openemail.uk/docs/api/reference/senders#get-senders-email); TypeScript [`senders.get()`](https://openemail.uk/docs/sdk/reference/senders#get); Python [`senders.get()`](https://openemail.uk/docs/python/reference/senders#get); Ruby [`senders.get`](https://openemail.uk/docs/ruby/reference/senders#get); PHP [`senders->get`](https://openemail.uk/docs/php/reference/senders#get); Go [`Senders.Get`](https://openemail.uk/docs/go/reference/senders#get); C# [`Senders.GetAsync`](https://openemail.uk/docs/csharp/reference/senders#get); CLI [`openemail senders get`](https://openemail.uk/docs/cli/reference/senders#senders-get).

### `senders().research`

Look a sender up

```java
Map<String, Object> research(String email, RequestOptions options)
```

Searches the web for the organisation behind the domain of an address and keeps what it found, as the reading pane does the first time it shows a sender. Every address under the domain shares the answer, a subdomain such as `mail.stripe.com` included, and it is kept for 30 days before it is looked up again, so a domain that was looked up before is answered from what was kept and nothing is searched. Personal mailbox providers such as Gmail and the domains of your own workspace are never looked up.

Only the owner of the workspace may look senders up, with a key or an app that is not limited to particular addresses or domains: anything else is a 422 `capability_unsupported` or a 403 `owner_only`. A workspace looks up at most 200 new domains a day, and the next one is a 429 `research_limit_reached`. A domain nothing could be found about, a personal mailbox provider and a domain of your own workspace are a 404.

Scopes: `threads:read`.

**Parameters**

- `email` (`String`, required): An address of the sender. Only its domain is looked up.
- `options.apiKey` (`String`): Overrides the client's API key for this call only.

**Returns**

The same map as `senders().get`, with what was found or what was already known.

**Example**

```java
Map<String, Object> sender = client.senders().research("hello@acme-robotics.io");

System.out.println(sender.get("about"));
```

**Notes**

- The SDK retries it after a network failure, which is safe because a domain that was found is answered from what was kept.

Also available in: API [`POST /senders/{email}/research`](https://openemail.uk/docs/api/reference/senders#post-senders-email-research); TypeScript [`senders.research()`](https://openemail.uk/docs/sdk/reference/senders#research); Python [`senders.research()`](https://openemail.uk/docs/python/reference/senders#research); Ruby [`senders.research`](https://openemail.uk/docs/ruby/reference/senders#research); PHP [`senders->research`](https://openemail.uk/docs/php/reference/senders#research); Go [`Senders.Research`](https://openemail.uk/docs/go/reference/senders#research); C# [`Senders.ResearchAsync`](https://openemail.uk/docs/csharp/reference/senders#research); CLI [`openemail senders research`](https://openemail.uk/docs/cli/reference/senders#senders-research).
