Get records for owner addresses
Gets all the domain names, records, and metadata owned by a wallet address or configured to a resolution record.
1
GET https://unstoppabledomains.g.alchemy.com/domains
Copied!
Request domain name records and metadata when given single or multiple owner addresses or configured to a resolution record.

URL Params

  • none

Query Params

Name
Type
Mandatory
Description
owners
ARRAY[STRING]
NO
A list of wallet addresses to query for domain information
resolution
OBJECT
NO
A key-value pair of resolution records the response results should be filtered with. See the Records Reference guide for supported key values
tlds
ARRAY[STRING]
NO
A list of domain endings the response should be filtered with. See all the supported domain endings
sortBy
STRING
NO
The field to use for sorting of the response. Currently supports id (domain ID), name (domain name alphabetically), and created_at (domain creation date)
sortDirection
STRING
NO
The order to use for sorting of the response. Currently supports ASC (ascending) and DESC (descending)
startingAfter
STRING
NO
The API will skip the results before this value in the response. Value depends on sortBy value
Your request must contain an instance of the owners or resolution query params. The owners param lets you filter domains by their owner address, while the resolution param lets you filter domains by their resolution records.
If your request must include multiple owners or tlds, you need to use a new owners or tlds query param instance for each wallet address and TLD.

Returns

An object with a data field contains a list of domain details and some meta about the request.
  • data: (array) an array with the data and metadata of domains owned by a wallet address.
    • id: (string) domain ID.
    • attributes: list of domain details. The details are the same as for Get records for a domain response.
  • meta: contains list metadata.
    • perPage - (number) the number of elements in the list in a single response.
    • nextStartingAfter - (string) a value you can pass in the startingAfter query parameter to get the next page of the domains list.
    • sortBy - (string) the field used to sort the domains list.
    • sortDirection - (string) the order of applied sorting (ascending or descending).
    • hasMore - (boolean) indicates if the response has more domains to show in the next pages.

Example

Here is an example request to query for the records and metadata for two owner addresses:
  1. 1.
    0xF5FFF32CF83A1A614e15F25Ce55B0c0A6b5F8F2c
  2. 2.
    0x8aad44321a86b170879d7a244c1e8d360c99dda8

Request

1
curl \
2
--request GET "https://unstoppabledomains.g.alchemy.com/domains/?owners=0xF5FFF32CF83A1A614e15F25Ce55B0c0A6b5F8F2c&sortBy=id&sortDirection=DESC&perPage=2&owners=0x8aad44321a86b170879d7a244c1e8d360c99dda8" \
3
--header 'Authorization: Bearer <YOUR API KEY>'
Copied!

Response

1
{
2
"data": [
3
{
4
"id": "porpoise.nft",
5
"attributes": {
6
"meta": {
7
"domain": "porpoise.nft",
8
"blockchain": "MATIC",
9
"networkId": 137,
10
"owner": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
11
"resolver": "0xa9a6a3626993d487d2dbda3173cf58ca1a9d9e9f",
12
"registry": "0xa9a6a3626993d487d2dbda3173cf58ca1a9d9e9f"
13
},
14
"records": {
15
"crypto.ETH.address": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
16
"social.picture.value": "1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317",
17
"crypto.MATIC.version.ERC20.address": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
18
"crypto.MATIC.version.MATIC.address": "0x8aad44321a86b170879d7a244c1e8d360c99dda8"
19
}
20
}
21
},
22
{
23
"id": "whereyoucantypeinadomain.crypto",
24
"attributes": {
25
"meta": {
26
"domain": "whereyoucantypeinadomain.crypto",
27
"blockchain": "MATIC",
28
"networkId": 137,
29
"owner": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
30
"resolver": "0xa9a6a3626993d487d2dbda3173cf58ca1a9d9e9f",
31
"registry": "0xa9a6a3626993d487d2dbda3173cf58ca1a9d9e9f"
32
},
33
"records": {
34
"crypto.ETH.address": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
35
"crypto.MATIC.version.ERC20.address": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
36
"crypto.MATIC.version.MATIC.address": "0x8aad44321a86b170879d7a244c1e8d360c99dda8"
37
}
38
}
39
}
40
],
41
"meta": {
42
"perPage": 2,
43
"nextStartingAfter": "556766",
44
"sortBy": "id",
45
"sortDirection": "DESC",
46
"hasMore": true
47
}
48
}
Copied!
The response has more data that is not included on the first page, so the query for the next page would use the nextStartingAfter response value:
1
curl \
2
--request GET "https://unstoppabledomains.g.alchemy.com/domains/?owners=0xF5FFF32CF83A1A614e15F25Ce55B0c0A6b5F8F2c&sortBy=id&sortDirection=DESC&perPage=2&owners=0x8aad44321a86b170879d7a244c1e8d360c99dda8&startingAfter=556766" \
3
--header 'Authorization: Bearer <YOUR API KEY>'
Copied!

Example 2

Here is an example request to query for the domains with a resolution record:
  • {"crypto.BTC.address": "bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y"}

Request

1
curl \
2
--request GET "https://unstoppabledomains.g.alchemy.com/domains?resolution%5Bcrypto.BTC.address%5D=bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y" \
3
--header 'Authorization: Bearer <YOUR API KEY>'
Copied!

Response

1
{
2
"data": [
3
{
4
"id": "brad.crypto",
5
"attributes": {
6
"meta": {
7
"domain": "brad.crypto",
8
"blockchain": "ETH",
9
"networkId": 1,
10
"owner": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
11
"resolver": "0xb66dce2da6afaaa98f2013446dbcb0f4b0ab2842",
12
"registry": "0xD1E5b0FF1287aA9f9A268759062E4Ab08b9Dacbe"
13
},
14
"records": {
15
"ipfs.html.value": "QmTiqc12wo2pBsGa9XsbpavkhrjFiyuSWsKyffvZqVGtut",
16
"crypto.ADA.address": "DdzFFzCqrhsuwQKiR3CdQ1FzuPAydtVCBFTRdy9FPKepAHEoXCee2qrio975M4cEbqYwZBsWJTNyrJ8NLJmAReSwAakQEHWBEd2HvSS7",
17
"crypto.BTC.address": "bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y",
18
"crypto.ETH.address": "0x8aaD44321A86b170879d7A244c1e8d360c99DdA8",
19
"gundb.username.value": "0x8912623832e174f2eb1f59cc3b587444d619376ad5bf10070e937e0dc22b9ffb2e3ae059e6ebf729f87746b2f71e5d88ec99c1fb3c7c49b8617e2520d474c48e1c",
20
"social.picture.value": "1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317",
21
"gundb.public_key.value": "pqeBHabDQdCHhbdivgNEc74QO-x8CPGXq4PKWgfIzhY.7WJR5cZFuSyh1bFwx0GWzjmrim0T5Y6Bp0SSK0im3nI",
22
"ipfs.redirect_domain.value": "https://abbfe6z95qov3d40hf6j30g7auo7afhp.mypinata.cloud/ipfs/Qme54oEzRkgooJbCDr78vzKAWcv6DDEZqRhhDyDtzgrZP6"
23
}
24
}
25
},
26
{
27
"id": "udtestdev-test.crypto",
28
"attributes": {
29
"meta": {
30
"domain": "udtestdev-test.crypto",
31
"blockchain": "ETH",
32
"networkId": 1,
33
"owner": "0x58ca45e932a88b2e7d0130712b3aa9fb7c5781e2",
34
"resolver": "0xb66dce2da6afaaa98f2013446dbcb0f4b0ab2842",
35
"registry": "0xD1E5b0FF1287aA9f9A268759062E4Ab08b9Dacbe"
36
},
37
"records": {
38
"ipfs.html.value": "Qme54oEzRkgooJbCDr78vzKAWcv6DDEZqRhhDyDtzgrZP6",
39
"crypto.BTC.address": "bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y",
40
"crypto.ETH.address": "0x8aaD44321A86b170879d7A244c1e8d360c99DdA8",
41
"ipfs.redirect_domain.value": "https://abbfe6z95qov3d40hf6j30g7auo7afhp.mypinata.cloud/ipfs/Qme54oEzRkgooJbCDr78vzKAWcv6DDEZqRhhDyDtzgrZP6"
42
}
43
}
44
}
45
],
46
"meta": {
47
"perPage": 100,
48
"nextStartingAfter": "592197",
49
"sortBy": "id",
50
"sortDirection": "ASC",
51
"hasMore": false
52
}
53
}
Copied!

Example 3

Here is an example request to query for the records and metadata of domains with a resolution record and are owned by a wallet address:
  • 0x8aad44321a86b170879d7a244c1e8d360c99dda8
  • {"crypto.BTC.address": "bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y"}

Request

1
curl \
2
--request GET "https://unstoppabledomains.g.alchemy.com/domains?resolution%5Bcrypto.BTC.address%5D=bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y&owners=0x8aad44321a86b170879d7a244c1e8d360c99dda8" \
3
--header 'Authorization: Bearer <YOUR API KEY>'
Copied!

Response

1
{
2
"data": [
3
{
4
"id": "brad.crypto",
5
"attributes": {
6
"meta": {
7
"domain": "brad.crypto",
8
"blockchain": "ETH",
9
"networkId": 1,
10
"owner": "0x8aad44321a86b170879d7a244c1e8d360c99dda8",
11
"resolver": "0xb66dce2da6afaaa98f2013446dbcb0f4b0ab2842",
12
"registry": "0xD1E5b0FF1287aA9f9A268759062E4Ab08b9Dacbe"
13
},
14
"records": {
15
"ipfs.html.value": "QmTiqc12wo2pBsGa9XsbpavkhrjFiyuSWsKyffvZqVGtut",
16
"crypto.ADA.address": "DdzFFzCqrhsuwQKiR3CdQ1FzuPAydtVCBFTRdy9FPKepAHEoXCee2qrio975M4cEbqYwZBsWJTNyrJ8NLJmAReSwAakQEHWBEd2HvSS7",
17
"crypto.BTC.address": "bc1q359khn0phg58xgezyqsuuaha28zkwx047c0c3y",
18
"crypto.ETH.address": "0x8aaD44321A86b170879d7A244c1e8d360c99DdA8",
19
"gundb.username.value": "0x8912623832e174f2eb1f59cc3b587444d619376ad5bf10070e937e0dc22b9ffb2e3ae059e6ebf729f87746b2f71e5d88ec99c1fb3c7c49b8617e2520d474c48e1c",
20
"social.picture.value": "1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317",
21
"gundb.public_key.value": "pqeBHabDQdCHhbdivgNEc74QO-x8CPGXq4PKWgfIzhY.7WJR5cZFuSyh1bFwx0GWzjmrim0T5Y6Bp0SSK0im3nI",
22
"ipfs.redirect_domain.value": "https://abbfe6z95qov3d40hf6j30g7auo7afhp.mypinata.cloud/ipfs/Qme54oEzRkgooJbCDr78vzKAWcv6DDEZqRhhDyDtzgrZP6"
23
}
24
}
25
}
26
],
27
"meta": {
28
"perPage": 100,
29
"nextStartingAfter": "12777",
30
"sortBy": "id",
31
"sortDirection": "ASC",
32
"hasMore": false
33
}
34
}
Copied!