Feeds & data

Every CSMS message, wherever you work

Follow new messages in a feed reader, pull them into your own tools with a free JSON API, or point an AI assistant at the archive. No key, no sign-up. Messages arrive within about 15 minutes of CBP sending them.

RSS feed

Follow new messages as they arrive

The 50 most recent messages, each labeled with its subject, urgency and whether it needs action, with a preview image. Updated every 15 minutes.

In Slack: /feed subscribe https://csmsbot.com/feed.xml. Outlook and Teams accept the address under RSS feeds. Prefer email? Get the Saturday digest.

JSON API

Search the archive from your own code

GET https://csmsbot.com/api/messages returns the newest matching messages as JSON. It's free and open to any origin (CORS), cached for five minutes. Please keep it to a reasonable request rate.

curl "https://csmsbot.com/api/messages?q=section+232&action_required=true&limit=5"
ParameterWhat it does
qText search over title, body and CSMS number
csmsExact CSMS number, e.g. 70381183
categoryOne of the categories below
action_requiredtrue or false
since / untilYYYY-MM-DD (date issued; since inclusive, until exclusive)
limit1 to 50 (default 20)
full1 for the complete message text instead of an excerpt (limit up to 10)

Categories: system-maintenance (System Maintenance), system-update (System Update), policy-guidance (Policy Guidance), quota (Quota), tariff (Tariff), enforcement (Enforcement), pga-update (PGA Update), trade-program (Trade Program), deadline-reminder (Deadline), general-notice (General Notice)

Example response (the newest message right now, trimmed):

{
  "source": "U.S. Customs and Border Protection CSMS, via csmsbot.com",
  "count": 1,
  "results": [
    {
      "csms_number": "70430751",
      "title": "Softwood Lumber Assessment Rates Clarification",
      "date_issued": "2026-11-13T15:24:44+00:00",
      "url": "https://csmsbot.com/message/e8735f57-34d6-426e-bbce-ef3af95fea74",
      "category": "pga-update",
      "urgency": "low",
      "action_required": true,
      "programs_affected": [],
      "pgas_affected": [
        "USDA/AMS"
      ],
      "excerpt": "The Softwood Lumber Board (Board) administers a nationally coordinated program pursuant to the Softwood Lumber Research, Promotion, Consumer Education, and Indu…"
    }
  ]
}

Try it in your browser.

Timeline data

The trade timeline, as data

GET /api/timeline has every message since 2021 in compact parallel arrays (CSMS number, Eastern day offset from 2021-01-01, minute of day, row, urgency, action flag), plus each reviewed trade action with its date, legal authority and Federal Register or CSMS citation, and the periods each authority was in effect.

curl "https://csmsbot.com/api/timeline/window?from=2026-02-17&to=2026-03-06"

/api/timeline/window?from=&to= adds titles for up to 400 days at a time. The chart itself is at csmsbot.com/timeline.

AI assistants

Point an assistant at the archive

csmsbot.com/llms.txt describes the site and API in the format AI assistants and agents read. Message pages are server-rendered with structured data, so assistants can cite them directly.

Use https://csmsbot.com/llms.txt to find CBP CSMS messages about <topic>. Cite each by CSMS number with a link to its csmsbot.com page.

Subject, urgency, action-required and affected-program labels are generated by AI and checked against a hand-labeled test set; the message text is CBP's. Check the text for anything that matters, and cite the CSMS number.