# ImmigrationLayer: Immigration Data Your AI Assistant Can Cite

ImmigrationLayer answers form, fee, and visa date questions from stored USCIS and Department of State data. Each answer carries its date and source link.

Date: 2026-10-13
Author: Zentered Studios
Source: https://zentered-studios.com/blog/introducing-immigrationlayer

---

![Diagram of a timeline: training data ends at a model cutoff, new form editions, USCIS alerts, and Visa Bulletins follow, and ImmigrationLayer carries the latest change with its as_of date and source_url to an AI assistant, which otherwise answers from memory](/blog/introducing-immigrationlayer/cover.png)

Ask an AI assistant which edition of Form I-765 USCIS accepts, and it answers
from what it learned in training. That knowledge ends at a cutoff date. USCIS
and the Department of State keep publishing after it, and the model may not
tell you its answer is stale.

A web search does not fix this. A search engine hands the assistant a page to
read. We built
[ImmigrationLayer](https://immigrationlayer.com/?utm_source=zentered-studios&utm_medium=post&utm_campaign=launch-202610)
to hand it the field the question needs, with the date and the link.

## What comes back

ImmigrationLayer reads USCIS and Department of State pages and stores what
they say. Your AI tool connects to it over MCP, the protocol AI tools use to
call outside data. When you ask about a form edition, a filing fee, a
processing time, or a Visa Bulletin date, the assistant calls ImmigrationLayer
instead of answering from memory.

Here is the answer `check_form_edition` returned for Form I-765 on
October 14, 2026:

```json
{
  "data": {
    "form": "I-765",
    "edition_date": "08/21/25",
    "accept_from": "2025-08-21",
    "reject_from": null
  },
  "as_of": "2026-09-17T06:00:50.578Z",
  "source_url": "https://www.uscis.gov/i-765",
  "content_hash": "sha256:3a86d2bf1bfb61723ad5cf7ea24086baae6ecbe0cf244161d003ae2cbe5c7f7d",
  "not_legal_advice": true
}
```

The assistant reads the edition from `data`. The other fields are there so
you can check it:

- `as_of`: the date of the data. Here, the data is from September 17, not
  from the moment of the call.
- `source_url`: the page the data came from. Open it to check.
- `content_hash`: a fingerprint of the content we stored.
- `not_legal_advice`: a flag that travels with the data.

Every answer that returns data carries these fields. Ask the same question
twice and you get the same answer, until the source page changes. We keep
every past version.

## Start with the four free tools

They work without an account or a plan.

- `check_form_edition`: the form edition USCIS accepts today, with its
  accepted-from and rejected-from dates. It also reports an edition USCIS has
  announced but not yet put into effect.
- `list_form_changes`: form edition changes and alerts published since a date
  you pick.
- `get_visa_bulletin_dv`: the Diversity Visa lottery cutoff or status for a
  region, and any country-specific exception listed for it.
- `get_visa_bulletin_notes`: the advisory notes in a month's Visa Bulletin,
  such as a warning that a category may become unavailable.

## Set it up

ImmigrationLayer is one server URL: `https://immigrationlayer.com/mcp`. In
Claude Code, one command adds it:

```sh
claude mcp add --transport http immigrationlayer https://immigrationlayer.com/mcp
```

The four free tools work right away.

Setup for other AI tools is on
[immigrationcontext.com](https://immigrationcontext.com/?utm_source=zentered-studios&utm_medium=post&utm_campaign=launch-202610),
the developer site. It has step-by-step setup for Claude, ChatGPT, Claude Code,
VS Code, and Cursor, a reference for each tool, and a sample call and response
for each one.

It is a separate site because it serves a different reader.
immigrationlayer.com is written for law firms, not developers. Connecting an
MCP server is the hardest step for an attorney who is not technical, so the
setup gets its own site, for whoever makes that connection.

## The Visa Bulletin, one month at a time

The Department of State publishes a new Visa Bulletin every month. A model
answering from memory may be reading an older one.
[visacontext.com](https://visacontext.com/?utm_source=zentered-studios&utm_medium=post&utm_campaign=launch-202610)
covers that one document. Each month gets its own page with the current
Final Action Dates for all chargeability areas, in plain words, and what moved
since the month before. On the October 2026 page, for countries not listed
separately, one category moved forward since September, three moved back, and
eleven did not change.

The site also keeps an archive of past months and guides on reading the
bulletin, on priority dates against cutoff dates, and on retrogression. We
rebuild the month page when we load a new bulletin.

The bulletin runs on its own monthly schedule, so it gets its own site. A
practitioner checking a priority date needs this month's charts, with the
update date and a link to the official bulletin on travel.state.gov.

## Check before you rely on it

ImmigrationLayer is
[not legal advice](https://immigrationlayer.com/not-legal-advice). It does not
tell you what to file, whether someone qualifies, or what a case will do. The
date and the link are there so you can check an answer before you rely on it.
The check is still yours.

- Edition tracking covers nine forms: I-765, I-539, I-485, I-130, N-400,
  I-129, I-140, I-90, and I-131. Fees cover the tracked forms that have a
  verified USCIS fee schedule (Form G-1055). I-129 and I-131 are not priced.
- We load Visa Bulletin data and processing times by hand. Check the `as_of`
  date on those answers.
- The tools take form numbers, categories, offices, dates, countries, and
  search keywords. They do not take case data, so leave names and case
  details out of your questions.
- ImmigrationLayer is an independent product. It is not affiliated with USCIS,
  DHS, or the Department of State. It reads their public pages and cites them.

[See the tools and setup](https://immigrationlayer.com/?utm_source=zentered-studios&utm_medium=post&utm_campaign=launch-202610)
