Developer docs
API reference
The complete public REST contract, generated from the same OpenAPI document used by ExpiredLocal clients and integrations.
Authentication
Send a Bearer API key with every request
Create a key in Account → API keys. Read-only keys can call every GET operation. A Read and reveal key is required for POST /v1/domains/reveal, which may consume reveal credits.
curl 'https://api.expiredlocal.com/v1/domains/expired?page_size=20' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY"Domain masking and subscription access rules are enforced by the API. Knowing a domain name or catalogue ID does not bypass them.
OpenAPI 1.0.0
Contract and conventions
Domain research and reveals via Bearer API keys. Read keys may use GET operations; write keys may also reveal domains. Existing domain-name masking rules apply.
- Query arrays use repeated parameters, for example
country=US&country=GB. - Timestamps use RFC 3339. Numeric ranges require their minimum to be no greater than their maximum.
- Successful list responses include explicit pagination metadata. Error responses preserve a stable
code, a safemessage, and optional field-leveldetails.
/v1/domains/expiredList expired domains
Returns domains that have dropped and can be revealed individually.
- Operation ID
listExpiredDomains- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/expired' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'page_size=50' \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
page | query | integer | No | —Default: 1 |
page_size | query | integer | No | —Default: 50 · Maximum: 10000 |
sort_by | query | string | No | —Allowed: date_added, dropped_at, review_count, country, city, business_type, domain_rating, referring_domains, traffic, keywords, total_followers, latest_post_at |
sort_order | query | string | No | —Allowed: asc, desc · Default: desc |
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
dropped_after | query | string<date-time> | No | Include expired records dropped at or after this instant. |
dropped_before | query | string<date-time> | No | Include expired records dropped at or before this instant. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Matching expired domains
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].domain_id | integer<int64> | Yes | — |
items[].domain | string | No | Domain name when visible to the current account. |
items[].business_type | string | No | — |
items[].business_type_key | string | No | Google business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$ |
items[].review_count | integer | No | — |
items[].country_code | string | No | — |
items[].city | string | No | — |
items[].domain_rating | integer | No | — |
items[].referring_domains | integer | No | — |
items[].traffic | integer | No | — |
items[].keywords | integer | No | — |
items[].social_data_status | string | Yes | —Allowed: pending_processing, processed |
items[].total_followers | integer | No | — |
items[].latest_post_at | string<date-time> | No | — |
items[].social_platforms | array<string> | Yes | — |
items[].social_profiles | array<object> | Yes | — |
items[].social_profiles[].platform | string | Yes | — |
items[].social_profiles[].follower_count | integer | No | — |
items[].has_wiki_page | boolean | No | — |
items[].trends_exists | boolean | No | — |
items[].trends_data | string | No | —Allowed: this_year, last_2_years, all_time, none |
items[].trends_status | string | No | — |
items[].revealed | boolean | No | — |
items[].tld | string | No | Domain suffix without a leading dot. |
items[].status | string | Yes | —Allowed: expired |
items[].dropped_at | string<date-time> | No | — |
total | integer<int64> | Yes | — |
page | integer | Yes | — |
page_size | integer | Yes | — |
{
"items": [
{
"domain_id": 12345,
"domain": "example.com",
"business_type": "Coffee shop",
"business_type_key": "coffee_shop",
"review_count": 42,
"country_code": "US",
"city": "Portland",
"domain_rating": 0,
"referring_domains": 0,
"traffic": 0,
"keywords": 0,
"social_data_status": "pending_processing",
"total_followers": 0,
"latest_post_at": "2026-09-20T12:00:00Z",
"social_platforms": [
"sedo"
],
"social_profiles": [
{
"platform": [
"sedo"
],
"follower_count": 1
}
],
"has_wiki_page": false,
"trends_exists": false,
"trends_data": "this_year",
"trends_status": "string",
"revealed": false,
"tld": [
"com"
],
"status": "expired",
"dropped_at": "2026-09-20T12:00:00Z"
}
],
"total": 0,
"page": 1,
"page_size": 20
}400Invalid filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query domain inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/auctionsList domains in active auctions
- Operation ID
listAuctionDomains- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/auctions' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'page_size=50' \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
page | query | integer | No | —Default: 1 |
page_size | query | integer | No | —Default: 50 · Maximum: 10000 |
sort_by | query | string | No | —Allowed: date_added, auction_end_at, review_count, country, city, business_type, domain_rating, referring_domains, traffic, keywords, total_followers, latest_post_at |
sort_order | query | string | No | —Allowed: asc, desc · Default: desc |
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
auction_end_after | query | string<date-time> | No | Include auctions ending at or after this instant. |
auction_end_before | query | string<date-time> | No | Include auctions ending at or before this instant. |
platform | query | array<string> | No | Filter by one or more auction platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Matching auction domains
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].domain_id | integer<int64> | Yes | — |
items[].domain | string | No | Domain name when visible to the current account. |
items[].business_type | string | No | — |
items[].business_type_key | string | No | Google business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$ |
items[].review_count | integer | No | — |
items[].country_code | string | No | — |
items[].city | string | No | — |
items[].domain_rating | integer | No | — |
items[].referring_domains | integer | No | — |
items[].traffic | integer | No | — |
items[].keywords | integer | No | — |
items[].social_data_status | string | Yes | —Allowed: pending_processing, processed |
items[].total_followers | integer | No | — |
items[].latest_post_at | string<date-time> | No | — |
items[].social_platforms | array<string> | Yes | — |
items[].social_profiles | array<object> | Yes | — |
items[].social_profiles[].platform | string | Yes | — |
items[].social_profiles[].follower_count | integer | No | — |
items[].has_wiki_page | boolean | No | — |
items[].trends_exists | boolean | No | — |
items[].trends_data | string | No | —Allowed: this_year, last_2_years, all_time, none |
items[].trends_status | string | No | — |
items[].revealed | boolean | No | — |
items[].tld | string | No | Domain suffix without a leading dot. |
items[].status | string | Yes | —Allowed: auction |
items[].auction_end_at | string<date-time> | No | — |
items[].platform | string | No | — |
total | integer<int64> | Yes | — |
page | integer | Yes | — |
page_size | integer | Yes | — |
{
"items": [
{
"domain_id": 12345,
"domain": "example.com",
"business_type": "Coffee shop",
"business_type_key": "coffee_shop",
"review_count": 42,
"country_code": "US",
"city": "Portland",
"domain_rating": 0,
"referring_domains": 0,
"traffic": 0,
"keywords": 0,
"social_data_status": "pending_processing",
"total_followers": 0,
"latest_post_at": "2026-09-20T12:00:00Z",
"social_platforms": [
"sedo"
],
"social_profiles": [
{
"platform": [
"sedo"
],
"follower_count": 1
}
],
"has_wiki_page": false,
"trends_exists": false,
"trends_data": "this_year",
"trends_status": "string",
"revealed": false,
"tld": [
"com"
],
"status": "auction",
"auction_end_at": "2026-09-20T12:00:00Z",
"platform": [
"sedo"
]
}
],
"total": 0,
"page": 1,
"page_size": 20
}400Invalid filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query domain inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/pending-deleteList pending delete domains
- Operation ID
listPendingDeleteDomains- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/pending-delete' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'page_size=50' \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
page | query | integer | No | —Default: 1 |
page_size | query | integer | No | —Default: 50 · Maximum: 10000 |
sort_by | query | string | No | —Allowed: date_added, scheduled_drop_at, review_count, country, city, business_type, domain_rating, referring_domains, traffic, keywords, total_followers, latest_post_at |
sort_order | query | string | No | —Allowed: asc, desc · Default: desc |
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
scheduled_drop_after | query | string<date-time> | No | Include domains scheduled to drop at or after this instant. |
scheduled_drop_before | query | string<date-time> | No | Include domains scheduled to drop at or before this instant. |
source | query | array<string> | No | Filter by pending delete source. Repeat for multiple values.Repeatable parameter. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Matching pending-delete domains
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].domain_id | integer<int64> | Yes | — |
items[].domain | string | No | Domain name when visible to the current account. |
items[].business_type | string | No | — |
items[].business_type_key | string | No | Google business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$ |
items[].review_count | integer | No | — |
items[].country_code | string | No | — |
items[].city | string | No | — |
items[].domain_rating | integer | No | — |
items[].referring_domains | integer | No | — |
items[].traffic | integer | No | — |
items[].keywords | integer | No | — |
items[].social_data_status | string | Yes | —Allowed: pending_processing, processed |
items[].total_followers | integer | No | — |
items[].latest_post_at | string<date-time> | No | — |
items[].social_platforms | array<string> | Yes | — |
items[].social_profiles | array<object> | Yes | — |
items[].social_profiles[].platform | string | Yes | — |
items[].social_profiles[].follower_count | integer | No | — |
items[].has_wiki_page | boolean | No | — |
items[].trends_exists | boolean | No | — |
items[].trends_data | string | No | —Allowed: this_year, last_2_years, all_time, none |
items[].trends_status | string | No | — |
items[].revealed | boolean | No | — |
items[].tld | string | No | Domain suffix without a leading dot. |
items[].status | string | Yes | Compatibility value for pending-delete inventory.Allowed: dropping |
items[].scheduled_drop_at | string<date-time> | No | — |
items[].platform | string | No | Source that supplied the pending-delete record. |
total | integer<int64> | Yes | — |
page | integer | Yes | — |
page_size | integer | Yes | — |
{
"items": [
{
"domain_id": 12345,
"domain": "example.com",
"business_type": "Coffee shop",
"business_type_key": "coffee_shop",
"review_count": 42,
"country_code": "US",
"city": "Portland",
"domain_rating": 0,
"referring_domains": 0,
"traffic": 0,
"keywords": 0,
"social_data_status": "pending_processing",
"total_followers": 0,
"latest_post_at": "2026-09-20T12:00:00Z",
"social_platforms": [
"sedo"
],
"social_profiles": [
{
"platform": [
"sedo"
],
"follower_count": 1
}
],
"has_wiki_page": false,
"trends_exists": false,
"trends_data": "this_year",
"trends_status": "string",
"revealed": false,
"tld": [
"com"
],
"status": "dropping",
"scheduled_drop_at": "2026-09-20T12:00:00Z",
"platform": [
"sedo"
]
}
],
"total": 0,
"page": 1,
"page_size": 20
}400Invalid filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query domain inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/expired/business-typesList business types in expired inventory
- Operation ID
listExpiredBusinessTypes- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/expired/business-types' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
dropped_after | query | string<date-time> | No | Include expired records dropped at or after this instant. |
dropped_before | query | string<date-time> | No | Include expired records dropped at or before this instant. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Canonical business types and matching inventory counts
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].business_type_key | string | Yes | Stable Google business category identifier, without the internal gcid prefix. Accepted by the repeated business_type_key filter.Pattern: ^[a-z0-9_]+$ |
items[].business_type | string | Yes | Human-readable business type label observed for this category. |
items[].count | integer<int64> | Yes | Number of currently available inventory profiles of this type.Minimum: 0 |
{
"items": [
{
"business_type_key": "roofing_contractor",
"business_type": "Roofing contractor",
"count": 0
}
]
}400Invalid inventory filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query business type inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/auctions/business-typesList business types in active auction inventory
- Operation ID
listAuctionBusinessTypes- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/auctions/business-types' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
auction_end_after | query | string<date-time> | No | Include auctions ending at or after this instant. |
auction_end_before | query | string<date-time> | No | Include auctions ending at or before this instant. |
platform | query | array<string> | No | Filter by one or more auction platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Canonical business types and matching inventory counts
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].business_type_key | string | Yes | Stable Google business category identifier, without the internal gcid prefix. Accepted by the repeated business_type_key filter.Pattern: ^[a-z0-9_]+$ |
items[].business_type | string | Yes | Human-readable business type label observed for this category. |
items[].count | integer<int64> | Yes | Number of currently available inventory profiles of this type.Minimum: 0 |
{
"items": [
{
"business_type_key": "roofing_contractor",
"business_type": "Roofing contractor",
"count": 0
}
]
}400Invalid inventory filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query business type inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/pending-delete/business-typesList business types in pending delete inventory
- Operation ID
listPendingDeleteBusinessTypes- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/pending-delete/business-types' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
scheduled_drop_after | query | string<date-time> | No | Include domains scheduled to drop at or after this instant. |
scheduled_drop_before | query | string<date-time> | No | Include domains scheduled to drop at or before this instant. |
source | query | array<string> | No | Filter by pending delete source. Repeat for multiple values.Repeatable parameter. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Canonical business types and matching inventory counts
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].business_type_key | string | Yes | Stable Google business category identifier, without the internal gcid prefix. Accepted by the repeated business_type_key filter.Pattern: ^[a-z0-9_]+$ |
items[].business_type | string | Yes | Human-readable business type label observed for this category. |
items[].count | integer<int64> | Yes | Number of currently available inventory profiles of this type.Minimum: 0 |
{
"items": [
{
"business_type_key": "roofing_contractor",
"business_type": "Roofing contractor",
"count": 0
}
]
}400Invalid inventory filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query business type inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/expired/tldsList TLDs in expired inventory
- Operation ID
listExpiredTlds- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/expired/tlds' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
dropped_after | query | string<date-time> | No | Include expired records dropped at or after this instant. |
dropped_before | query | string<date-time> | No | Include expired records dropped at or before this instant. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Domain extensions and matching inventory counts
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].tld | string | Yes | Dataset suffix without a leading dot, including multi-part suffixes such as co.uk. |
items[].count | integer<int64> | Yes | Number of currently filterable inventory profiles using this suffix.Minimum: 0 |
{
"items": [
{
"tld": [
"com"
],
"count": 0
}
]
}400Invalid inventory filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query TLD inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/auctions/tldsList TLDs in active auction inventory
- Operation ID
listAuctionTlds- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/auctions/tlds' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
auction_end_after | query | string<date-time> | No | Include auctions ending at or after this instant. |
auction_end_before | query | string<date-time> | No | Include auctions ending at or before this instant. |
platform | query | array<string> | No | Filter by one or more auction platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Domain extensions and matching inventory counts
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].tld | string | Yes | Dataset suffix without a leading dot, including multi-part suffixes such as co.uk. |
items[].count | integer<int64> | Yes | Number of currently filterable inventory profiles using this suffix.Minimum: 0 |
{
"items": [
{
"tld": [
"com"
],
"count": 0
}
]
}400Invalid inventory filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query TLD inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/pending-delete/tldsList TLDs in pending delete inventory
- Operation ID
listPendingDeleteTlds- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/pending-delete/tlds' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
continent | query | array<string> | No | Include records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_continent | query | array<string> | No | Exclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter. |
country | query | array<string> | No | Include records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_country | query | array<string> | No | Exclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter. |
tld | query | array<string> | No | Include any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
exclude_tld | query | array<string> | No | Exclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter. |
scheduled_drop_after | query | string<date-time> | No | Include domains scheduled to drop at or after this instant. |
scheduled_drop_before | query | string<date-time> | No | Include domains scheduled to drop at or before this instant. |
source | query | array<string> | No | Filter by pending delete source. Repeat for multiple values.Repeatable parameter. |
kgmid | query | string | No | Filter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345) |
social_platforms | query | array<string> | No | Filter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter. |
has_wiki_page | query | boolean | No | Filter by whether the Google profile About section has a wiki/source link. |
trends_data | query | string | No | Filter by the strongest Google Trends interest window for resolved entities. none means the entity resolved but has no usable interest data.Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | Filter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row. |
social_match | query | string | No | Require any or all selected social platforms.Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | Filter by Google's closure assessment. unknown means no conclusive closure state is stored; not_closed includes profiles Google has not marked closed.Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | Filter by whether a phone number is stored for the Google Business Profile. |
has_opening_hours | query | boolean | No | Filter by whether opening hours are stored for the Google Business Profile. |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
Responses
200Domain extensions and matching inventory counts
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].tld | string | Yes | Dataset suffix without a leading dot, including multi-part suffixes such as co.uk. |
items[].count | integer<int64> | Yes | Number of currently filterable inventory profiles using this suffix.Minimum: 0 |
{
"items": [
{
"tld": [
"com"
],
"count": 0
}
]
}400Invalid inventory filter parameters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query TLD inventory
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/revealedList revealed domains for current user
- Operation ID
listRevealedDomains- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/revealed' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--data-urlencode 'page_size=50' \
--data-urlencode 'country=US' \
--data-urlencode 'reviews_min=10'Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
page | query | integer | No | —Default: 1 |
page_size | query | integer | No | —Default: 50 |
query | query | string | No | Case-insensitive search within the domain or business category.Max length: 200 |
status | query | string | No | —Allowed: expired, registered |
revealed_within | query | integer | No | Only include domains revealed within this many hours.Minimum: 1 · Maximum: 876000 |
country | query | array<string> | No | Include records in any supplied ISO country code.Repeatable parameter. |
exclude_country | query | array<string> | No | —Repeatable parameter. |
continent | query | array<string> | No | Include records in any supplied continent code.Repeatable parameter. |
exclude_continent | query | array<string> | No | —Repeatable parameter. |
city | query | array<string> | No | Include records matching any supplied city.Repeatable parameter. |
business_type_query | query | string | No | Fuzzy search by business type label. |
business_type_key | query | array<string> | No | Google business category identifiers matched exactly, without the gcid prefix.Repeatable parameter. |
tld | query | array<string> | No | Include supplied domain suffixes without leading dots.Repeatable parameter. |
exclude_tld | query | array<string> | No | —Repeatable parameter. |
kgmid | query | string | No | — |
social_platforms | query | array<string> | No | —Repeatable parameter. |
has_wiki_page | query | boolean | No | — |
trends_data | query | string | No | —Allowed: this_year, last_2_years, all_time, none |
trends_exists | query | boolean | No | — |
social_match | query | string | No | —Allowed: any, all · Default: any |
followers_min | query | integer | No | —Minimum: 0 |
followers_max | query | integer | No | —Minimum: 0 |
reviews_min | query | integer | No | —Minimum: 0 |
reviews_max | query | integer | No | —Minimum: 0 |
domain_rating_min | query | number | No | —Minimum: 0 · Maximum: 100 |
domain_rating_max | query | number | No | —Minimum: 0 · Maximum: 100 |
referring_domains_min | query | integer | No | —Minimum: 0 |
referring_domains_max | query | integer | No | —Minimum: 0 |
traffic_min | query | number | No | —Minimum: 0 |
traffic_max | query | number | No | —Minimum: 0 |
keywords_min | query | integer | No | —Minimum: 0 |
keywords_max | query | integer | No | —Minimum: 0 |
google_business_status | query | string | No | —Allowed: not_closed, permanently_closed, unknown |
has_phone | query | boolean | No | — |
has_opening_hours | query | boolean | No | — |
rating_min | query | number | No | —Minimum: 1 · Maximum: 5 |
rating_max | query | number | No | —Minimum: 1 · Maximum: 5 |
facebook_followers_min | query | integer | No | —Minimum: 0 |
facebook_followers_max | query | integer | No | —Minimum: 0 |
instagram_followers_min | query | integer | No | —Minimum: 0 |
instagram_followers_max | query | integer | No | —Minimum: 0 |
youtube_followers_min | query | integer | No | —Minimum: 0 |
youtube_followers_max | query | integer | No | —Minimum: 0 |
tiktok_followers_min | query | integer | No | —Minimum: 0 |
tiktok_followers_max | query | integer | No | —Minimum: 0 |
x_followers_min | query | integer | No | —Minimum: 0 |
x_followers_max | query | integer | No | —Minimum: 0 |
sort_by | query | string | No | —Allowed: revealed_at, domain, review_count · Default: revealed_at |
sort_order | query | string | No | —Allowed: asc, desc · Default: desc |
Responses
200List of revealed domains
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | — |
items[].reveal_id | string<uuid> | Yes | — |
items[].domain_id | integer<int64> | Yes | — |
items[].domain | string | Yes | — |
items[].revealed_at | string<date-time> | Yes | — |
items[].status | string | Yes | —Allowed: expired, registered |
items[].platform | string | No | — |
items[].scheduled_drop_at | string<date-time> | No | — |
items[].dropped_at | string<date-time> | No | — |
items[].auction_end_at | string<date-time> | No | — |
items[].business_type | string | Yes | — |
items[].business_type_key | string | No | Google business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$ |
items[].review_count | integer | Yes | — |
items[].country_code | string | Yes | — |
items[].city | string | Yes | — |
items[].domain_rating | integer | No | — |
items[].referring_domains | integer | No | — |
items[].traffic | integer | No | — |
items[].keywords | integer | No | — |
total | integer<int64> | Yes | — |
page | integer | Yes | — |
page_size | integer | Yes | — |
{
"items": [
{
"reveal_id": "00000000-0000-4000-8000-000000000001",
"domain_id": 12345,
"domain": "example.com",
"revealed_at": "2026-09-20T12:00:00Z",
"status": "expired",
"platform": [
"sedo"
],
"scheduled_drop_at": "2026-09-20T12:00:00Z",
"dropped_at": "2026-09-20T12:00:00Z",
"auction_end_at": "2026-09-20T12:00:00Z",
"business_type": "Coffee shop",
"business_type_key": "coffee_shop",
"review_count": 42,
"country_code": "US",
"city": "Portland",
"domain_rating": 0,
"referring_domains": 0,
"traffic": 0,
"keywords": 0
}
],
"total": 0,
"page": 1,
"page_size": 20
}400Invalid revealed-domain filters
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to query revealed domains
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/{domain_id}Get details for a revealed domain
- Operation ID
getRevealedDomainDetails- Authentication
- Bearer API key
- Permission
- Read only
Request example
curl --request GET 'https://api.expiredlocal.com/v1/domains/12345' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY"Parameters
| Name | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
domain_id | path | integer<int64> | Yes | — |
Responses
200Domain details
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
domain_id | integer<int64> | Yes | — |
domain | string | Yes | — |
scheduled_drop_at | string<date-time> | No | — |
dropped_at | string<date-time> | No | — |
auction_end_at | string<date-time> | No | — |
business_type | string | Yes | — |
business_type_key | string | No | Google business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$ |
review_count | integer | Yes | — |
country_code | string | Yes | — |
city | string | Yes | — |
domain_rating | integer | No | — |
referring_domains | integer | No | — |
traffic | integer | No | — |
reveal_id | string<uuid> | No | — |
revealed_at | string<date-time> | No | Reveal time when access was granted by a reveal. Omitted for subscription-only access. |
status | string | Yes | —Allowed: auction, dropping, expired, registered, auction_ended |
business_name | string | No | — |
star_rating | number | No | — |
address | string | No | — |
address_parts | array<string> | No | — |
coordinate_address | string | No | — |
plus_code | string | No | — |
latitude | number | No | — |
longitude | number | No | — |
website | string | No | — |
place_url | string | No | — |
kgmid | string | No | — |
cid | string | No | — |
is_closed | boolean | No | — |
phone | string | No | — |
phone_uri | string | No | — |
google_place_id | string | No | — |
google_reviews_url | string | No | — |
last_checked | string<date-time> | No | — |
opening_hours | array<object> | No | — |
opening_hours[].day | string | Yes | — |
opening_hours[].hours | string | Yes | — |
opening_hours[].note | string | No | — |
social_data | object | Yes | — |
social_data.status | string | Yes | —Allowed: pending_processing, processed |
social_data.total_follower_count | integer | No | — |
social_data.latest_post_at | string<date-time> | No | — |
social_data.about_source_url | string | No | Wiki/source link extracted from the Google profile About section. |
social_data.links | array<object> | Yes | — |
social_data.links[].url | string | Yes | — |
social_data.links[].follower_count | integer | No | — |
social_data.links[].platform | string | No | — |
social_data.misattributed_links | array<object> | Yes | — |
social_data.misattributed_links[].url | string | Yes | — |
social_data.misattributed_links[].follower_count | integer | No | — |
social_data.misattributed_links[].platform | string | No | — |
auctions | array<object> | Yes | — |
auctions[].platform | string | Yes | — |
auctions[].auction_end_time | string<date-time> | Yes | — |
auctions[].url | string | Yes | — |
registration_links | array<object> | No | — |
registration_links[].registrar | string | Yes | — |
registration_links[].url | string | Yes | — |
{
"domain_id": 12345,
"domain": "example.com",
"scheduled_drop_at": "2026-09-20T12:00:00Z",
"dropped_at": "2026-09-20T12:00:00Z",
"auction_end_at": "2026-09-20T12:00:00Z",
"business_type": "Coffee shop",
"business_type_key": "coffee_shop",
"review_count": 42,
"country_code": "US",
"city": "Portland",
"domain_rating": 0,
"referring_domains": 0,
"traffic": 0,
"reveal_id": "00000000-0000-4000-8000-000000000001",
"revealed_at": "2026-09-20T12:00:00Z",
"status": "auction",
"business_name": "string",
"star_rating": 0,
"address": "string",
"address_parts": [
"string"
],
"coordinate_address": "string",
"plus_code": "string",
"latitude": 0,
"longitude": 0,
"website": "string",
"place_url": "string",
"kgmid": "string",
"cid": "string",
"is_closed": false,
"phone": "string",
"phone_uri": "string",
"google_place_id": "string",
"google_reviews_url": "string",
"last_checked": "2026-09-20T12:00:00Z",
"opening_hours": [
{
"day": "string",
"hours": "string",
"note": "string"
}
],
"social_data": {
"status": "pending_processing",
"total_follower_count": 1,
"latest_post_at": "2026-09-20T12:00:00Z",
"about_source_url": "string",
"links": [
{
"url": "string",
"follower_count": 1,
"platform": [
"sedo"
]
}
],
"misattributed_links": [
{
"url": "string",
"follower_count": 1,
"platform": [
"sedo"
]
}
]
},
"auctions": [
{
"platform": [
"sedo"
],
"auction_end_time": "2026-09-20T12:00:00Z",
"url": "string"
}
],
"registration_links": [
{
"registrar": "string",
"url": "string"
}
]
}400Invalid domain identifier
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}403Domain not revealed by user
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}404Domain not found
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to load domain details
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}/v1/domains/revealReveal one or more domain names
Requires a write-permission API key. Reveals use the same credit rules as the web app.
- Operation ID
revealDomains- Authentication
- Bearer API key
- Permission
- Read and reveal
Request example
curl --request POST 'https://api.expiredlocal.com/v1/domains/reveal' \
--header "Authorization: Bearer $EXPIREDLOCAL_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"domain_ids":[12345,67890]}'Parameters
This operation has no path or query parameters.
Request body
Required request body. Unknown fields are rejected when the schema disallows additional properties.
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
domain_ids | array<integer<int64>> | Yes | Catalogue domain ids to reveal. A one-item array is used for a single reveal.Min items: 1 · Max items: 100 · Unique items |
{
"domain_ids": [
12345,
67890
]
}Responses
200Per-domain reveal outcomes, including any item-level failures
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
items | array<object> | Yes | Results in the same order as the requested domain_ids. |
items[].domain_id | integer<int64> | Yes | — |
items[].domain | string | No | Revealed domain name. Always omitted when outcome is failed so failures cannot bypass masking. |
items[].outcome | string | Yes | —Allowed: revealed, already_revealed, auction_cancelled, domain_registered, failed |
items[].credit_source | string | No | Credit pool charged for this item. Omitted when no credit was charged.Allowed: subscription, extra |
items[].error | object | No | Error response |
items[].error.code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
items[].error.message | string | Yes | Error message |
items[].error.details | object<string, unknown> | No | Optional structured context for the error. |
credits_charged | integer | Yes | Total credits charged by this request.Minimum: 0 |
credits_remaining | integer | Yes | Credit balance after every item has been processed.Minimum: 0 |
{
"items": [
{
"domain_id": 12345,
"domain": "example.com",
"outcome": "revealed",
"credit_source": "subscription",
"error": {
"code": "coffee_shop",
"message": "string",
"details": {}
}
}
],
"credits_charged": 0,
"credits_remaining": 0
}400Invalid batch request
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}401Missing, invalid, or revoked API key
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}403Write-permission API key required
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}500Failed to finalize the batch response
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | Error message |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}503API key authentication temporarily unavailable
application/json
| Field | Type | Required | Description and constraints |
|---|---|---|---|
code | string | Yes | Stable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$ |
message | string | Yes | — |
details | object<string, unknown> | No | Optional structured context for the error. |
{
"code": "coffee_shop",
"message": "string",
"details": {}
}