Skip to main content

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.

Authenticated request · curl
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 safe message, and optional field-level details.
GET
/v1/domains/expired

List expired domains

Returns domains that have dropped and can be revealed individually.

Operation ID
listExpiredDomains
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/expired
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

NameLocationTypeRequiredDescription and constraints
pagequeryintegerNo—Default: 1
page_sizequeryintegerNo—Default: 50 · Maximum: 10000
sort_byquerystringNo—Allowed: date_added, dropped_at, review_count, country, city, business_type, domain_rating, referring_domains, traffic, keywords, total_followers, latest_post_at
sort_orderquerystringNo—Allowed: asc, desc · Default: desc
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
dropped_afterquerystring<date-time>NoInclude expired records dropped at or after this instant.
dropped_beforequerystring<date-time>NoInclude expired records dropped at or before this instant.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Matching expired domains

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].domain_idinteger<int64>Yes—
items[].domainstringNoDomain name when visible to the current account.
items[].business_typestringNo—
items[].business_type_keystringNoGoogle business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$
items[].review_countintegerNo—
items[].country_codestringNo—
items[].citystringNo—
items[].domain_ratingintegerNo—
items[].referring_domainsintegerNo—
items[].trafficintegerNo—
items[].keywordsintegerNo—
items[].social_data_statusstringYes—Allowed: pending_processing, processed
items[].total_followersintegerNo—
items[].latest_post_atstring<date-time>No—
items[].social_platformsarray<string>Yes—
items[].social_profilesarray<object>Yes—
items[].social_profiles[].platformstringYes—
items[].social_profiles[].follower_countintegerNo—
items[].has_wiki_pagebooleanNo—
items[].trends_existsbooleanNo—
items[].trends_datastringNo—Allowed: this_year, last_2_years, all_time, none
items[].trends_statusstringNo—
items[].revealedbooleanNo—
items[].tldstringNoDomain suffix without a leading dot.
items[].statusstringYes—Allowed: expired
items[].dropped_atstring<date-time>No—
totalinteger<int64>Yes—
pageintegerYes—
page_sizeintegerYes—
200 response · JSON
{
  "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

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query domain inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/auctions

List domains in active auctions

Operation ID
listAuctionDomains
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/auctions
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

NameLocationTypeRequiredDescription and constraints
pagequeryintegerNo—Default: 1
page_sizequeryintegerNo—Default: 50 · Maximum: 10000
sort_byquerystringNo—Allowed: date_added, auction_end_at, review_count, country, city, business_type, domain_rating, referring_domains, traffic, keywords, total_followers, latest_post_at
sort_orderquerystringNo—Allowed: asc, desc · Default: desc
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
auction_end_afterquerystring<date-time>NoInclude auctions ending at or after this instant.
auction_end_beforequerystring<date-time>NoInclude auctions ending at or before this instant.
platformqueryarray<string>NoFilter by one or more auction platform ids. Repeat the parameter for multiple values.Repeatable parameter.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Matching auction domains

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].domain_idinteger<int64>Yes—
items[].domainstringNoDomain name when visible to the current account.
items[].business_typestringNo—
items[].business_type_keystringNoGoogle business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$
items[].review_countintegerNo—
items[].country_codestringNo—
items[].citystringNo—
items[].domain_ratingintegerNo—
items[].referring_domainsintegerNo—
items[].trafficintegerNo—
items[].keywordsintegerNo—
items[].social_data_statusstringYes—Allowed: pending_processing, processed
items[].total_followersintegerNo—
items[].latest_post_atstring<date-time>No—
items[].social_platformsarray<string>Yes—
items[].social_profilesarray<object>Yes—
items[].social_profiles[].platformstringYes—
items[].social_profiles[].follower_countintegerNo—
items[].has_wiki_pagebooleanNo—
items[].trends_existsbooleanNo—
items[].trends_datastringNo—Allowed: this_year, last_2_years, all_time, none
items[].trends_statusstringNo—
items[].revealedbooleanNo—
items[].tldstringNoDomain suffix without a leading dot.
items[].statusstringYes—Allowed: auction
items[].auction_end_atstring<date-time>No—
items[].platformstringNo—
totalinteger<int64>Yes—
pageintegerYes—
page_sizeintegerYes—
200 response · JSON
{
  "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

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query domain inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/pending-delete

List pending delete domains

Operation ID
listPendingDeleteDomains
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/pending-delete
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

NameLocationTypeRequiredDescription and constraints
pagequeryintegerNo—Default: 1
page_sizequeryintegerNo—Default: 50 · Maximum: 10000
sort_byquerystringNo—Allowed: date_added, scheduled_drop_at, review_count, country, city, business_type, domain_rating, referring_domains, traffic, keywords, total_followers, latest_post_at
sort_orderquerystringNo—Allowed: asc, desc · Default: desc
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
scheduled_drop_afterquerystring<date-time>NoInclude domains scheduled to drop at or after this instant.
scheduled_drop_beforequerystring<date-time>NoInclude domains scheduled to drop at or before this instant.
sourcequeryarray<string>NoFilter by pending delete source. Repeat for multiple values.Repeatable parameter.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Matching pending-delete domains

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].domain_idinteger<int64>Yes—
items[].domainstringNoDomain name when visible to the current account.
items[].business_typestringNo—
items[].business_type_keystringNoGoogle business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$
items[].review_countintegerNo—
items[].country_codestringNo—
items[].citystringNo—
items[].domain_ratingintegerNo—
items[].referring_domainsintegerNo—
items[].trafficintegerNo—
items[].keywordsintegerNo—
items[].social_data_statusstringYes—Allowed: pending_processing, processed
items[].total_followersintegerNo—
items[].latest_post_atstring<date-time>No—
items[].social_platformsarray<string>Yes—
items[].social_profilesarray<object>Yes—
items[].social_profiles[].platformstringYes—
items[].social_profiles[].follower_countintegerNo—
items[].has_wiki_pagebooleanNo—
items[].trends_existsbooleanNo—
items[].trends_datastringNo—Allowed: this_year, last_2_years, all_time, none
items[].trends_statusstringNo—
items[].revealedbooleanNo—
items[].tldstringNoDomain suffix without a leading dot.
items[].statusstringYesCompatibility value for pending-delete inventory.Allowed: dropping
items[].scheduled_drop_atstring<date-time>No—
items[].platformstringNoSource that supplied the pending-delete record.
totalinteger<int64>Yes—
pageintegerYes—
page_sizeintegerYes—
200 response · JSON
{
  "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

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query domain inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/expired/business-types

List business types in expired inventory

Operation ID
listExpiredBusinessTypes
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/expired/business-types
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

NameLocationTypeRequiredDescription and constraints
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
dropped_afterquerystring<date-time>NoInclude expired records dropped at or after this instant.
dropped_beforequerystring<date-time>NoInclude expired records dropped at or before this instant.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Canonical business types and matching inventory counts

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].business_type_keystringYesStable Google business category identifier, without the internal gcid prefix. Accepted by the repeated business_type_key filter.Pattern: ^[a-z0-9_]+$
items[].business_typestringYesHuman-readable business type label observed for this category.
items[].countinteger<int64>YesNumber of currently available inventory profiles of this type.Minimum: 0
200 response · JSON
{
  "items": [
    {
      "business_type_key": "roofing_contractor",
      "business_type": "Roofing contractor",
      "count": 0
    }
  ]
}
400Invalid inventory filter parameters

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query business type inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/auctions/business-types

List business types in active auction inventory

Operation ID
listAuctionBusinessTypes
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/auctions/business-types
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

NameLocationTypeRequiredDescription and constraints
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
auction_end_afterquerystring<date-time>NoInclude auctions ending at or after this instant.
auction_end_beforequerystring<date-time>NoInclude auctions ending at or before this instant.
platformqueryarray<string>NoFilter by one or more auction platform ids. Repeat the parameter for multiple values.Repeatable parameter.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Canonical business types and matching inventory counts

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].business_type_keystringYesStable Google business category identifier, without the internal gcid prefix. Accepted by the repeated business_type_key filter.Pattern: ^[a-z0-9_]+$
items[].business_typestringYesHuman-readable business type label observed for this category.
items[].countinteger<int64>YesNumber of currently available inventory profiles of this type.Minimum: 0
200 response · JSON
{
  "items": [
    {
      "business_type_key": "roofing_contractor",
      "business_type": "Roofing contractor",
      "count": 0
    }
  ]
}
400Invalid inventory filter parameters

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query business type inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/pending-delete/business-types

List business types in pending delete inventory

Operation ID
listPendingDeleteBusinessTypes
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/pending-delete/business-types
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

NameLocationTypeRequiredDescription and constraints
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
scheduled_drop_afterquerystring<date-time>NoInclude domains scheduled to drop at or after this instant.
scheduled_drop_beforequerystring<date-time>NoInclude domains scheduled to drop at or before this instant.
sourcequeryarray<string>NoFilter by pending delete source. Repeat for multiple values.Repeatable parameter.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Canonical business types and matching inventory counts

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].business_type_keystringYesStable Google business category identifier, without the internal gcid prefix. Accepted by the repeated business_type_key filter.Pattern: ^[a-z0-9_]+$
items[].business_typestringYesHuman-readable business type label observed for this category.
items[].countinteger<int64>YesNumber of currently available inventory profiles of this type.Minimum: 0
200 response · JSON
{
  "items": [
    {
      "business_type_key": "roofing_contractor",
      "business_type": "Roofing contractor",
      "count": 0
    }
  ]
}
400Invalid inventory filter parameters

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query business type inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/expired/tlds

List TLDs in expired inventory

Operation ID
listExpiredTlds
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/expired/tlds
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

NameLocationTypeRequiredDescription and constraints
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
dropped_afterquerystring<date-time>NoInclude expired records dropped at or after this instant.
dropped_beforequerystring<date-time>NoInclude expired records dropped at or before this instant.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Domain extensions and matching inventory counts

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].tldstringYesDataset suffix without a leading dot, including multi-part suffixes such as co.uk.
items[].countinteger<int64>YesNumber of currently filterable inventory profiles using this suffix.Minimum: 0
200 response · JSON
{
  "items": [
    {
      "tld": [
        "com"
      ],
      "count": 0
    }
  ]
}
400Invalid inventory filter parameters

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query TLD inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/auctions/tlds

List TLDs in active auction inventory

Operation ID
listAuctionTlds
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/auctions/tlds
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

NameLocationTypeRequiredDescription and constraints
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
auction_end_afterquerystring<date-time>NoInclude auctions ending at or after this instant.
auction_end_beforequerystring<date-time>NoInclude auctions ending at or before this instant.
platformqueryarray<string>NoFilter by one or more auction platform ids. Repeat the parameter for multiple values.Repeatable parameter.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Domain extensions and matching inventory counts

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].tldstringYesDataset suffix without a leading dot, including multi-part suffixes such as co.uk.
items[].countinteger<int64>YesNumber of currently filterable inventory profiles using this suffix.Minimum: 0
200 response · JSON
{
  "items": [
    {
      "tld": [
        "com"
      ],
      "count": 0
    }
  ]
}
400Invalid inventory filter parameters

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query TLD inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/pending-delete/tlds

List TLDs in pending delete inventory

Operation ID
listPendingDeleteTlds
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/pending-delete/tlds
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

NameLocationTypeRequiredDescription and constraints
continentqueryarray<string>NoInclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_continentqueryarray<string>NoExclude records in any supplied continent code. Repeat the parameter for multiple values.Repeatable parameter.
countryqueryarray<string>NoInclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
exclude_countryqueryarray<string>NoExclude records in any supplied country code. Repeat the parameter for multiple values.Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city. Repeat the parameter for multiple values.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix. Repeat the parameter to match any supplied type.Repeatable parameter.
tldqueryarray<string>NoInclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
exclude_tldqueryarray<string>NoExclude any supplied domain suffix without a leading dot. Repeat the parameter for multiple values.Repeatable parameter.
scheduled_drop_afterquerystring<date-time>NoInclude domains scheduled to drop at or after this instant.
scheduled_drop_beforequerystring<date-time>NoInclude domains scheduled to drop at or before this instant.
sourcequeryarray<string>NoFilter by pending delete source. Repeat for multiple values.Repeatable parameter.
kgmidquerystringNoFilter by Google Knowledge Graph MID (e.g., /g/11abc or /m/012345)
social_platformsqueryarray<string>NoFilter by associated social profile platform ids. Repeat the parameter for multiple values.Repeatable parameter.
has_wiki_pagequerybooleanNoFilter by whether the Google profile About section has a wiki/source link.
trends_dataquerystringNoFilter 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_existsquerybooleanNoFilter by whether Google Trends resolved this profile's KGMID into an entity. false also includes profiles with no trends row.
social_matchquerystringNoRequire any or all selected social platforms.Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNoFilter 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_phonequerybooleanNoFilter by whether a phone number is stored for the Google Business Profile.
has_opening_hoursquerybooleanNoFilter by whether opening hours are stored for the Google Business Profile.
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0

Responses

200Domain extensions and matching inventory counts

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].tldstringYesDataset suffix without a leading dot, including multi-part suffixes such as co.uk.
items[].countinteger<int64>YesNumber of currently filterable inventory profiles using this suffix.Minimum: 0
200 response · JSON
{
  "items": [
    {
      "tld": [
        "com"
      ],
      "count": 0
    }
  ]
}
400Invalid inventory filter parameters

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query TLD inventory

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/revealed

List revealed domains for current user

Operation ID
listRevealedDomains
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/revealed
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

NameLocationTypeRequiredDescription and constraints
pagequeryintegerNo—Default: 1
page_sizequeryintegerNo—Default: 50
queryquerystringNoCase-insensitive search within the domain or business category.Max length: 200
statusquerystringNo—Allowed: expired, registered
revealed_withinqueryintegerNoOnly include domains revealed within this many hours.Minimum: 1 · Maximum: 876000
countryqueryarray<string>NoInclude records in any supplied ISO country code.Repeatable parameter.
exclude_countryqueryarray<string>No—Repeatable parameter.
continentqueryarray<string>NoInclude records in any supplied continent code.Repeatable parameter.
exclude_continentqueryarray<string>No—Repeatable parameter.
cityqueryarray<string>NoInclude records matching any supplied city.Repeatable parameter.
business_type_queryquerystringNoFuzzy search by business type label.
business_type_keyqueryarray<string>NoGoogle business category identifiers matched exactly, without the gcid prefix.Repeatable parameter.
tldqueryarray<string>NoInclude supplied domain suffixes without leading dots.Repeatable parameter.
exclude_tldqueryarray<string>No—Repeatable parameter.
kgmidquerystringNo—
social_platformsqueryarray<string>No—Repeatable parameter.
has_wiki_pagequerybooleanNo—
trends_dataquerystringNo—Allowed: this_year, last_2_years, all_time, none
trends_existsquerybooleanNo—
social_matchquerystringNo—Allowed: any, all · Default: any
followers_minqueryintegerNo—Minimum: 0
followers_maxqueryintegerNo—Minimum: 0
reviews_minqueryintegerNo—Minimum: 0
reviews_maxqueryintegerNo—Minimum: 0
domain_rating_minquerynumberNo—Minimum: 0 · Maximum: 100
domain_rating_maxquerynumberNo—Minimum: 0 · Maximum: 100
referring_domains_minqueryintegerNo—Minimum: 0
referring_domains_maxqueryintegerNo—Minimum: 0
traffic_minquerynumberNo—Minimum: 0
traffic_maxquerynumberNo—Minimum: 0
keywords_minqueryintegerNo—Minimum: 0
keywords_maxqueryintegerNo—Minimum: 0
google_business_statusquerystringNo—Allowed: not_closed, permanently_closed, unknown
has_phonequerybooleanNo—
has_opening_hoursquerybooleanNo—
rating_minquerynumberNo—Minimum: 1 · Maximum: 5
rating_maxquerynumberNo—Minimum: 1 · Maximum: 5
facebook_followers_minqueryintegerNo—Minimum: 0
facebook_followers_maxqueryintegerNo—Minimum: 0
instagram_followers_minqueryintegerNo—Minimum: 0
instagram_followers_maxqueryintegerNo—Minimum: 0
youtube_followers_minqueryintegerNo—Minimum: 0
youtube_followers_maxqueryintegerNo—Minimum: 0
tiktok_followers_minqueryintegerNo—Minimum: 0
tiktok_followers_maxqueryintegerNo—Minimum: 0
x_followers_minqueryintegerNo—Minimum: 0
x_followers_maxqueryintegerNo—Minimum: 0
sort_byquerystringNo—Allowed: revealed_at, domain, review_count · Default: revealed_at
sort_orderquerystringNo—Allowed: asc, desc · Default: desc

Responses

200List of revealed domains

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>Yes—
items[].reveal_idstring<uuid>Yes—
items[].domain_idinteger<int64>Yes—
items[].domainstringYes—
items[].revealed_atstring<date-time>Yes—
items[].statusstringYes—Allowed: expired, registered
items[].platformstringNo—
items[].scheduled_drop_atstring<date-time>No—
items[].dropped_atstring<date-time>No—
items[].auction_end_atstring<date-time>No—
items[].business_typestringYes—
items[].business_type_keystringNoGoogle business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$
items[].review_countintegerYes—
items[].country_codestringYes—
items[].citystringYes—
items[].domain_ratingintegerNo—
items[].referring_domainsintegerNo—
items[].trafficintegerNo—
items[].keywordsintegerNo—
totalinteger<int64>Yes—
pageintegerYes—
page_sizeintegerYes—
200 response · JSON
{
  "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

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to query revealed domains

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
GET
/v1/domains/{domain_id}

Get details for a revealed domain

Operation ID
getRevealedDomainDetails
Authentication
Bearer API key
Permission
Read only

Request example

GET /v1/domains/{domain_id}
curl --request GET 'https://api.expiredlocal.com/v1/domains/12345' \
  --header "Authorization: Bearer $EXPIREDLOCAL_API_KEY"

Parameters

NameLocationTypeRequiredDescription and constraints
domain_idpathinteger<int64>Yes—

Responses

200Domain details

application/json

FieldTypeRequiredDescription and constraints
domain_idinteger<int64>Yes—
domainstringYes—
scheduled_drop_atstring<date-time>No—
dropped_atstring<date-time>No—
auction_end_atstring<date-time>No—
business_typestringYes—
business_type_keystringNoGoogle business category identifier without the internal gcid prefix.Pattern: ^[a-z0-9_]+$
review_countintegerYes—
country_codestringYes—
citystringYes—
domain_ratingintegerNo—
referring_domainsintegerNo—
trafficintegerNo—
reveal_idstring<uuid>No—
revealed_atstring<date-time>NoReveal time when access was granted by a reveal. Omitted for subscription-only access.
statusstringYes—Allowed: auction, dropping, expired, registered, auction_ended
business_namestringNo—
star_ratingnumberNo—
addressstringNo—
address_partsarray<string>No—
coordinate_addressstringNo—
plus_codestringNo—
latitudenumberNo—
longitudenumberNo—
websitestringNo—
place_urlstringNo—
kgmidstringNo—
cidstringNo—
is_closedbooleanNo—
phonestringNo—
phone_uristringNo—
google_place_idstringNo—
google_reviews_urlstringNo—
last_checkedstring<date-time>No—
opening_hoursarray<object>No—
opening_hours[].daystringYes—
opening_hours[].hoursstringYes—
opening_hours[].notestringNo—
social_dataobjectYes—
social_data.statusstringYes—Allowed: pending_processing, processed
social_data.total_follower_countintegerNo—
social_data.latest_post_atstring<date-time>No—
social_data.about_source_urlstringNoWiki/source link extracted from the Google profile About section.
social_data.linksarray<object>Yes—
social_data.links[].urlstringYes—
social_data.links[].follower_countintegerNo—
social_data.links[].platformstringNo—
social_data.misattributed_linksarray<object>Yes—
social_data.misattributed_links[].urlstringYes—
social_data.misattributed_links[].follower_countintegerNo—
social_data.misattributed_links[].platformstringNo—
auctionsarray<object>Yes—
auctions[].platformstringYes—
auctions[].auction_end_timestring<date-time>Yes—
auctions[].urlstringYes—
registration_linksarray<object>No—
registration_links[].registrarstringYes—
registration_links[].urlstringYes—
200 response · JSON
{
  "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

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
403Domain not revealed by user

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
403 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
404Domain not found

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
404 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to load domain details

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
POST
/v1/domains/reveal

Reveal 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

POST /v1/domains/reveal
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

FieldTypeRequiredDescription and constraints
domain_idsarray<integer<int64>>YesCatalogue domain ids to reveal. A one-item array is used for a single reveal.Min items: 1 · Max items: 100 · Unique items
Request body · JSON
{
  "domain_ids": [
    12345,
    67890
  ]
}

Responses

200Per-domain reveal outcomes, including any item-level failures

application/json

FieldTypeRequiredDescription and constraints
itemsarray<object>YesResults in the same order as the requested domain_ids.
items[].domain_idinteger<int64>Yes—
items[].domainstringNoRevealed domain name. Always omitted when outcome is failed so failures cannot bypass masking.
items[].outcomestringYes—Allowed: revealed, already_revealed, auction_cancelled, domain_registered, failed
items[].credit_sourcestringNoCredit pool charged for this item. Omitted when no credit was charged.Allowed: subscription, extra
items[].errorobjectNoError response
items[].error.codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
items[].error.messagestringYesError message
items[].error.detailsobject<string, unknown>NoOptional structured context for the error.
credits_chargedintegerYesTotal credits charged by this request.Minimum: 0
credits_remainingintegerYesCredit balance after every item has been processed.Minimum: 0
200 response · JSON
{
  "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

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
400 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
401Missing, invalid, or revoked API key

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
401 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
403Write-permission API key required

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
403 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
500Failed to finalize the batch response

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYesError message
detailsobject<string, unknown>NoOptional structured context for the error.
500 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}
503API key authentication temporarily unavailable

application/json

FieldTypeRequiredDescription and constraints
codestringYesStable machine-readable error identifier.Pattern: ^[a-z][a-z0-9_]*$
messagestringYes—
detailsobject<string, unknown>NoOptional structured context for the error.
503 response · JSON
{
  "code": "coffee_shop",
  "message": "string",
  "details": {}
}