DEV Community

xjokerabab
xjokerabab

Posted on

Tracking the US Visa Bulletin as Open Data (Not Screenshots)

Every month the US Department of State publishes the Visa Bulletin — the official chart that tells employment- and family-based immigrant applicants whether their priority date is current. For years, the practical workflow for a lot of people (including me) looked like this: open a PDF, squint at a table, paste a number into a spreadsheet, argue with friends about whether “C” means what they think it means.

I got tired of that. So I built a small data site and an open dataset that re-publishes the bulletin in a form you can actually query.

Site: yiminshuju.com

Full bulletin tables: yiminshuju.com/paiqi

Open data: github.com/xjokerabab/visa-bulletin-cn

What the site is (and isn’t)

yiminshuju.com aggregates:

  • US green card Visa Bulletin dates (employment EB-1–EB-5 and family F1–F4)
  • USCIS processing times by form and service center
  • Canada Express Entry draw scores (where published)
  • A light multi-country policy index of public numbers

It is data only — not a law firm, not a consultancy, not “we’ll get you a green card.” Every figure is tied back to an official source and stamped with an update date. If the government didn’t publish a field, the cell stays empty. No interpolated “estimates” dressed up as facts.

The part that usually confuses people: Table A vs Table B

The bulletin has two charts that look almost identical and mean very different things:

Chart Official name Practical meaning
Table A Final Action Dates When a visa number can actually be used (final adjudication rhythm)
Table B Dates for Filing When USCIS may allow you to file adjustment of status early — only if USCIS says it is using Chart B that month

A priority date that is “current” on Table B is not the same as being ready for final action on Table A. Mixing them up is one of the most common ways people misread the bulletin. The paiqi page keeps A and B side by side for China / Worldwide / India so you can compare without flipping PDFs.

"C" generally means Current (no backlog for that category that month). Treat it as a status code, not a calendar date.

Why open data instead of another blog post

Screenshots rot. PDFs get replaced. Chat threads lose the source link.

The companion repo visa-bulletin-cn stores structured bulletin snapshots so you can:

  • Diff month-over-month movement by category and chargeability
  • Build your own alerts (“EB-2 China Table A moved”)
  • Cite a stable URL instead of “see the screenshot I sent last Tuesday”

Sync happens after each new DOS bulletin drop; the site and the repo are meant to stay in step. Always treat the Department of State / USCIS originals as authoritative if anything disagrees.

A 30-second read of your own case

  1. Confirm category and country of chargeability (e.g. China-mainland birth, EB-2).
  2. Look at Table A — is your priority date earlier than the final action cutoff?
  3. Look at Table B — only relevant if USCIS is accepting Chart B filings that month.
  4. Separately check USCIS processing times for the form you actually filed (I-140, I-485, etc.). Processing time ≠ visa availability.

That’s it. No score, no “approval probability.”

Stack notes (for the curious)

Nothing exotic: scrape/parse official bulletin text into structured rows, render on a static-ish front end, keep the historical series in git. The interesting product decision wasn’t the framework — it was refusing to invent missing numbers. Empty beats estimated when you’re dealing with immigration cutoffs.

If you maintain your own pipeline, the repo is the cleaner input than OCR on a PDF.

Links

Caveats

This is a convenience layer over public government data. It is not legal advice, not a prediction of your case, and not a substitute for the official Visa Bulletin or USCIS notices. If you need a strategy call, talk to a licensed attorney — not a chart.

Questions, corrections, or “this category looks wrong” issues are welcome on the GitHub repo.

Top comments (0)