ISM World APIismworld.org ↗
Access ISM Manufacturing and Services PMI reports via API. Get headline index values, sub-indices, commentary, and industry-level data for any month.
What is the ISM World API?
The ISM World API covers 2 endpoints that return the full content of the monthly ISM Manufacturing and Services PMI reports, including headline PMI values, sub-index breakdowns, analyst commentary, and industry-level growth lists. The get_manufacturing_report endpoint alone surfaces over 10 distinct response fields — from pmi_value and at_a_glance summary rows to industries_growing and sub_indices tables — covering every data point published in the official report.
curl -X GET 'https://api.parse.bot/scraper/3e053129-cacc-4423-87ea-13d531fce8e3/get_manufacturing_report?month=September' \ -H 'X-API-Key: $PARSE_API_KEY'
Get the ISM Manufacturing PMI report for a given month. Returns headline PMI value, at-a-glance summary table with all sub-indices, analyst commentary, respondent quotes, and detailed sub-index breakdown tables. A month whose report is not published on the site yields a stale_input error; a value that is not an English month name is rejected before any request.
| Param | Type | Description |
|---|---|---|
| month | string | Full English month name for the report (e.g., 'july', 'august'). Case-insensitive. If omitted, defaults to the previous calendar month (the most recent report). A month with no published report returns a stale_input error. |
{
"type": "object",
"fields": {
"summary": "array of strings - First 5 summary paragraphs",
"headline": "string - Headline text (e.g., 'Manufacturing PMI® at 54%')",
"pmi_value": "number - Headline PMI index value",
"at_a_glance": "array of objects - Summary table rows with index_name, current_month_value, previous_month_value, percentage_point_change, direction, rate_of_change, trend_months",
"sub_indices": "object - Detailed sub-index tables keyed by name, each with headers array and data array",
"report_title": "string - Full report title including month and year",
"current_month": "string - Current report month abbreviation (e.g., 'Jul')",
"previous_month": "string - Previous month abbreviation (e.g., 'Jun')",
"full_commentary": "array of strings - All commentary paragraphs",
"industries_growing": "array of strings - Industries reporting growth",
"respondent_comments": "array of strings - Industry respondent quotes",
"industries_contracting": "array of strings - Industries reporting contraction"
},
"sample": {
"data": {
"summary": [
"(Tempe, Arizona) — Economic activity in the manufacturing sector expanded in March..."
],
"headline": "Manufacturing PMI®at 52.7%",
"pmi_value": 52.7,
"at_a_glance": [
{
"direction": "Growing",
"index_name": "Manufacturing PMI",
"trend_months": 3,
"rate_of_change": "Faster",
"current_month_value": 52.7,
"previous_month_value": 52.4,
"percentage_point_change": "+0.3"
}
],
"sub_indices": {
"New Orders": {
"data": [
[
"Mar 2026",
"29.1",
"56.3"
]
],
"headers": [
"New Orders",
"% Higher",
"% Same"
]
}
},
"report_title": "March 2026 ISM®Manufacturing PMI®Report",
"current_month": "Mar",
"previous_month": "Feb",
"full_commentary": [
"(Tempe, Arizona) — Economic activity in the manufacturing sector expanded in March..."
],
"industries_growing": [
"Printing & Related Support Activities",
"Primary Metals",
"Transportation Equipment"
],
"respondent_comments": [
"\"This is expected to be a transition year for the U.S. trucking market...\" [Transportation Equipment]"
],
"industries_contracting": []
},
"status": "success"
}
}About the ISM World API
Endpoints and What They Return
The API provides two endpoints: get_manufacturing_report and get_services_report. Both accept an optional month parameter (full English month name, case-insensitive). When month is omitted, each endpoint defaults to the most recent available report. Requests for months whose reports have not yet been published return a stale_inp signal rather than partial data.
Manufacturing Report Fields
get_manufacturing_report returns the report_title, headline text (e.g., 'Manufacturing PMI® at 54%'), and pmi_value as a number. The at_a_glance array contains one object per sub-index, each with index_name, current_month_value, previous_month_value, percentage_point_change, and direction. The sub_indices object holds detailed tables keyed by sub-index name, with headers and data arrays. full_commentary delivers all analyst paragraphs. industries_growing lists the specific industries reporting expansion.
Services Report Fields
get_services_report follows the same response shape for the services sector. It returns a services-specific at_a_glance table with current and previous month values, direction, rate of change, and trend months. The summary field carries the first five summary paragraphs, while full_commentary captures the complete analyst text. current_month and previous_month abbreviations are included to help label comparisons programmatically.
Coverage and Limitations
Both endpoints cover monthly reports published on ismworld.org. Historical month access depends on reports being available on the source site for that month; unpublished months return a stale signal rather than an error with empty fields. Neither endpoint exposes raw respondent-level survey microdata or time-series archives beyond what the monthly report page presents.
The ISM World API is a managed, monitored endpoint for ismworld.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ismworld.org 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 ismworld.org 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?+
- Track the monthly Manufacturing PMI trend by querying
pmi_valueacross consecutive months for economic dashboards. - Ingest
at_a_glancesub-index rows to monitor New Orders, Employment, and Supplier Deliveries directional changes. - Pull
industries_growinglists to identify which manufacturing or services sectors are expanding in a given month. - Feed
full_commentaryparagraphs into NLP pipelines to extract sentiment signals from official ISM analyst text. - Build macro-economic research tools that align ISM
pmi_valuereadings with equity or bond market data by month. - Monitor the Services PMI
at_a_glancetrend months field to detect sustained expansion or contraction streaks. - Automate monthly report digests that surface
headline,summary, andindustries_growingfor internal research teams.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ISM World provide an official developer API for PMI data?+
What does the `at_a_glance` field contain, and how does it differ from `sub_indices`?+
at_a_glance is a flat array of summary-table rows, each with index_name, current_month_value, previous_month_value, percentage_point_change, and direction — mirroring the top-level summary table in the report. sub_indices is a keyed object of detailed tables, each with its own headers and data arrays, corresponding to the expanded breakdowns lower in the report.What happens if I request a month whose report hasn't been published yet?+
get_manufacturing_report and get_services_report return a stale_inp signal for any month that does not yet have a published report on ismworld.org. The response does not return partial or placeholder data for future months.