Skip to content

Instantly share code, notes, and snippets.

@nikhilweee
Last active June 27, 2024 02:12
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
@trishantpahwa
Copy link

trishantpahwa commented Sep 19, 2020

I hope what you actually require can be found here with a better implementation.

Also, here is a video tutorial on how to use it.

P.S: This one doesn't require decoding captchas 🔫 👮, and forming requests is also quite easy.
Hope it helps! 😃


Project deprecated now. :(

@Jeet0027
Copy link

Jeet0027 commented Sep 20, 2020

I hope what you actually require can be found here with a better implementation.

Also, here is a video tutorial on how to use it.

P.S: This one doesn't require decoding captchas 🔫 👮, and forming requests is also quite easy.
Hope it helps! 😃

Great work!

Thanks a lot,
Can you confirm if this api is going to persist for life long.
I doubt what if you remove it tomorrow

@trishantpahwa
Copy link

trishantpahwa commented Sep 21, 2020

Kudos @Jeet0027,

I appreciate your feedback. 😄 🦁

Not sure whether it is going to exist life long.

You see it has been made in correspondence to the results it receives from an official website of Indian Government, that regulates details about Indian vehicles. If one is updated the other has to be updated too.

However, I think it would at least be in a working condition for at least 8+ years.

Else, you would be notified on the discord channel, and the documentation itself if there is any update regarding the same, or in case it gets deprecated.

Thanks


Project deprecated now. :(

@Hariharan-Ramanathan
Copy link

not showing any error but at the same time no output is getting printed.....Please help me with this
Screenshot from 2020-12-12 18-43-02

@faizalsha
Copy link

not showing any error but at the same time no output is getting printed.....Please help me with this
Screenshot from 2020-12-12 18-43-02

same here nothing getting printed. And still, I don't understand how this solves the captcha.

@vipinrthakur
Copy link

Can someone please share the updated code?

seems 'https://parivahan.gov.in/rcdlstatus/?pur_cd=102' and 'https://parivahan.gov.in/rcdlstatus/vahan/rcDlHome.xhtml' are not working anymore.

Thanks

@anmolrajpal
Copy link

This is bad. I wish there's an alternative. My project idea got burnt now.

@AndroidSoftClub
Copy link

Yes is Work

@vish1234-art
Copy link

it shows index out of value

@Shashwat-05
Copy link

it shows index out of value

check whether the query u gave is right !1
and yes , if anyone found better api source
, mention here

@ashishbudhraja
Copy link

You can Check once for www.apiclub.in

@krishna2917
Copy link

www.apiclub.in
High price per request

@chiru952
Copy link

i want to api vahan info data base

@dhanish-jose
Copy link

You can Check once for www.apiclub.in

ApiClub is asking for 10K just for account activation which is non refundable

@dhanish-jose
Copy link

Can you suggest lower price alternative per request?

Im also looking for an alternative

@prasanna1780
Copy link

Please write to [email protected] : we have rc api at a competitive price

@ak4zh
Copy link

ak4zh commented Feb 1, 2023

I have built a vehicle api for my personal use case using multiple sources.
You can test at https://t.me/VehicleDetailsBot

(sharing as a telegram bot and not an api to keep it free and prevent from abuse)
Some values are obfuscated but can be made available.

@prathams96
Copy link

has anyone figured out a new source for this?

@ZOROsrk
Copy link

ZOROsrk commented Feb 25, 2024

Came across this RC API on Rapid Api, it contains more than 200 fields in the Response and is not expensive as well. After a lot of RnD this seems to be the only RC API that gives real time data and covers all most all the data at a reasonable price.

https://rapidapi.com/aitanlabs0/api/rto-vehicle-information-verification-india

@JaiminPatel345
Copy link

I have built a vehicle api for my personal use case using multiple sources. You can test at https://t.me/VehicleDetailsBot

(sharing as a telegram bot and not an api to keep it free and prevent from abuse) Some values are obfuscated but can be made available.

how this bot works ?

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