Regulation Data Sources - Research Summary
Available Data Sources
✅ APIs Available
- Fish Rules API
- URL: https://fish.management
- Type: Commercial API
- Coverage: Multiple states (saltwater focus)
- Access: May require API key/partnership
- Update Frequency: Real-time
- Format: JSON API
- Best For: Saltwater regulations, multiple states
⚠️ Web Scraping Required
Most state DNR websites do NOT have public APIs. Regulations are published as:
- PDF documents (fishing guides)
- HTML web pages
- Interactive maps
States Requiring Web Scraping:
- Michigan DNR: https://www.michigan.gov/dnr
- Wisconsin DNR: https://dnr.wisconsin.gov
- Minnesota DNR: https://www.dnr.state.mn.us
- Most other states
Legal Considerations:
- Check robots.txt
- Review Terms of Service
- Respect rate limits
- Include attribution if required
❌ No Public APIs
- NOAA Fisheries: No public API for regulations (provides resources/links)
- Federal Database: No centralized federal database for state regulations
- USFWS: No public API for fishing regulations
Recommended Strategy
Phase 1: API Integration (Immediate)
- Fish Rules API: Integrate for states they cover
- Contact State DNRs: Request API access or partnerships
- Manual Entry: For critical states without APIs
Phase 2: Web Scraping (Short-term)
- Start with PDF Parsing: Many states publish PDF guides
- HTML Scraping: For states with structured HTML
- Monitor for Changes: Set up alerts for website changes
Phase 3: Partnerships (Long-term)
- State Partnerships: Work with state DNRs for official data
- Data Sharing Agreements: Formal agreements for data access
- API Development: Help states develop APIs
Data Source Configuration Examples
Fish Rules API
{
"SourceName": "Fish Rules API",
"SourceType": "Api",
"ApiUrl": "https://api.fish.management/v1/regulations/{state}",
"UpdateFrequency": "Weekly",
"RateLimitRequestsPerMinute": 60
}
Michigan DNR Web Scraping
{
"SourceName": "Michigan DNR Website",
"SourceType": "WebScraping",
"ScrapingUrl": "https://www.michigan.gov/dnr/managing-resources/laws/fishing",
"UpdateFrequency": "Monthly",
"RequiresAttribution": true,
"AttributionText": "Regulations from Michigan DNR"
}
PDF Import
{
"SourceName": "State Fishing Guide PDF",
"SourceType": "FileImport",
"FileUrl": "https://dnr.state.gov/fishing-guide-2024.pdf",
"FileFormat": "PDF",
"UpdateFrequency": "Annually"
}
Implementation Notes
- Rate Limiting: Implement rate limiting for all sources
- Error Handling: Robust error handling for network issues
- Data Validation: Validate parsed data before saving
- Change Detection: Detect when regulations change
- User Notifications: Notify users of regulation changes
- Compliance: Ensure ToS compliance for all sources