Skip to content
CUNICULA
INTELTHE WHITE HOUSE APP IS A SURVEILLANCE LIABILITY DISGUISED AS A NEWS FEED ░░ INTELEU PARLIAMENT KILLS CSAM SCANNING EXTENSION ░░ PRIVACYYOUR OPERATING SYSTEM WANTS YOUR ID ░░ INTELTHE FBI IS BUYING YOUR LOCATION DATA INSTEAD OF GETTING A WARRANT ░░ BTCWASABI COINJOIN IS DEAD: WHAT HAPPENED AND WHERE TO GO NOW ░░ HOSTINGANONYMOUS VPS HOSTING: NO-KYC SERVER SETUP GUIDE ░░ INTELTHE WHITE HOUSE APP IS A SURVEILLANCE LIABILITY DISGUISED AS A NEWS FEED ░░ INTELEU PARLIAMENT KILLS CSAM SCANNING EXTENSION ░░ PRIVACYYOUR OPERATING SYSTEM WANTS YOUR ID ░░ INTELTHE FBI IS BUYING YOUR LOCATION DATA INSTEAD OF GETTING A WARRANT ░░ BTCWASABI COINJOIN IS DEAD: WHAT HAPPENED AND WHERE TO GO NOW ░░ HOSTINGANONYMOUS VPS HOSTING: NO-KYC SERVER SETUP GUIDE ░░

man cunicula-api

Cunicula API v1

Terminal-style reference docs for the public registry API. Inspect endpoints, copy curl examples, test live requests, and import the contract from the OpenAPI spec.

base urlhttps://cunicula.com
formatJSON / OpenAPI 3.1
authnone
corspublic GET access
GET/api/v1/servicesGET/api/v1/services/{slug}GET/api/v1/categoriesGET/api/v1/search?q={query}GET/api/v1/articlesGET/api/v1/articles/{slug}GET/api/score/{slug}GET/api/go?s={slug}GET/api/v1/statsGET/api/v1/openapi.json

GET/api/v1/services

List all services with filter, field selection, and pagination controls.

Returns the main registry collection. Use query parameters to narrow results by category, KYC posture, geography, free-text search, or response shape.

example request

curl -s "https://cunicula.com/api/v1/services?category=vpn&q=monero&limit=2&sort=trust_score&order=desc"

parameters

nameintyperequireddescription
categoryquerystringnoFilter by category slug or label. e.g. vpn
kycquerystringnoFilter by KYC level or posture. e.g. none
countryquerystringnoFilter by supported country code. e.g. US
jurisdictionquerystringnoFilter by service jurisdiction code. e.g. PA
qquerystringnoAlias for search. If both q and search are sent, q wins. e.g. monero
searchquerystringnoLegacy free-text match parameter. Use q for new clients. e.g. monero
limitqueryintegernoMaximum number of rows to return. e.g. 25
offsetqueryintegernoPagination offset for large result sets. e.g. 0
sortquerystringnoField to sort by. e.g. trust_score
orderquerystringnoSort direction. e.g. desc
fieldsquerystringnoComma-separated field projection. e.g. slug,name,kyc,jurisdiction

example response

{
  "data": [
    {
      "slug": "mullvad",
      "name": "Mullvad",
      "domain": "mullvad.net",
      "url": "https://mullvad.net",
      "trust_score": 93,
      "trust_grade": "A",
      "kyc": "none",
      "jurisdiction": "SE",
      "primary_category": "VPN",
      "primary_bucket": "privacy",
      "categories": [
        "VPN",
        "Privacy Tools"
      ],
      "countries": [
        "GLOBAL"
      ],
      "networks": [
        "Bitcoin",
        "Monero"
      ],
      "status": "active"
    },
    {
      "slug": "ivpn",
      "name": "IVPN",
      "domain": "ivpn.net",
      "url": "https://www.ivpn.net",
      "trust_score": 90,
      "trust_grade": "A",
      "kyc": "none",
      "jurisdiction": "GI",
      "primary_category": "VPN",
      "primary_bucket": "privacy",
      "categories": [
        "VPN",
        "Privacy Tools"
      ],
      "countries": [
        "GLOBAL"
      ],
      "networks": [
        "Bitcoin",
        "Monero",
        "Lightning"
      ],
      "status": "active"
    }
  ],
  "meta": {
    "total": 2,
    "limit": 2,
    "offset": 0,
    "sort": "trust_score",
    "order": "desc",
    "api_version": "v1",
    "powered_by": "cunicula.com"
  }
}

GET/api/v1/services/{slug}

Fetch deep data for one service by slug.

Returns the expanded registry record for a single provider, including trust signals, notes, features, and operational metadata where available.

example request

curl -s "https://cunicula.com/api/v1/services/bitrefill"

parameters

nameintyperequireddescription
slugpathstringyesUnique service slug. e.g. bitrefill

example response

{
  "data": {
    "service": "Bitrefill",
    "slug": "bitrefill",
    "domain": "bitrefill.com",
    "url": "https://www.bitrefill.com",
    "trust_score": 85,
    "trust_grade": "A",
    "kyc": "light",
    "kyc_note": "May require phone, email, or additional verification depending on product and jurisdiction.",
    "jurisdiction": "SE",
    "jurisdiction_risk": "medium",
    "trust_level": "verified",
    "warrant_canary": false,
    "primary_category": "Gift Cards",
    "primary_bucket": "spending",
    "categories": [
      "Gift Cards",
      "Mobile Top-Ups",
      "Travel"
    ],
    "networks": [
      "Bitcoin",
      "Lightning",
      "Ethereum",
      "Litecoin"
    ],
    "fee": "varies by product",
    "countries": [
      "GLOBAL"
    ],
    "features": [
      "Gift cards",
      "Mobile top-ups",
      "eSIM",
      "Lightning support"
    ],
    "status": "active",
    "last_checked": "2026-03-28T18:42:00Z",
    "privacy_warning": "Account activity and delivery details may be linked to your contact information.",
    "founderIntel": {
      "score": 78,
      "notes": [
        "Public leadership team",
        "Long operating history"
      ]
    },
    "vcIntel": {
      "backed": true,
      "notes": [
        "Outside investment reported in public sources"
      ]
    },
    "followTheMoney": {
      "score": 71,
      "notes": [
        "Commercial payment processor exposure",
        "Crypto treasury support"
      ]
    },
    "profile_url": "https://cunicula.com/bitrefill"
  },
  "meta": {
    "total": 1,
    "api_version": "v1",
    "powered_by": "cunicula.com"
  }
}

GET/api/v1/categories

Return category taxonomy with service counts.

Useful for building faceted navigation, category landing pages, and summary dashboards without downloading the full registry.

example request

curl -s "https://cunicula.com/api/v1/categories"

parameters

No parameters.

example response

{
  "data": [
    {
      "key": "vpn",
      "slug": "vpn",
      "count": 18,
      "label": "VPN"
    },
    {
      "key": "exchange",
      "slug": "exchange",
      "count": 32,
      "label": "Exchange"
    },
    {
      "key": "gift_cards",
      "slug": "gift-cards",
      "count": 11,
      "label": "Gift Cards"
    }
  ],
  "meta": {
    "total": 3,
    "api_version": "v1",
    "powered_by": "cunicula.com"
  }
}

GET/api/v1/articles

List articles with tag, search, sorting, and pagination controls.

Returns article metadata for guides, reviews, and supporting editorial content. Useful for feeds, tag pages, and searchable resource indexes.

example request

curl -s "https://cunicula.com/api/v1/articles?tag=vpn&search=monero&limit=2&offset=0&sort=date&order=desc"

parameters

nameintyperequireddescription
tagquerystringnoFilter articles by tag. e.g. vpn
searchquerystringnoFree-text search against article metadata. e.g. monero
limitqueryintegernoMaximum number of rows to return. e.g. 10
offsetqueryintegernoPagination offset for large result sets. e.g. 0
sortquerystringnoField to sort by. e.g. date
orderquerystringnoSort direction. e.g. desc

example response

{
  "data": [
    {
      "slug": "best-no-kyc-vpns",
      "title": "Best No-KYC VPNs",
      "tags": [
        "vpn",
        "privacy",
        "guides"
      ],
      "desc": "A practical guide to VPN providers that minimize account friction and identity collection.",
      "time": "8 min read",
      "date": "2026-03-11",
      "lastReviewed": "2026-03-24",
      "url": "https://cunicula.com/articles/best-no-kyc-vpns"
    },
    {
      "slug": "monero-services-roundup",
      "title": "Monero Services Roundup",
      "tags": [
        "monero",
        "exchange",
        "guides"
      ],
      "desc": "A curated look at wallets, swaps, and merchants that support Monero in practice.",
      "time": "11 min read",
      "date": "2026-02-28",
      "lastReviewed": "2026-03-18",
      "url": "https://cunicula.com/articles/monero-services-roundup"
    }
  ],
  "meta": {
    "total": 104,
    "limit": 2,
    "offset": 0,
    "sort": "date",
    "order": "desc",
    "api_version": "v1",
    "powered_by": "cunicula.com"
  }
}

GET/api/v1/articles/{slug}

Fetch one article by slug.

Returns the full article metadata object for a single editorial page, including related articles for recommendation widgets and internal linking.

example request

curl -s "https://cunicula.com/api/v1/articles/best-no-kyc-vpns"

parameters

nameintyperequireddescription
slugpathstringyesUnique article slug. e.g. best-no-kyc-vpns

example response

{
  "data": {
    "slug": "best-no-kyc-vpns",
    "title": "Best No-KYC VPNs",
    "tags": [
      "vpn",
      "privacy",
      "guides"
    ],
    "desc": "A practical guide to VPN providers that minimize account friction and identity collection.",
    "time": "8 min read",
    "date": "2026-03-11",
    "lastReviewed": "2026-03-24",
    "url": "https://cunicula.com/articles/best-no-kyc-vpns",
    "related_articles": [
      {
        "slug": "best-private-browsers",
        "title": "Best Private Browsers",
        "tags": [
          "privacy",
          "browsers"
        ],
        "url": "https://cunicula.com/articles/best-private-browsers"
      },
      {
        "slug": "monero-services-roundup",
        "title": "Monero Services Roundup",
        "tags": [
          "monero",
          "guides"
        ],
        "url": "https://cunicula.com/articles/monero-services-roundup"
      }
    ]
  },
  "meta": {
    "total": 1,
    "api_version": "v1",
    "powered_by": "cunicula.com"
  }
}

GET/api/score/{slug}

Get the public trust score payload for a service.

Returns the scorecard-oriented view for a single service, including trust grade, KYC posture, jurisdiction risk, features, and profile metadata.

example request

curl -s "https://cunicula.com/api/score/bitrefill"

parameters

nameintyperequireddescription
slugpathstringyesUnique service slug. e.g. bitrefill

example response

{
  "service": "Bitrefill",
  "slug": "bitrefill",
  "domain": "bitrefill.com",
  "url": "https://www.bitrefill.com",
  "trust_score": 85,
  "trust_grade": "A",
  "kyc": "light",
  "kyc_note": "Verification can vary by product and geography.",
  "jurisdiction": "SE",
  "jurisdiction_risk": "medium",
  "trust_level": "verified",
  "warrant_canary": false,
  "categories": [
    "Gift Cards",
    "Mobile Top-Ups",
    "Travel"
  ],
  "networks": [
    "Bitcoin",
    "Lightning",
    "Ethereum",
    "Litecoin"
  ],
  "fee": "varies by product",
  "countries": [
    "GLOBAL"
  ],
  "features": [
    "Gift cards",
    "Mobile top-ups",
    "eSIM",
    "Lightning support"
  ],
  "status": "active",
  "last_checked": "2026-03-28T18:42:00Z",
  "privacy_warning": "Account activity and delivery details may be linked to your contact information.",
  "profile_url": "https://cunicula.com/bitrefill",
  "api_version": "v1",
  "powered_by": "cunicula.com"
}

GET/api/go?s={slug}

Resolve an affiliate redirect for a service slug.

Returns an HTTP 302 redirect to the destination service URL with outbound tracking parameters. This endpoint does not return a JSON body.

example request

curl -I "https://cunicula.com/api/go?s=bitrefill"

parameters

nameintyperequireddescription
squerystringyesService slug to redirect to. e.g. bitrefill

example response

HTTP/2 302
location: https://www.bitrefill.com/?utm_source=cunicula.com&utm_medium=affiliate&utm_campaign=directory

[redirect response, no JSON body]

GET/api/v1/stats

Get registry-level statistics and aggregate counters.

Returns a compact metrics payload suitable for dashboards, status pages, and external monitoring.

example request

curl -s "https://cunicula.com/api/v1/stats"

parameters

No parameters.

example response

{
  "data": {
    "total_services": 214,
    "by_kyc_level": {
      "light": 49,
      "none": 87
    },
    "by_category": {
      "exchange": 32,
      "vpn": 18,
      "gift_cards": 11,
      "marketplace": 14
    },
    "by_jurisdiction": {
      "PA": 12,
      "SE": 9,
      "CH": 7,
      "unknown": 46
    },
    "by_trust_grade": {
      "A": 41,
      "B": 63,
      "C": 57,
      "D": 28,
      "F": 25
    },
    "last_updated": "2026-03-28T21:00:00Z"
  },
  "meta": {
    "total": 214,
    "api_version": "v1",
    "powered_by": "cunicula.com"
  }
}

GET/api/v1/openapi.json

Download the OpenAPI 3.1 machine-readable specification.

Use this for SDK generation, contract validation, schema inspection, or importing the API into tools like Postman, Bruno, or Stoplight.

example request

curl -s "https://cunicula.com/api/v1/openapi.json"

parameters

No parameters.

example response

{
  "openapi": "3.1.0",
  "info": {
    "title": "Cunicula API",
    "version": "1.0.0"
  },
  "paths": {
    "/api/v1/services": {
      "get": {
        "summary": "List services"
      }
    },
    "/api/v1/services/{slug}": {
      "get": {
        "summary": "Get one service"
      }
    },
    "/api/v1/articles": {
      "get": {
        "summary": "List articles"
      }
    },
    "/api/v1/articles/{slug}": {
      "get": {
        "summary": "Get one article"
      }
    },
    "/api/score/{slug}": {
      "get": {
        "summary": "Get score payload"
      }
    },
    "/api/go": {
      "get": {
        "summary": "Affiliate redirect"
      }
    }
  }
}