Liquor License Feed

Coverage

Every jurisdiction we've looked at, its status, and how fresh the data is. This page is meant to be checked, not trusted blindly -- if a state looks stale or wrong, the row count and last-run columns will show it.

Read before you rely on this:

Last job run: 2026-09-12T06:01:35.844131+00:00 -- failed: RuntimeError: adapter(s) failed: {"nj": "blocked: NJ reports page returned HTTP 403"} (0 rows seen, 0 new).

StateStatusSignalMethodRowsLast runNotes
California built pending application html_form 1039 2026-09-12T05:48:58.134265+00:00 ABC daily New Applications report; POST admin-post.php action=abclqs_daily_report
Texas built pending application socrata 857 2026-09-12T05:48:58.134265+00:00 data.texas.gov mxm5-tdpj daily; 694/30d; exclude NT/E/TR/LP
Florida built newly licensed csv_url 314 2026-09-12T05:48:58.134265+00:00 bd400lic.csv 42MB no header; status 20 + profession 4006 + orig date window; ~400/mo
New York built pending application socrata 2927 2026-09-12T05:48:58.134265+00:00 data.ny.gov f8i8-k2gm; 440/30d
Pennsylvania built pending application csv_url 1656 2026-09-12T05:48:58.134265+00:00 LicenseExport.aspx; Status=Pending 774 + newly licensed 962/30d
Illinois source_confirmed newly licensed playwright_aura 0 never ilccportal Aura ApexAction; ISSUED TYPE=New; pending is municipal
Ohio source_confirmed pending application powerbi_public 0 never Power BI Gov publish-to-web 'All permits' (issued + pending, nightly) + 'Transfer applications'; querydata engine; see GATE
Georgia municipal pending application municipal_crawl 0 never local issuance; municipal lane
North Carolina built pending application form_iterate 2072 2026-09-12T05:48:58.134265+00:00 abc2.nc.gov/Search/Permit county+status=New
Michigan built newly licensed form_iterate 0 never AIMS county+status(Active/Conditional)+group search with CSV export; diff on Business Id; Conditional = pending-equivalent; see GATE
New Jersey built newly licensed xlsx_url 0 never njoag.gov daily Excel; municipal issuance recorded by state
Virginia source_confirmed unknown powerbi_public 0 never abc.virginia.gov Licensee Search Tool = Power BI publish-to-web (app.powerbi.com/view?r=eyJrIjoiOTk5OGIzNTItZDc4Zi00NTcwLTgzODktYzFkNDZhYTM1ZWRiIiwidCI6ImEzYTBjMDEyLTdhNTQtNDlmNC05MDc5LTdmZjU0ZjZkMGI1ZiIsImMiOjF9); Cloudflare challenge on the site, not on the report; status/pending fields being checked
Washington built pending application html_list 4267 2026-09-12T05:48:58.134265+00:00 EntireStateWeb.asp rolling 30 days; 2,256/30d
Arizona source_confirmed pending application html_form_chrome 0 never POSSE guest search by type + effective-date range; INP Interim Permit = pending-equivalent; Phoenix posts received applications; see GATE
Massachusetts municipal pending application municipal_crawl 0 never ~351 town boards; municipal lane
Tennessee built newly licensed form_iterate 117 2026-09-12T05:48:58.134265+00:00 rlpsmobile.abc.tn.gov county+status
Indiana built pending application html_form 0 never mylicense.in.gov/everification: Profession=Alcoholic Beverage, License Status=Pending Application (also Active, Transfer Pending, Conditional), County, DBA, City; ASP.NET form; volume to measure
Maryland municipal pending application municipal_crawl 0 never No state list: licenses are issued by 24 county Boards of License Commissioners (Baltimore City, Montgomery, PG, Anne Arundel, Baltimore County post hearing dockets). Municipal lane, seeded with the 24 boards.
Missouri built newly licensed socrata 434 2026-09-12T05:48:58.134265+00:00 data.mo.gov dymb-xy5c 'New Liquor Licenses', weekly, rolling 3-week window.
Wisconsin built newly licensed json_url 17725 2026-09-12T05:48:58.134265+00:00 ww2.revenue.wi.gov/WebServicesPublicWeb/rest/liquor/all?search=&city=&rn_low=0&sort=0&AB=0&AC=0&AL=0&BB=0&BL=0&CW=0 → JSON {result[250], subject, count}; fields businessName, entityName, agentName, address, city, municipality, munitype, county, zip, class flags AB/AC/AL/BB/BL/CW, lastUpdated, expireDate, rn. Page with rn_low. Municipal clerks report at least annually (July 15), some continuously → new = first-seen rows with a fresh lastUpdated; slow but zero-cost. Hetzner 200.
Colorado built newly licensed socrata 1130 2026-09-12T05:48:58.134265+00:00 data.colorado.gov htyp-tqzh 'Recently Approved Liquor Licenses', rolling 3 months. Columns issue_date/license_number look cross-populated in sample — verify at adapter time.
Minnesota queued newly licensed playwright_daf 0 never app.dps.mn.gov/AGEDIS5/DataAccess/pages/license-search (public, no login; 200 from Hetzner) is a Uniface/DAF touch app: fields Iden, Licensee Name, DBA, License Type Code, City, Change Date, with PRINT/DOWNLOAD; state posts go to _invoke/GetPage. Change Date search = daily changed licenses (state-issued classes). Field focus did not take from the extension's synthetic clicks; lane C drives it with real Playwright clicks. Retail on/off-sale is municipal (Minneapolis open data off-sale dataset; St. Paul hearings) → municipal seeds.
South Carolina source_confirmed pending application html_form_chrome 0 never scpublicnotices.com (SC Press Association legal-notice aggregator, ASP.NET postback form on Search.aspx). Statutory ABL notice text: '<applicant> intends to apply to the South Carolina Department of Revenue for a license and/or permit that will allow the sale and on/off premises consumption of beer and wine|liquor at <address>'. Popular search Liquor Licenses over 60 days = 100 result pages (mixed with other notices — use Exact Phrase 'intends to apply to the South Carolina Department of Revenue' + date range). Fields parsed by regex: applicant, dba, on/off premises, beverage types, address, newspaper, publish date. Hetzner 200.
Alabama municipal pending application municipal_crawl 0 never alabcboard.gov has no public license list or search (only renewal portal + PDFs); applications require local governing-body approval first — city council agendas are the public surface (Birmingham, Huntsville, Montgomery, Mobile, Tuscaloosa); state list via Public Records Request (alabcboard.gov/public-records-request)
Louisiana source_confirmed newly licensed playwright_posse 0 never POSSE React SPA (laatcabc.atc.la.gov/laatcprod/webui/#/search/1880013). Guest session; Issued Licenses search has Effective Date preset 'Last 30 Days' + Status (Active/Temporary/...). 66 Active in last 30 days. API is stateful (opaque appServerState blobs) so drive with Playwright, not requests. 100-location cap per search: slice by parish if a month ever exceeds it. Reachable from Hetzner (200).
Kentucky source_confirmed newly licensed html_form_chrome 0 never abcportal.ky.gov/BelleExternal/ReportGenerator/Reports — All Active Licenses report with CountyList/CityList/LicenseTypeIDS + FromDate/ToDate; pending approvals are local (Local ABC Admin login) — issued-date window is the signal
Oregon built pending application socrata 236 2026-09-12T05:48:58.134265+00:00 data.oregon.gov qad4-bnxp OLCC Liquor Applications Received; verified live via API (rows current to 2026-09-04); application_status In Review/Payment Pending/Waiting on Information = pending; ~140-150/mo
Oklahoma source_confirmed pending application html_form_chrome 0 never aca-prod.accela.com/ABLE (Accela Citizen Access): General Search by License Type incl. '* Application' record types (Mixed Beverage, Retail Beer, Beer and Wine, Retail Wine/Spirits Store, Caterer, Brew Pub...) + Start/End Date + County; no login; ASP.NET VIEWSTATE replay
Connecticut built pending application socrata 122 2026-09-12T05:48:58.134265+00:00 data.ct.gov daily from eLicense: Restaurant Liquor Licenses (All Statuses) gm8q-ur5f, Cafe q22c-zdg8, Tavern rz33-sg3g — Status, CredentialType, IssueDate, EffectiveDate; eLicense rosters also expose APPLICATION FOR ON/OFF PREMISE LIQUOR credential types
Utah built hearing scheduled pdf_list 5 2026-09-12T05:48:58.134265+00:00 Utah Public Notice Website, public body 13 (Alcoholic Beverage Services Commission): utah.gov/pmn/sitemap/publicbody/13.html lists monthly Commission Meeting notices with Final Agenda PDFs (utah.gov/pmn/files/<id>.pdf). Agendas carry 'New Applicants:' blocks per license class (bar, restaurant, off-premise beer…). Text PDFs mostly (June 14K chars); the Aug 27 agenda was printed from Google Docs with no text layer → OCR fallback (tesseract) needed. Hetzner 200.
Iowa built newly licensed csv_url 3051 2026-09-12T05:48:58.134265+00:00 idh-be.iowa.gov/api/v1/datasets/1028/rows.csv (served as a zip containing iowa_liquor_stores_1028_rows.csv; 3,052 rows; columns store, name, store_status, address, city, state, zip_code, store_address POINT, report_date; monthly report_date=2026-09-01). Class E liquor stores only. New = store ids absent last month. The DOR 'retail alcohol licensing changes' page 403s curl — check under Chrome for the broader weekly change list (on-premise classes).
Nevada municipal pending application municipal_crawl 0 never Clark County, City of Las Vegas (ArcGIS open data), North Las Vegas, Washoe/Reno
Arkansas built newly licensed xlsx_url 6335 2026-09-12T05:48:58.134265+00:00 Monthly. dfa.arkansas.gov/wp-content/uploads/FullPermit[YYYYMM].xlsx = full permit dump (6,336 rows; Permit Number, Suffix, Company, Alias, Permit Type(s) w/ status, Phone, Owner, Address, City, Zip, County). New = permit numbers not in prior month. Companion PDF [Month]_[YYYY]_PermitChangeList.pdf carries status changes (Inactive/Replacement/Change of Manager/NEWA) with effective dates — pdf_list leg for change events. dfa.arkansas.gov 403s a bare curl from the Mac but 200s from Hetzner with a browser UA.
Mississippi source_confirmed newly licensed playwright_gentax 0 never tap.dor.ms.gov (GenTax TAP) → Tools → Search ABC Permits: public, no login. Tabs City / County / Permit Type; Permit Type has 49 values; results grid (DBA, Address, City, County, Permit Type, Permit Number, Wholesaler) with Export. Issued-only, no dates → new = Permit Number diff. Iterate the 49 permit types (or 82 counties) nightly with Playwright; GenTax session tokens make raw requests brittle.
Kansas blocked none none 0 never Not covered. Kansas law (K.S.A. 45-230) restricts selling lists of names and addresses drawn from public records for solicitation, and the KDOR lookup requires certifying non-commercial use. See docs/kansas.md for the reasoning, the paths if a customer needs Kansas, and the disclaimer wording.
New Mexico source_confirmed newly licensed playwright_aura 0 never nmrldlpi.my.site.com/abc/s/public-search (Salesforce Experience, same Aura ApexAction pattern as IL). Required: License Type (33 values). Status values: Active, Canceled, Expired, Expired - Non Renewable, Hold/Pending Citation, Revoked…, Suspended…, Temporary Approval, Voluntary Temporary Suspension. Results: License Number, DBA, Business Name, Lessee, Type, Status, Expiration, Address, County, Local Option District. No issue date → new = license-number diff; Temporary Approval = leading indicator. Iterate retail types: Dispenser, Restaurant A/B, Retailer, Rural Dispenser/Retailer, Club, Small Brewer, Craft Distiller, Winegrower (+Off-Site).
Nebraska built pending application xlsx_url 22 2026-09-12T05:48:58.134265+00:00 weekly activity report xlsx (New Appl / Issued L / Issued T sheets); scrape page for links; diff on Job Number
Idaho built pending application html_form 0 never apps.isp.idaho.gov/AbcReporting/license/search — Status = Issued|Pending, county, type, issue-date range
West Virginia queued unknown unknown 0 never ONLY statewide search (wvabca.com/licensesearch.aspx) redirects to SecureLogin; account request form is built for Liquor Store / Vendor-Rep / Licensee / Brewer with an 'Other; specify' option and manual approval — not a public tier. Paths: (1) request an account under Other (his action), (2) WV FOIA for licensee list, (3) county commission agendas (local approval). Closest to taxonomy barrier 1 so far.
Hawaii municipal hearing scheduled municipal_crawl 0 never Four county commissions. Honolulu: DocuShare Agenda collection www4.honolulu.gov/docushare/dsweb/View/Collection-3576 (FY subfolders → meeting agenda PDFs; 200 from Hetzner) + Star-Advertiser legal notices; Maui (mauicounty.gov/186), Kauai (kauai.gov Liquor-Control-Commission), Hawaii County (hawaiicounty.gov/departments/liquor-control) seeded into the municipal authorities table.
New Hampshire source_confirmed pending application html_form 0 never forms.nh.gov/licenseverification/Search.aspx?facility= (Business Search; same eVerification platform as IN, fields t_web_lookup__*). Profession=Liquor Commission (postback repopulates ~110 license types), Status=Pending → 14 pages × ~75 rows incl. Restaurant, Combination, Tavern, Hotel, Caterers, Beer Specialty plus vendors/tobacco (filter by type). Results: Full Name, Profession, License Type, License Number, Status. WAF returns 403 to curl from both Mac and Hetzner regardless of UA; Brave passes → run under Playwright (headless Chromium) and verify from Hetzner before live.
Maine source_confirmed newly licensed playwright_posse 0 never BELLS (Computronix POSSE SPA, alcohol.maine.gov/prod/webui/#/search/1781237) — Guest Licenses Search, no login. Criteria (Search/Config/1781237): PremisesName, LicenseNumber, EffectiveDate (Last/Next 30/60 Days, Custom), LicenseeName, LicenseType (~70 incl. On-Premises: Beer, Wine & Spirits / Off-Premises), County, Municipality, IncludeSpecialEventLicenses, LicenseStatus, PremisesType. Unfiltered search trips a result cap ('Please refine your criteria'), so slice by license type + Last 30 Days. Same engine as LA. Hetzner reaches it (200).
Montana source_confirmed newly licensed playwright_gentax 0 never tap.dor.mt.gov → Search for an Alcoholic Beverage License (public GenTax). Criteria radio: City / County / License Number / License Type / Name; License Type requires Account Type (On-Premises, Off-Premises, Domestic Brewery, Winery, Distilled Spirits Mfr, Wholesale, Agency Store, …) with optional license type/category. Results grid (Export): Name, Account Type, License Approval (date, e.g. 07-Jul-2026), License Category (All-Beverages…), License Number, Status (Active/Seasonal…), Cater, Access Control, Delivery, Address, City, County, Zip. On-Premises = 48 pages. New = License Approval in window; pending stays newspaper legal notice + county agendas.
Rhode Island built hearing scheduled form_iterate 0 never opengov.sos.ri.gov/OpenMeetings: search PublicBodyName '<Town>, Town of' / '<City>, City of' → Subcommittees table (client-side DataTable) → the licensing board (e.g. Providence Board of Licenses, EntityID 2757) → OpenMeetingDashboard?subtopmenuId=201&EntityID=<id> lists upcoming/past meetings with agenda links. Seed the ~39 EntityIDs once, then poll each dashboard; parse agenda PDFs with the agenda_pdf extractor. Hetzner 200.
Delaware built hearing scheduled json_url 32 2026-09-12T05:48:58.134265+00:00 Two legs. (1) api.publicmeetings.delaware.gov/api/public/search/?q=&agencyid=24 (send Origin/Referer publicmeetings.delaware.gov; bare curl gets a WAF Request Rejected page) → JSON Data[] with MeetingID, Title, Purpose, MeetingStartDateTime; titles like OABCC Virtual Protest Application Hearing: <applicant> = pending applications under protest. (2) oabcc.delaware.gov/decisions html_list = decided/issued with names + dates. Both 200 from Hetzner.
South Dakota municipal pending application municipal_crawl 0 never municipal issuance; local governing bodies publish hearing notices
North Dakota source_confirmed newly licensed playwright_gentax 0 never tap.tax.nd.gov → Alcohol License Lookup → License Type Search; blank filters return all listings (2026: 102 pages) with Export. Columns: Account Type (Beer Tax/Liquor Tax), License Type, Legal Name, License #, Closed Date, DBA/AKA, Address, City, State, Zip, Contact, Phone, Year. No issue date → new = License # diff; Closed Date gives closures. Same GenTax engine as MS. AG issues retail licenses after city-council approval → council agendas are the pending leg (Fargo/Bismarck/Minot) for the municipal lane later.
Alaska built newly licensed html_form 0 never AK-ACCIS (Gov2Biz) public search: accis.elicense365.com/Apps/LicenceSimpleSearch — Type=License + State=AK returns the roster grid (License Number, Permit Number, Business/Trade Name, Landmark, Location, City, State, Lic Expiration Date; Export to Excel; grid reports 1,000 items → slice by city). Row detail shows License Type, Status, Licensee, Expiration. License numbers are sequential → new = numbers above the last seen. Pending leg: ABC Board meeting agenda PDFs (commerce.alaska.gov Portals/9/pub/ABC/Minutes/…) list applications by name; 3 AAC 306.065 objection window. Hetzner reaches accis (200); commerce.alaska.gov 403s curl (browser passes).
Vermont source_confirmed pending application playwright_aura 0 never dllportal.my.vermont.gov/DLLLicenseManagment/s/licensing-lists-and-reports (Salesforce Experience, public). Sidebar tabs: Pending Applications (checkbox reveals a 7-page datatable: App Id, App For, Type License/Permit/Non Profit Event, Business Entity, Location, Address 1/2, Town, Date), Licenses Issued This Month, Suspended License, Permitted Events. Loaded by one aura.ApexAction.execute POST → same engine as IL/NM. Filter App For to First Class Restaurant/Bar, First Class Club, Second Class, Commercial Caterer etc.; drop Request to Cater/Festival/Special Events permits. Hetzner 200.
Wyoming built newly licensed pdf_list 1204 2026-09-12T05:48:58.134265+00:00 Wyoming Active Liquor License Holder List PDF (files-us-prod.cms.commerce.dynamics.com/cms/api/srmvxqpxdn/binary/MA8J6v, 751 KB, 200 from Hetzner). Columns: License Class, License Name, Products, DBA, Address, City, State, Zip, Phone. No dates → new = (DBA+address) rows absent from the prior pull. Resolve the binary URL from liquor365.wyo.gov each run in case the CMS hash rotates. Issuance is local (WS 12-4); pending signal would be council/commission agendas → municipal lane later.
District of Columbia built pending application pdf_list 5 2026-09-12T05:48:58.134265+00:00 ABCA Alcohol Protest Notices PDF (name, type, address, ANC/ward, protest deadline); periodic; parse PDF list