Skip to main content
POST
/
v1
/
verify-carrier
Verify Carrier
curl --request POST \
  --url https://api.example.com/v1/verify-carrier \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "registration_number": "<string>",
  "business_name": "<string>",
  "postcode": "<string>"
}
'
{
  "status": "<string>",
  "verification": {},
  "registrations": [
    {}
  ],
  "compliance": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.wastecheck.co.uk/llms.txt

Use this file to discover all available pages before exploring further.

Verify Carrier

Verifies a waste carrier’s registration against the Environment Agency public register. Also available as a GET request with query parameters. Supports three search modes: direct lookup by registration number (fastest), search by business name, or search by postcode. If multiple fields are provided, registration_number takes priority.
Requires authentication via Authorization header. See Authentication.

Request

Method: POST (or GET with query parameters) Path: /v1/verify-carrier

Headers

Authorization
string
required
Bearer token with your API key, e.g. Bearer wc_live_your_key
Content-Type
string
required
Must be application/json (POST only)

Body Parameters

At least one field is required.
registration_number
string
CBDU or CBDL registration number (e.g. CBDU217016). Direct lookup — fastest.
business_name
string
Business name to search for
postcode
string
Postcode to search for registered carriers

Response

Success Response (200)

{
  "status": "valid",
  "verification": {
    "checked_at": "2026-03-25T14:30:00Z",
    "source": "environment_agency",
    "cached": false
  },
  "registrations": [
    {
      "registration_number": "CBDU217016",
      "business_name": "ACME WASTE SERVICES LTD",
      "company_number": "12345678",
      "tier": "upper",
      "status": "valid",
      "expiry_date": "2027-01-15",
      "days_until_expiry": 298,
      "expiry_warning": false
    }
  ],
  "compliance": {
    "is_compliant": true,
    "flags": [],
    "recommendation": "Registration is valid and current."
  }
}
status
string
Overall status: valid, expiring_soon, expired, not_found, or lower_tier
verification
object
Metadata about the check including timestamp, source, and cache status
registrations
array
Array of matching carrier registrations
compliance
object
Compliance assessment with flags and recommendation text

Status Values

StatusMeaning
validActive registration, not expired
expiring_soonValid but within 90 days of expiry (upper tier only)
expiredPast expiry date
not_foundNo matching registration
lower_tierValid but lower tier registration only

Compliance Flags

FlagMeaning
EXPIRING_WITHIN_90_DAYSUpper tier registration nearing expiry
LOWER_TIER_ONLYMay not meet requirements for commercial waste
MULTIPLE_REGISTRATIONS_FOUNDName or postcode search returned multiple matches

Caching

Direct lookups by registration number are cached for 24 hours. Name and postcode searches are cached for 1 hour. The verification.cached field indicates whether the result was served from cache.

Error Responses

CodeHTTPWhen
CARRIER_NOT_FOUND404No registration matches the input
INVALID_REGISTRATION_NUMBER400Registration number doesn’t match CBDU/CBDL format
EA_REGISTER_UNAVAILABLE503Environment Agency register is down or unreachable

Example

curl -X POST https://api.wastecheck.co.uk/v1/verify-carrier \
  -H "Authorization: Bearer wc_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"registration_number": "CBDU217016"}'