API
Updated
Access basic service data via our public API.
All endpoints should be prefixed with /api/v1/
.
The endpoints source code is available on the /web/src/actions/api/index.ts
file.
Attribution: Please credit KYCnot.me if you use data from this API.
QUERY
/service/get
Fetches details for a single service by various lookup criteria.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | number | No* | Service ID |
slug | string | No* | Service URL slug (lowercase letters, numbers, and hyphens only) |
serviceUrl | string | No* | Service URL. May be web, onion, or i2p. May just be a domain or a full URL. |
* At least one of the marked parameters is required.
Response Format
type ServiceResponse = {
id: number
slug: string
name: string
description: string
serviceVisibility: 'PUBLIC' | 'ARCHIVED' | 'UNLISTED'
verificationStatus: 'VERIFICATION_SUCCESS' | 'APPROVED' | 'COMMUNITY_CONTRIBUTED' | 'VERIFICATION_FAILED'
verificationStatusInfo: {
value: 'VERIFICATION_SUCCESS' | 'APPROVED' | 'COMMUNITY_CONTRIBUTED' | 'VERIFICATION_FAILED'
slug: string
label: string
labelShort: string
description: string
}
verifiedAt: Date | null
approvedAt: Date | null
kycLevel: 0 | 1 | 2 | 3 | 4
kycLevelInfo: {
value: 0 | 1 | 2 | 3 | 4
name: string
description: string
}
kycLevelClarification: 'NONE' | 'DEPENDS_ON_PARTNERS' | ...
kycLevelClarificationInfo: {
value: 'NONE' | 'DEPENDS_ON_PARTNERS' | ...
label: string
description: string
}
categories: {
name: string
slug: string
}[]
listedAt: Date
serviceUrls: string[]
tosUrls: string[]
kycnotmeUrl: `https://kycnot.me/service/${service.slug}`
}
KYC Levels
- 0: Guaranteed no KYC - Terms explicitly state KYC will never be requested.
- 1: No KYC mention - No mention of current or future KYC requirements.
- 2: KYC on authorities request - No routine KYC, but may cooperate with authorities, block funds or implement future KYC requirements.
- 3: Shotgun KYC - May request KYC and block funds based on automated triggers.
- 4: Mandatory KYC - Required for key features and can be required arbitrarily at any time.
Verification Status
- VERIFICATION_SUCCESS: Thoroughly tested and verified by the team. But things might change, this is not a guarantee.
- APPROVED: Everything checks out at first glance, but not verified nor thoroughly tested by the team.
- COMMUNITY_CONTRIBUTED: Suggested by the community, but not reviewed by the team yet.
- VERIFICATION_FAILED: Confirmed as a SCAM or not what it claims to be.
Service Visibility
- PUBLIC: Listed in search and browse.
- UNLISTED: Unlisted service, only accessible via direct link and won't appear in searches.
- ARCHIVED: Archived service, no longer exists or ceased operations. Information may be outdated.
KYC Level Clarifications
- NONE: No clarification needed.
- DEPENDS_ON_PARTNERS: May vary across partners.
Examples
Request
curl -X QUERY https://kycnot.me/api/v1/service/get \
-H "Content-Type: application/json" \
-d '{"slug": "my-example-service"}'
Response
{
"id": 123,
"name": "My Example Service",
"description": "This is a description of my example service",
"slug": "my-example-service",
"serviceVisibility": "PUBLIC",
"verificationStatus": "VERIFICATION_SUCCESS",
"verificationStatusInfo": {
"value": "VERIFICATION_SUCCESS",
"slug": "verified",
"label": "Verified",
"labelShort": "Verified",
"description": "Thoroughly tested and verified by the team. But things might change, this is not a guarantee."
},
"verifiedAt": "2025-06-14T11:02:39.294Z",
"approvedAt": "2025-05-31T19:09:18.043Z",
"kycLevel": 0,
"kycLevelInfo": {
"value": 0,
"name": "Guaranteed no KYC",
"description": "Terms explicitly state KYC will never be requested."
},
"kycLevelClarification": "NONE",
"kycLevelClarificationInfo": {
"value": "NONE",
"label": "None",
"description": "No clarification needed."
},
"categories": [
{
"name": "Exchange",
"slug": "exchange"
}
],
"listedAt": "2025-04-20T07:12:29.393Z",
"serviceUrls": [
"https://example.com",
"http://c9ikae0fdidzh1ufrzp022e5uqfvz6ofxlkycz59cvo6fdxjgx7ekl9e.onion"
],
"tosUrls": ["https://example.com/terms-of-service"],
"kycnotmeUrl": "https://kycnot.me/service/bisq"
}
Error Responses
404 Not Found: Service not found
{
"error": "Service not found"
}
400 Bad Request: Invalid input parameters
{
"error": "Validation error message"
}
500 Internal Server Error: Server error
{
"error": "Internal server error"
}