# Search brands to add to the watchlist

`GET /v1/email/competitive/brands/search`

Searches for brands by name and returns the ones that can be watched, each
with the domain its figures would describe and the identifier to add it with.
Paste a domain instead of a name to find the brand that sends from it.

Brands the panel has never seen send are left out, since no figure could be
reported for them. An empty result for a real brand name therefore means the
panel does not track that brand rather than that the search failed.

API-key calls require Insights preview access for your organization.

## Code samples

### TypeScript

```ts
// Requires Insights preview access for the organization.
const report = await bird.email.competitive.brands.search({ q: "Everlane" });
console.log(report.data);
```

### Python

```py
# Requires Insights preview access for the organization.
report = client.email.competitive.brands.search(q="Everlane")
print(report.model_dump_json())
```

### Go

```go
// Requires Insights preview access for the organization.
client, err := bird.NewClient(option.WithAPIKey(os.Getenv("BIRD_API_KEY")))
if err != nil {
	log.Fatal(err)
}
ctx := context.Background()
report, err := client.Email.Competitive.Brands.Search(ctx, bird.EmailCompetitiveBrandsSearchParams{Q: "Everlane"})
if err != nil {
	log.Fatal(err)
}
encoded, err := json.MarshalIndent(report, "", "  ")
if err != nil {
	log.Fatal(err)
}
fmt.Println(string(encoded))
```

### PHP

```php
// Requires Insights preview access for the organization.
$report = $bird->email->competitive->brands->search(['q' => 'Everlane']);
var_dump($report->getData());
```

### CLI

```sh
bird email competitive brands search <q>
```

### cURL

```sh
curl -X GET "https://us1.platform.bird.com/v1/email/competitive/brands/search" \
  -H "Authorization: Bearer $TOKEN" \
  --url-query "q=everlane"
```

## Example response `200`

```json
{
  "data": [
    {
      "brand_id": "81531",
      "name": "Everlane",
      "sending_domains": [
        "everlane.com"
      ]
    }
  ]
}
```

## Query parameters

- `q` (string): A brand name, or a sending domain to look up the brand behind it.

## Response body

- `data` (array of object, required): Matching brands. Empty when nothing matched, which for an unusual brand name means the panel does not track it rather than that the search failed.
- `data.brand_id` (string, required)
- `data.name` (string, required): The brand's name.
- `data.sending_domains` (array of string, required): The domains this brand's figures would describe. Always one domain today, chosen as the one the panel sees the most of its mail from.

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
