MarAdmin Bot APImaradminbot.com ↗
Retrieve, search, and filter Marine Corps MARADMIN announcements from Marines.mil. 7 endpoints covering full text, metadata, year, status, and keyword search.
What is the MarAdmin Bot API?
The MarAdminBot API provides 7 endpoints for accessing Marine Corps MARADMIN announcements published on the Marines.mil portal. You can retrieve paginated listings via list_maradmins, fetch the full text and metadata of any announcement via get_maradmin_detail, or look up a specific directive by its number (e.g. 213/26) using get_maradmin_by_number. Each summary record includes the MARADMIN number, title, date, status, and a direct URL.
curl -X GET 'https://api.parse.bot/scraper/105bb9ef-c9e7-4982-971e-f2d3d803a75f/list_maradmins?page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace maradminbot-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: USMC MARADMINS API — browse, filter, and drill into announcements."""
from parse_apis.usmc_maradmins_api import Maradmins, MaradminStatus, MaradminNotFound
client = Maradmins()
# List recent MARADMIN announcements with automatic pagination
for summary in client.maradminsummaries.list(limit=5):
print(summary.number, summary.title, summary.date, summary.status)
# Filter by status using the MaradminStatus enum
for item in client.maradminsummaries.filter_by_status(status=MaradminStatus.ACTIVE, limit=3):
print(item.number, item.title, item.url)
# Search by keyword
for result in client.maradminsummaries.search(query="promotion", limit=3):
print(result.number, result.title, result.date)
# Get full detail of a specific MARADMIN by number
try:
detail = client.maradmins.get(number="271/26")
print(detail.title, detail.date)
print(detail.body[:200])
except MaradminNotFound as exc:
print(f"Not found: {exc}")
# Fetch full detail by URL (alternative to by-number lookup)
first = client.maradminsummaries.filter_by_year(year="2026", limit=1).first()
if first:
full = client.maradmins.get_by_url(url=first.url)
print(full.title, full.date, full.body[:100])
print("exercised: list / filter_by_status / search / get / get_by_url / filter_by_year")
Retrieve a paginated list of MARADMIN announcements from the Marines.mil portal. Returns up to 27 items per page. Pagination advances by integer page number.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to retrieve. |
{
"type": "object",
"fields": {
"page": "string, current page number",
"items": "array of MARADMIN summary objects"
},
"sample": {
"data": {
"page": "1",
"items": [
{
"url": "https://www.marines.mil/News/Messages/Messages-Display/Article/4512691/fy24-special-technical-operations-planner-selection-panel-results/",
"date": "6/9/2026",
"title": "FY24 SPECIAL TECHNICAL OPERATIONS PLANNER SELECTION PANEL RESULTS",
"number": "271/26",
"status": "Active"
}
]
},
"status": "success"
}
}About the MarAdmin Bot API
Browsing and Retrieving MARADMINs
list_maradmins returns a paginated list of MARADMIN summaries — up to 27 per page — each containing number, title, date, status, and url. Pass a page integer to walk through the archive. To pull only the most recent announcements without paginating, use get_latest_maradmins with a limit up to 27; it reads directly from the first page of the listing.
Detail and Number Lookup
get_maradmin_detail accepts a full Marines.mil article URL (typically sourced from a listing result's url field) and returns the complete announcement body along with title, date, and number. If you already know the MARADMIN number in NNN/YY format, get_maradmin_by_number runs the search internally and returns the same detail fields — body, date, title, number, and url — without requiring a separate lookup step.
Search and Filtering
search_maradmins accepts a free-text query — keywords like promotion or drill instructor, or a literal MARADMIN number — and returns matching summary records with the query echoed back in the response. For structured filtering, filter_maradmins_by_year accepts a four-digit year string and returns all announcements from that year, while filter_maradmins_by_status accepts Active, Cancelled, or Cancellation Notice as the status parameter and returns matching summaries.
Response Shape
Summary-level responses share a consistent shape across endpoints: number, title, date, status, and url. Detail endpoints extend this with a body field containing the full announcement text. The status field distinguishes between active directives and those that have been cancelled or issued a cancellation notice, which is useful for filtering out superseded guidance.
The MarAdmin Bot API is a managed, monitored endpoint for maradminbot.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when maradminbot.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official maradminbot.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor newly published MARADMINs by polling
get_latest_maradminson a schedule and alerting on new entries - Build a search tool for Marines to look up directives by keyword using
search_maradminswith terms like 'promotion' or 'reenlistment' - Retrieve the full text of a known directive using
get_maradmin_by_numberwith a formatted number like '055/26' for automated parsing - Archive all MARADMINs from a specific year by iterating
filter_maradmins_by_yearwith values like '2024' or '2025' - Filter out cancelled directives from active policy feeds using
filter_maradmins_by_statuswith the 'Active' parameter - Cross-reference MARADMIN numbers extracted from other documents by resolving them to full detail via
get_maradmin_detail
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Marines.mil have an official developer API for MARADMIN data?+
What does `filter_maradmins_by_status` return, and what status values are valid?+
number, title, date, status, and url — filtered to the status you specify. The three accepted values are Active, Cancelled, and Cancellation Notice. The status value you passed is also echoed back in the response.How many results does `list_maradmins` return per page?+
page integer parameter to advance through the archive. The response includes a page field confirming which page was returned.Does the API expose attachments, enclosures, or embedded references within MARADMIN announcements?+
get_maradmin_detail and get_maradmin_by_number endpoints return the full text body, title, date, number, and url, but do not surface linked enclosures or attachment files separately. You can fork this API on Parse and revise it to add an endpoint that parses attachment links from the body text.Can I filter MARADMINs by subject category or issuing authority?+
filter_maradmins_by_year), status (via filter_maradmins_by_status), and keyword search (via search_maradmins). Subject category or issuing authority are not exposed as filter parameters. You can fork this API on Parse and revise it to add category-based filtering if the source data includes that metadata.