The Illinois Liquor Control Commission (ILCC) publishes its license lookup through a Salesforce Experience Cloud portal at ilccportal.illinois.gov. The portal sits behind Akamai CDN with aggressive anti-bot protections that reject essentially every proxy type — residential, datacenter, direct, and even ScraperAPI’s own proxy mode. The only approach that works is ScraperAPI’s render API, which loads the portal in a managed browser farm with built-in anti-bot bypass. NexusFeed uses it and parses the Shadow DOM Lightning DataTable with regex.
State overview
| Field | Value |
|---|
| State code | IL |
| Agency | Illinois Liquor Control Commission |
| Source URL | https://ilccportal.illinois.gov/ |
| Authentication | None (public portal) |
| CAPTCHA | None — blocked by Akamai CDN instead |
| Search supported | Yes (client-side filtering, see caveat below) |
| Lookup supported | Yes |
| Extraction method | scraper_api |
| Cache TTL | 24 hours |
The Akamai caveat
Illinois was the last of the five states to ship, and it was the hardest. The NexusFeed team tested every proxy type during development — Webshare residential, Railway direct egress, ScraperAPI proxy mode, even a local residential IP — and all of them were blocked by Akamai’s bot detection before the Salesforce portal would load. The only working path is ScraperAPI’s render=true mode (5 credits per call on the free tier), which spins up a managed browser farm with anti-bot bypass. That’s what NexusFeed uses for every Illinois request.
The client-side search caveat
The ILCC portal is a Salesforce FlexCard application. FlexCard’s data component does not accept URL query parameters for server-side filtering. It loads the default 20 records on every page load, then the user is expected to type into a client-side search box to narrow down. NexusFeed replicates that UX server-side: it loads the default 20 records via the render API and then applies the caller’s dba_name / owner_name / address filters client-side against that result set.
This means Illinois search is best used for exploratory lookups rather than comprehensive sweeps. If the license you’re looking for is not among the default 20 records, the search will miss it. For precise lookups, prefer the direct license number endpoint.
Search example
curl "https://api.nexusfeed.dev/v1/abc/search?state=IL&dba_name=BINNY%27S" \
-H "X-API-Key: YOUR_KEY"
Lookup example
curl "https://api.nexusfeed.dev/v1/abc/license/1A-1234567?state=IL" \
-H "X-API-Key: YOUR_KEY"
Example response
{
"state": "IL",
"license_number": "1A-1234567",
"record": {
"license_number": "1A-1234567",
"license_type_code": "1A",
"dba_name": "BINNY'S BEVERAGE DEPOT",
"owner_name": "BINNY'S BEVERAGE DEPOT INC",
"status": "ACTIVE",
"expiration_date": "2026-12-31",
"address": "1000 N CLARK ST, CHICAGO, IL 60610",
"county": "COOK"
},
"_verifiability": {
"source_timestamp": "2026-04-10T14:22:11Z",
"extraction_confidence": 1.0,
"raw_data_evidence_url": "https://ilccportal.illinois.gov/s/license-search",
"extraction_method": "scraper_api",
"data_freshness_ttl_seconds": 86400
}
}
Illinois license types (most common)
| Code | Type |
|---|
1A | Retailer On Premises Consumption |
1B | Retailer Off Premises Consumption |
2 | Wholesaler |
3 | Importing Distributor |
4 | Manufacturer |
5 | Non-Resident Dealer |
9 | Special Event Retailer |
Rate limit note
Each Illinois request burns approximately 5 ScraperAPI credits. The free tier is 1,000 credits per month, which caps the practical ceiling at ~200 Illinois lookups per month on the default deployment. Higher volume requires a paid ScraperAPI plan — contact support if you need to scale Illinois traffic materially.
Use cases
- Verifying a Chicago, Rockford, or downstate bar/restaurant holds an active ILCC license.
- Looking up a specific license number during compliance review.
- Cross-referencing holders against a short watchlist (remember the 20-record search ceiling).
- Pairing with California ABC and Texas TABC for national retailer monitoring.