--- layout: ../../layouts/MarkdownLayout.astro title: API updatedAt: 2025-05-31 description: 'Access basic service data via our public API.' icon: 'ri:plug-line' --- import { SOURCE_CODE_URL } from 'astro:env/client' import { kycLevels } from '../../constants/kycLevels' import { verificationStatuses } from '../../constants/verificationStatus' import { serviceVisibilities } from '../../constants/serviceVisibility' import { kycLevelClarifications } from '../../constants/kycLevelClarifications' 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 ```typescript 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' | ... name: string description: string } categories: { name: string slug: string }[] listedAt: Date serviceUrls: string[] tosUrls: string[] kycnotmeUrl: `https://kycnot.me/service/${service.slug}` } ``` #### KYC Levels