Skip to content

Instantly share code, notes, and snippets.

@nikhilweee
Last active October 7, 2025 02:20
Show Gist options
  • Save nikhilweee/9efd9731880104dd00ecf2ed8effacc5 to your computer and use it in GitHub Desktop.
Save nikhilweee/9efd9731880104dd00ecf2ed8effacc5 to your computer and use it in GitHub Desktop.
Get vehicle info from an Indian registration number
import sys
import requests
from bs4 import BeautifulSoup, SoupStrainer
home_url = 'https://parivahan.gov.in/rcdlstatus/'
post_url = 'https://parivahan.gov.in/rcdlstatus/vahan/rcDlHome.xhtml'
# Everything before the last four digits: MH02CL
first = sys.argv[1]
# The last four digits: 0555
second = sys.argv[2]
r = requests.get(url=home_url)
cookies = r.cookies
soup = BeautifulSoup(r.text, 'html.parser')
viewstate = soup.select('input[name="javax.faces.ViewState"]')[0]['value']
data = {
'javax.faces.partial.ajax':'true',
'javax.faces.source': 'form_rcdl:j_idt32',
'javax.faces.partial.execute':'@all',
'javax.faces.partial.render': 'form_rcdl:pnl_show form_rcdl:pg_show form_rcdl:rcdl_pnl',
'form_rcdl:j_idt32':'form_rcdl:j_idt32',
'form_rcdl':'form_rcdl',
'form_rcdl:tf_reg_no1': first,
'form_rcdl:tf_reg_no2': second,
'javax.faces.ViewState': viewstate,
}
r = requests.post(url=post_url, data=data, cookies=cookies)
soup = BeautifulSoup(r.text, 'html.parser')
table = SoupStrainer('tr')
soup = BeautifulSoup(soup.get_text(), 'html.parser', parse_only=table)
print(soup.get_text())

Programmatically extract owner info from Indian registration numbers

Usage

$ python registration_info.py MH02CL 0555
Registration No:
MH02CL0555
Registration Date:
20-Jan-2012

Chasi No:
WBAKB42080CY83879
Engine No:
16257849

Owner Name: 
SHAH RUKH KHAN

Vehicle Class: 
LMVIMP
Fuel Type:
PETROL

Maker Model:
BMW INDIA PVT. LTD., BMW 740 L I PETROL

Requirements

requests
beautifulsoup4
@ashish-budhraja
Copy link

No government portal flood with ads on their website 😅

The Parivahan Sewa was launched by the Ministry of Road Transport and Highways (MoRTH), Government of India. It was developed as part of the e-Governance initiative to provide online services related to road transport across India. The platform was designed to digitize various transport-related services, improve transparency, and reduce the need for citizens to physically visit Regional Transport Offices (RTOs).Online transport servicesVehicle fitness certificate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment