BrandShield
BrandShield API
API reference for BrandShield. All endpoints require API token authentication (Authorization: Bearer bk_...).
Check domains
POST /v1/trademarks/check
Check domain names against the BrandShield database. Returns matched brands, blocking status, and detection method.
Request
curl -X POST https://api.most.ac/v1/trademarks/check \
-H "Authorization: Bearer bk_..." \
-H "Content-Type: application/json" \
-d '{
"names": [
"paypal-login.com",
"g00gle-verify.net",
"coinbase-wallet-recovery.io",
"my-cool-shop.com"
]
}'
| Body field | Type | Required | Description |
|---|
names | string[] | yes | Domain names to check. Max 100 per request. |
Response
{
"success": true,
"data": {
"results": [
{
"domainName": "paypal-login.com",
"sld": "paypal-login",
"matches": [
{
"brand": "PayPal",
"category": "FINANCIAL",
"subCategory": "PAYMENT",
"blocking": true,
"sanctioned": false,
"keyword": "paypal",
"matchType": "exact"
}
],
"blocked": true
},
{
"domainName": "g00gle-verify.net",
"sld": "g00gle-verify",
"matches": [
{
"brand": "Google",
"category": "PHISHING_HIGH",
"subCategory": "BIG_TECH",
"blocking": true,
"sanctioned": false,
"keyword": "google",
"matchType": "homoglyph"
}
],
"blocked": true
},
{
"domainName": "coinbase-wallet-recovery.io",
"sld": "coinbase-wallet-recovery",
"matches": [
{
"brand": "Coinbase",
"category": "CRYPTO",
"subCategory": "EXCHANGE",
"blocking": true,
"sanctioned": false,
"keyword": "coinbase",
"matchType": "exact"
}
],
"blocked": true
},
{
"domainName": "my-cool-shop.com",
"sld": "my-cool-shop",
"matches": [],
"blocked": false
}
]
}
}
Response fields
| Field | Type | Description |
|---|
domainName | string | The domain as submitted |
sld | string | Second-level domain extracted from the input |
matches | array | All brands matched. Empty = clean domain. |
matches[].brand | string | Canonical brand name |
matches[].category | string | FINANCIAL, CRYPTO, PHISHING_HIGH, etc. |
matches[].subCategory | string | Business type: BANK, EXCHANGE, WALLET, PAYMENT, etc. |
matches[].blocking | boolean | Whether registrars reject domains with this brand — verified by real registration tests |
matches[].sanctioned | boolean | Whether this entity is on OFAC/EU/UN sanctions lists |
matches[].keyword | string | The keyword that triggered the match |
matches[].matchType | string | exact, homoglyph, or levenshtein |
blocked | boolean | true if any match has blocking: true |
Match types
exact — the SLD contains a keyword verbatim.
paypal-login.com → "paypal-login" contains "paypal"
coinbase7842.cfd → "coinbase7842" contains "coinbase"
homoglyph — confusable characters normalized to ASCII before matching.
| Character | Looks like | Unicode |
|---|
а (Cyrillic) | a (Latin) | U+0430 |
е (Cyrillic) | e (Latin) | U+0435 |
о (Cyrillic) | o (Latin) | U+043E |
0 (zero) | o | — |
1 (one) | l | — |
pаypal.com → normalized to "paypal" → match
g00gle.com → normalized to "google" → match
levenshtein — fuzzy edit-distance for typosquatting. Requires keyword 6+ chars, SLD length within ±3 of keyword.
paypall.com → distance 1 from "paypal" → match
gooogle.com → distance 1 from "google" → match
List entries
Browse the database with filtering by category, subcategory, sanctions status, or keyword search.
Request
# All crypto exchanges
curl "https://api.most.ac/v1/trademarks?category=CRYPTO&subCategory=EXCHANGE&limit=5" \
-H "Authorization: Bearer bk_..."
# Sanctioned entities only
curl "https://api.most.ac/v1/trademarks?sanctioned=true&limit=10" \
-H "Authorization: Bearer bk_..."
# Search by name
curl "https://api.most.ac/v1/trademarks?search=barclays" \
-H "Authorization: Bearer bk_..."
Query parameters
| Parameter | Type | Default | Description |
|---|
category | string | — | Comma-separated: FINANCIAL,CRYPTO |
subCategory | string | — | Comma-separated: BANK,EXCHANGE,WALLET |
search | string | — | Case-insensitive brand name search |
sanctioned | string | — | true to show only sanctioned entities |
limit | number | 50 | Max 200 |
offset | number | 0 | Pagination |
Response
{
"success": true,
"data": {
"entries": [
{
"id": "cm...",
"brand": "Coinbase",
"keywords": ["coinbase"],
"category": "CRYPTO",
"subCategory": "EXCHANGE",
"source": "apwg",
"blocking": true,
"sanctioned": false,
"countryCode": "US"
},
{
"id": "cm...",
"brand": "Binance",
"keywords": ["binance"],
"category": "CRYPTO",
"subCategory": "EXCHANGE",
"source": "apwg",
"blocking": true,
"sanctioned": false,
"countryCode": "MT"
}
],
"total": 295,
"limit": 5,
"offset": 0
}
}
Statistics
Database summary for dashboards and status pages.
Response
{
"success": true,
"data": {
"totalBrands": 11273,
"totalKeywords": 15000,
"totalBlocking": 4539,
"totalSanctioned": 2058,
"byCategory": [
{ "category": "FINANCIAL", "brands": 10487 },
{ "category": "CRYPTO", "brands": 572 },
{ "category": "TECH", "brands": 54 },
{ "category": "ECOMMERCE", "brands": 71 },
{ "category": "CUSTOM", "brands": 49 },
{ "category": "DELIVERY", "brands": 30 },
{ "category": "GOVERNMENT", "brands": 24 },
{ "category": "SOCIAL", "brands": 20 },
{ "category": "PHISHING_HIGH", "brands": 15 }
]
}
}
| Field | Description |
|---|
totalBrands | Total active brands in database |
totalKeywords | Total ban-words across all brands |
totalBlocking | Brands that registrars actively block |
totalSanctioned | Entities on OFAC/EU/UN sanctions lists |
Typical integration
Pre-registration screening
RESULT=$(curl -s -X POST https://api.most.ac/v1/trademarks/check \
-H "Authorization: Bearer bk_..." \
-H "Content-Type: application/json" \
-d '{"names": ["example-domain.com"]}')
BLOCKED=$(echo "$RESULT" | jq '.data.results[0].blocked')
if [ "$BLOCKED" = "true" ]; then
echo "Domain blocked — trademark match detected"
echo "$RESULT" | jq '.data.results[0].matches'
else
echo "Domain is clean — proceed with registration"
fi
Batch screening before orders
Check all domains in a batch before submitting to POST /v1/orders:
curl -X POST https://api.most.ac/v1/trademarks/check \
-H "Authorization: Bearer bk_..." \
-H "Content-Type: application/json" \
-d '{
"names": [
"client-website.com",
"new-store-name.net",
"totally-legit-bank.io",
"my-brand.dev"
]
}'
Reject or flag any result with "blocked": true before registration.
Last modified on