The challenge
The jobs API doesn't return a total count or last-page marker - blind pagination wastes time.
The solution
A Python pipeline that authenticates against HireMyVisa, paginates the jobs API with stop-when-empty logic, dedupes by job_id, enriches employer sponsorship via a batch-of-25 POST to /api/sponsor/batch-check, persists intermediate JSON, and produces a pandas/openpyxl Excel workbook split into ≤5,000-row parts with formatted date columns, frozen headers, and Excel-safe character sanitization.
Results
GB (UK)
Country
25/call
Sponsor batch
≤5K rows
File split
2 (jobs + sponsor)
APIs used
