For Agents
Query US farm financial and production data from the USDA Economic Research Service ARMS survey by state, year, farm type, category, and variable.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the USDA ERS ARMS Data API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fapi.ers.usda.gov%2Fusda-ers" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fapi.ers.usda.gov%2Fusda-ers" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with USDA ERS ARMS Data API.
List the states covered by the ARMS survey for a given year
Look up which years of ARMS survey data are available
Browse the category and variable taxonomy used in ARMS reports
GET STARTED
Use for: Get ARMS farm finance data for Iowa in the most recent year, List all available ARMS survey years, Find all farm type categories used in the ARMS survey, Retrieve average farm operating expenses by state for cash grain farms
Not supported: Does not handle commodity prices, weather data, or farm-level NASS production statistics - use for ARMS farm financial and production survey aggregates only.
Jentic publishes the only available OpenAPI specification for USDA ERS ARMS Data API, keeping it validated and agent-ready. The Agricultural Resource Management Survey (ARMS) Data API exposes the USDA Economic Research Service's flagship dataset on US farm financial and production economics. Researchers, journalists, and policy analysts query farm types, states, years, categories, and survey variables, then pull aggregated reports and raw survey data. The 7-endpoint surface covers reference lookups (states, years, farm types, categories, variables) plus the core report and survey data endpoints.
Retrieve aggregated farm finance and production reports by filter
Pull raw survey data slices for custom analysis
Resolve farm type classifications used in survey segmentation
Patterns agents use USDA ERS ARMS Data API for, with concrete tasks.
★ Agricultural Economics Research
Pull ARMS survey aggregates for academic and policy research on US farm finance, production cost structure, and rural economy. Researchers query by state, year, and farm type to build longitudinal datasets without scraping ERS publications. Eliminates manual CSV downloads and keeps analysis tied to the canonical USDA dataset.
GET /arms/report with state=IA, year=2023, and farmtype=cash-grain to retrieve net farm income aggregates
Policy and Journalism Briefings
Build reproducible briefings on US agriculture for policy memos and news coverage. Use the reference endpoints to discover which states, years, and variables are available, then pull report numbers with citation-ready confidence intervals. Replaces ad hoc requests to USDA staff with a self-service data layer.
GET /arms/state to list covered states, then GET /arms/report with the chosen state and variable to fetch the cited figure
AgTech and Lender Benchmarking
Lenders, insurers, and agtech platforms use ARMS aggregates to benchmark borrower or customer performance against the regional and farm-type averages. The variable taxonomy supports drilling into expenses, revenues, and balance sheet ratios. The API delivers the official ERS figures so benchmarks are defensible.
GET /arms/farmtype to enumerate farm typologies, then GET /arms/surveydata filtered to the relevant typology and variable for benchmarking
AI Agent Data Lookup via Jentic
An AI research agent answering questions about US agriculture ("what was net farm income in Kansas in 2022?") can call the ARMS Data API through Jentic. Jentic resolves the api_key query parameter and surfaces the seven operations, so the agent picks the right endpoint and returns a cited figure.
Search Jentic for 'get USDA farm income data', load the GET /arms/report schema, and execute with state, year, and variable to return a cited number
7 endpoints — jentic publishes the only available openapi specification for usda ers arms data api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/arms/state
List states covered by the survey
/arms/year
List available survey years
/arms/category
List report categories
/arms/farmtype
List farm type classifications
/arms/variable
List survey variables and their codes
/arms/report
Retrieve aggregated ARMS reports by filter
/arms/surveydata
Retrieve raw ARMS survey data slices
/arms/state
List states covered by the survey
/arms/year
List available survey years
/arms/category
List report categories
/arms/farmtype
List farm type classifications
/arms/variable
List survey variables and their codes
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the USDA ERS ARMS Data API by hand means setting up its API key auth and coding your own reads across the state, year, category, and survey data endpoints. Through Jentic you install once, import the USDA ERS ARMS Data API from the API Directory, store the key once, and your agent calls it.
Permission scoping
The ARMS query filters travel as request parameters rather than as ids in the URL path, and every operation here is read-only, so limit the agent to the read operations it needs, such as arms/surveydata or arms/report. Every operation you grant is your explicit choice.
Credential isolation
Your USDA ERS API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'get ARMS farm financial data by state' or 'list available survey variables', and Jentic returns the matching ERS operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using USDA ERS ARMS Data API through Jentic.
Why is there no official OpenAPI spec for USDA ERS ARMS Data API?
USDA ERS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call USDA ERS ARMS Data API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the USDA ERS ARMS Data API use?
ARMS uses an API key passed as the api_key query parameter on every request. Keys are issued free at api.data.gov. When called through Jentic, the key is stored in the vault and appended to the query string at execution time.
How do I find which states or years are covered before pulling a report?
Call GET /arms/state and GET /arms/year first. These reference endpoints return the valid filter values for /arms/report and /arms/surveydata, so you can build a query without hitting empty results.
What is the difference between /arms/report and /arms/surveydata?
/arms/report returns published aggregated figures (the same numbers as ERS report tables). /arms/surveydata returns finer slices intended for custom analysis, with the same survey weighting applied so you can compute your own aggregates.
How do I retrieve a USDA farm income figure through Jentic?
Run pip install jentic, then search 'get USDA farm income data'. Jentic returns the GET /arms/report operation. Execute with state, year, and variable parameters; the response includes the cited value and metadata.
Are there rate limits on the ARMS Data API?
The api.data.gov gateway applies a default limit of 1,000 requests per hour per key, which is shared across api.data.gov-fronted services. Higher limits are available on request to USDA.
Can I limit what my agent is allowed to do with the USDA ERS ARMS Data API?
Yes. Because you run Jentic One yourself, your own rules decide which of the ARMS operations and which credentials the agent may use. Every operation here is read-only and its filters travel as request parameters rather than as ids in the URL path, so you can grant only the reads the agent needs, such as GET /arms/report and GET /arms/surveydata, while withholding the reference lookups it does not. Each operation you expose is your explicit choice, and your stored API key stays on your instance rather than in the agent's context.
/arms/report
Retrieve aggregated ARMS reports by filter
/arms/surveydata
Retrieve raw ARMS survey data slices