Skip to main content

Vehicle Checks (MOT, Road Tax, Vignette)

Overview

Members can check the legal status of their vehicles via Bulgarian government and semi-official APIs. Three checks are available: АПИ road tax, ГО civil liability insurance, and electronic vignette. Results are cached for 30 minutes per vehicle.


Supported Checks

CheckBulgarian NameSource APIStatus
Road TaxАПИ данък МПСapi.bg✅ Available
Civil LiabilityГО застраховкаgar.bg✅ Available
Electronic VignetteВиньеткаАППИ (vinetki.bg)✅ Available
Traffic Obligations (МВР)Задължения КАТe-uslugi.mvr.bg❌ No public API — link provided

Workflow


Step-by-Step: Run a Vehicle Check

  1. In your garage, open a car's detail view.
  2. Click "Vehicle Checks".
  3. Results for all three checks load simultaneously (parallel requests).
  4. Results show: status (VALID / EXPIRED / UNKNOWN), expiry date if applicable.
  5. For МВР (traffic obligations), a direct link to the government website is provided.
Cache

Results are cached for 30 minutes per car. If you renew your vignette or pay road tax, wait 30 minutes and then refresh for updated results.


Application Properties

PropertyDefaultDescriptionWhen to Change
rcb.vehicle-checks.api-bg.urlhttps://api.bg/...АПИ road tax endpointIf the API URL changes
rcb.vehicle-checks.go.urlhttps://gar.bg/...ГО insurance endpointIf the API URL changes
rcb.vehicle-checks.vignette.urlhttps://vinetki.bg/...Vignette check endpointIf the API URL changes
rcb.mvr.urlhttps://e-uslugi.mvr.bg/...МВР link (deep link, not API)If MVR URL structure changes

Security Notes

  • Vehicle checks require active membership (membership gate).
  • External API calls use Resilience4j circuit breakers — if an external service is down, a graceful fallback is returned (UNKNOWN status), not a 500 error.
  • Results are cached to reduce load on external APIs and avoid rate limiting.
  • Only the car owner can run checks on their car.

QA Checklist

  • Run vehicle check as active member → results displayed for all 3 checks
  • Run check as non-member → access denied
  • External API unavailable (simulate 500) → UNKNOWN status shown, no error thrown
  • Run check twice within 30 min → second call returns cached results (no external API call)
  • МВР check → link to government website shown