For the last couple days, I’ve been toying with idea of creating web app that will allow you to search for available EV inventory directly from horse’s mouth: rather than scraping info from individual dealer websites, (which previously proved a bit tricky and not very reliable), make calls to respective brand’s inventory APIs that their own inventory searches use. Sort of bringing all EV brands on one easy to search page.
Chevrolet (which should also potentially work in the future with GMC and Cadillac EVs)
Porsche (added 7/27/2021)
Jaguar (added 7/28/2021)
Ford (added 7/29/2021)
Nissan (added 7/30/2021)
Hyundai (added 8/15/2021)
Polestar 2 (added 8/24/2021)
BMW (added 9/10/2021)
VW ID.4 (2/2/2022)
Time permitting, I’m gonna go thru all US EV brands and see if they can be added to the app.
Since I’m hitting brand’s API directly, this doesn’t have to be limited to EVs, at least for some of brands. Potentially all models could be searched, I just wanted to limit scope of initial development.
In the next couple days I will deploy it to Azure so anyone can start using it for the brands that already implemented. Meanwhile, let’s discuss what additional features/functionality would be most valuable for the LH community.
Just realized audi API doesn’t even seem to have capability to filter by years. So either I missed something or there is no reason to even expose “years” filter for Audi searches. I’ve disabled it for now, so it won’t confuse users, but I’m going to look closer into it.
3 different APIs with 3 different types of invoking, wrapping it into one generic search with filtering - stuff falls thru cracks.
I just took another look and I can’t seem to figure out if it has. It probably has it, just need to guess the proper parameter name or something along those lines. Regardless, since API payload returns data for all years, I can easily do year filtering in my layer. I’ll push an update sometime later, which will have audi year filter re-enabled and working.
Good question. I’ll look.
That’s a valid question. For now, yes, it is expected, in terms of possibility of filtering behavior being different across multiple brands. Ultimately though, you’re right, and I’m planning to standardize it across all brands.
Usually my approach would be to search for as large inventory result set using as broad initial filtering as possible, and then to filter it down with result grid’s built-in free-text filtering box (that 2nd little “seach” textbox in top right corner of the grid), which allows free-text search by all fields in result set… but with Chevy EVs, without initial trim filter, their API returns such large dataset. So those premium trims were lost in that huge amount of results, it seems.
That led me to add initial trims filter to chevy tab. I just hope I translated their codes to trim names correctly. But for Premium trim it seems to work fine. Try it please and let me know.
Also, found and fixed a glaring bug in Chevy search, which would return NY results for Cali zip due to incorrect radius value. Should also work fine now.
For now there is hard limit of 80 results max, regardless of filter value, due to the way Porsche API is invoked. But you can search by specific trims. This one was not as straight-forward as previous ones and I can’t seem to find vin and dealer links in API response, so results are hard to match with dealer’s pages. I put what looks to be dealer-specific stock # into VIN column for now.