Automatically check your law school application statuses without logging into multiple portals. Get notified when your status changes!
- ✅ Multi-School Support - Check all your applications at once
- 🚨 Change Detection - Get alerted when statuses update or checklist items complete
- 💾 Smart Caching - Authentication token saved for 24 hours (no repeated logins)
- 📊 Comprehensive Info - View status, checklists, letters of recommendation, fees, and scholarships
- 🔒 Secure - Credentials stored locally in
.envfile
- Python 3.8+
- LSAC account with applications submitted
-
Clone the repository
git clone https://github.com/yourusername/lsac-status-checker.git cd lsac-status-checker -
Install dependencies
pip install -r requirements.txt playwright install chromium
-
Create
.envfileLinux/Mac:
echo "LSAC_USERNAME=your_username" > .env echo "LSAC_PASSWORD=your_password" >> .env
Windows (PowerShell):
@" LSAC_USERNAME=your_username LSAC_PASSWORD=your_password "@ | Out-File -FilePath .env -Encoding utf8
Windows (Command Prompt):
echo LSAC_USERNAME=your_username > .env echo LSAC_PASSWORD=your_password >> .env
Or just create the file manually:
- Create a new file named
.env(note the leading dot) - Add these two lines:
LSAC_USERNAME=your_username LSAC_PASSWORD=your_password
- Create a new file named
-
Create
schools.txtfileAdd your school status checker links. Get these from:
- Emails from law schools with "Check Application Status" links
- Law school admissions portals
- LSAC status checker emails
Format options:
# Option 1: Just paste the link https://aso.lsac-unite.org/?guid=xjQd2C0H4WM%3d # Option 2: School name on line above link Cooley Law School https://aso.lsac-unite.org/?guid=abc123 # Option 3: School name | link (same line) Yale Law School | https://aso.lsac-unite.org/?guid=def456 # Mix and match any format!
Run the checker:
python lsac_checker.pyFirst run:
- Browser window will open
- Logs you in automatically
- Shows all application statuses
- Saves status to
status_history.json
Subsequent runs:
- Uses saved authentication token (no browser needed for 24 hours)
- Compares with previous status
- Shows 🚨 alerts for any changes
✅ Loaded 5 school(s) from schools.txt
📚 Checking status for 5 school(s)...
✅ Loaded saved authentication token
Fetching status for Cooley Law School...
🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨
🎉 CHANGES DETECTED FOR COOLEY LAW SCHOOL!
🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨
📊 Status Update - Fall 2026 Full Time JD
Old: Application Under Review
New: Admitted
🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨 🚨
======================================================================
📍 Cooley Law School
======================================================================
📋 Applicant: John Doe
📧 Email: john@example.com
🆔 LSAC Account: L12345678
📄 Final Transcript: ✅ Received
----------------------------------------------------------------------
🎓 Program: Fall 2026 Full Time JD
📊 Status: Admitted
💬 Message:
Congratulations! You have been admitted to Cooley Law School...
✓ Checklist:
✅ Personal Statement
✅ Letters of Recommendation
✅ Resume
📝 Letters of Recommendation: 3 submitted
• Prof. Jane Smith - 2025-08-15 (Signed: ✓)
• Dr. Bob Johnson - 2025-08-20 (Signed: ✓)
• Dean Mary Williams - 2025-08-25 (Signed: ✓)
💰 Application Fee: Application Fee Paid
(Waived)
======================================================================
Set up a daily check using cron (Linux/Mac) or Task Scheduler (Windows):
# Run daily at 9 AM
0 9 * * * cd /path/to/lsac-status-checker && /usr/bin/python3 lsac_checker.py >> lsac.log 2>&1- Open Task Scheduler
- Create Basic Task
- Trigger: Daily at 9:00 AM
- Action: Start a program
- Program:
python - Arguments:
C:\path\to\lsac_checker.py - Start in:
C:\path\to\lsac-status-checker
- Program:
token.json- Cached authentication token (expires after 24 hours)status_history.json- Previous status for change detectionlsac.log- Optional log file if you redirect output
- Token capture failed during login. Try running again.
- Check if your credentials in
.envare correct - Make sure Chromium is installed:
playwright install chromium
- One of your status checker links is incorrect
- Make sure you copied the full URL including
?guid=... - Check for duplicate GUIDs in
schools.txt
- The GUID might be URL-encoded incorrectly
- Try copying the link directly from your email/portal again
- The script is still running - wait for it to complete
- If stuck, press Ctrl+C to cancel
⚠️ Never commit your.envfile - it contains your credentials- All data stays local on your machine
- No data is sent anywhere except to LSAC's official servers
- Open source - review the code yourself!
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Only works for schools using LSAC's unified status portal (
aso.lsac-unite.org) - Requires valid LSAC credentials
- Token expires after 24 hours (automatic re-login on next run)
MIT License - See LICENSE file for details
This tool is not affiliated with or endorsed by LSAC. Use responsibly and in accordance with LSAC's terms of service. Automated access may be against their ToS - use at your own risk.
Also, I will probably not be maintaining this at all lol. If it breaks, fix it and let me know.
Having issues?
- Check the Troubleshooting section
- Open an issue on GitHub
- Make sure you're using Python 3.8+
Built by law school applicants, for law school applicants. Good luck with your applications! 🎓⚖️
Inspired by LSD.law
Star ⭐ this repo if it helped you!