Properties
| Name | Type | Description |
|---|---|---|
| base | string | |
| quote | string | |
| source | string | |
| provenance | object | |
| pair_metadata | object | Whether the pair is served directly, inverted, or crossed via an anchor. |
| data_quality | object | |
| start_date | string | |
| end_date | string | |
| pagination | object | Offset pagination state for one page of results. |
| data | array | |
| indicators | object | |
| daily_ohlc_basis | object | |
| technical_indicator_basis | object | |
| dataset_version | string | |
| coverage | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/fxmacrodata/main/json-schema/fxmacrodata-forex-response-schema.json",
"title": "ForexResponse",
"x-generated": "2026-10-18",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/fxmacrodata-openapi.json#/components/schemas/ForexResponse",
"properties": {
"base": {
"type": "string",
"title": "Base"
},
"quote": {
"type": "string",
"title": "Quote"
},
"source": {
"type": "string",
"title": "Source"
},
"provenance": {
"properties": {
"publisher": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Publisher"
},
"publisher_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Publisher Url"
},
"storage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Storage",
"description": "Data provider label for the served series. Always `FXMacroData`."
},
"served_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Served By",
"description": "FXMacroData endpoint that serves this series."
},
"timestamp_field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Timestamp Field"
},
"value_field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Value Field"
}
},
"type": "object",
"title": "ForexProvenance"
},
"pair_metadata": {
"properties": {
"source_pair": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Pair"
},
"is_derived": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Derived"
},
"direct_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Direct Available"
},
"inverse_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Inverse Available"
},
"original_pair_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Original Pair Available"
},
"original_inverse_pair_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Original Inverse Pair Available"
},
"derived_from_inverse": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Derived From Inverse"
},
"derived_from_cross": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Derived From Cross"
},
"derived_from_source_legs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Derived From Source Legs"
},
"derivation_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Derivation Method"
},
"anchor_currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Anchor Currency"
},
"derived_value": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Derived Value"
},
"pair_consistency_check": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pair Consistency Check"
},
"source_note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Note"
},
"source_legs": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/FxSourceLeg"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Source Legs"
}
},
"type": "object",
"title": "ForexPairMetadata",
"description": "Whether the pair is served directly, inverted, or crossed via an anchor."
},
"data_quality": {
"$ref": "#/$defs/DataQuality"
},
"start_date": {
"type": "string",
"title": "Start Date"
},
"end_date": {
"type": "string",
"title": "End Date"
},
"pagination": {
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Limit"
},
"offset": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Offset"
},
"returned_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Returned Count"
},
"total_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Count"
},
"has_more": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Has More"
},
"next_offset": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Next Offset"
},
"page_includes_latest_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Page Includes Latest Available"
}
},
"type": "object",
"title": "Pagination",
"description": "Offset pagination state for one page of results."
},
"data": {
"items": {
"$ref": "#/$defs/ForexDataPoint"
},
"type": "array",
"title": "Data"
},
"indicators": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Indicators"
},
"daily_ohlc_basis": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Daily Ohlc Basis"
},
"technical_indicator_basis": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Technical Indicator Basis"
},
"dataset_version": {
"type": "string",
"title": "Dataset Version"
},
"coverage": {
"additionalProperties": true,
"type": "object",
"title": "Coverage"
}
},
"type": "object",
"required": [
"base",
"quote",
"source",
"provenance",
"data_quality",
"start_date",
"end_date",
"pagination",
"data",
"dataset_version",
"coverage"
],
"$defs": {
"CommodityCoverage": {
"properties": {
"scope": {
"type": "string",
"title": "Scope"
},
"requested_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requested Start"
},
"requested_end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requested End"
},
"available_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Available Start"
},
"available_end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Available End"
},
"input_row_count": {
"type": "integer",
"title": "Input Row Count"
},
"row_count": {
"type": "integer",
"title": "Row Count"
},
"distinct_date_count": {
"type": "integer",
"title": "Distinct Date Count"
},
"duplicate_date_row_count": {
"type": "integer",
"title": "Duplicate Date Row Count"
},
"excluded_weekend_row_count": {
"type": "integer",
"title": "Excluded Weekend Row Count"
},
"invalid_date_row_count": {
"type": "integer",
"title": "Invalid Date Row Count"
},
"expected_weekday_label_count": {
"type": "integer",
"title": "Expected Weekday Label Count"
},
"missing_weekday_label_count": {
"type": "integer",
"title": "Missing Weekday Label Count"
},
"largest_missing_weekday_run": {
"type": "integer",
"title": "Largest Missing Weekday Run"
},
"largest_calendar_gap_days": {
"type": "integer",
"title": "Largest Calendar Gap Days"
},
"missing_weekday_ranges": {
"items": {
"$ref": "#/$defs/CommodityMissingWeekdayRange"
},
"type": "array",
"title": "Missing Weekday Ranges"
},
"longest_continuous_weekday_segment": {
"$ref": "#/$defs/CommodityCoverageSegment"
},
"latest_continuous_weekday_segment": {
"$ref": "#/$defs/CommodityCoverageSegment"
},
"sparse_history": {
"type": "boolean",
"title": "Sparse History"
},
"coverage_basis": {
"type": "string",
"title": "Coverage Basis"
},
"continuous_coverage_verified": {
"type": "boolean",
"title": "Continuous Coverage Verified",
"default": false
},
"reference_only": {
"type": "boolean",
"title": "Reference Only",
"default": true
},
"executable_quotes": {
"type": "boolean",
"title": "Executable Quotes",
"default": false
},
"provenance_version": {
"type": "integer",
"title": "Provenance Version"
},
"repaired_excluded_weekend_row_count": {
"type": "integer",
"title": "Repaired Excluded Weekend Row Count",
"default": 0
},
"repaired_invalid_date_row_count": {
"type": "integer",
"title": "Repaired Invalid Date Row Count",
"default": 0
}
},
"type": "object",
"required": [
"scope",
"input_row_count",
"row_count",
"distinct_date_count",
"duplicate_date_row_count",
"excluded_weekend_row_count",
"invalid_date_row_count",
"expected_weekday_label_count",
"missing_weekday_label_count",
"largest_missing_weekday_run",
"largest_calendar_gap_days",
"missing_weekday_ranges",
"longest_continuous_weekday_segment",
"latest_continuous_weekday_segment",
"sparse_history",
"coverage_basis",
"provenance_version"
],
"title": "CommodityCoverage"
},
"CommodityCoverageSegment": {
"properties": {
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Start Date"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "End Date"
},
"row_count": {
"type": "integer",
"title": "Row Count"
}
},
"type": "object",
"required": [
"row_count"
],
"title": "CommodityCoverageSegment"
},
"CommodityMissingWeekdayRange": {
"properties": {
"start_date": {
"type": "string",
"title": "Start Date"
},
"end_date": {
"type": "string",
"title": "End Date"
},
"weekday_count": {
"type": "integer",
"title": "Weekday Count"
}
},
"type": "object",
"required": [
"start_date",
"end_date",
"weekday_count"
],
"title": "CommodityMissingWeekdayRange"
},
"DataQuality": {
"properties": {
"source_freshness": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Freshness"
},
"source_monitoring_complete": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Source Monitoring Complete"
},
"known_source_gap": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Known Source Gap"
},
"source_checked_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Source Checked At"
},
"source_check_expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Source Check Expires At"
},
"latest_published_period": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Latest Published Period"
},
"source_permission_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Permission Status"
},
"commodity_coverage": {
"anyOf": [
{
"$ref": "#/$defs/CommodityCoverage"
},
{
"type": "null"
}
]
},
"stored_history_coverage": {
"anyOf": [
{
"$ref": "#/$defs/CommodityCoverage"
},
{
"type": "null"
}
]
},
"point_in_time_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Point In Time Basis"
},
"is_official": {
"type": "boolean",
"title": "Is Official"
},
"is_proxy": {
"type": "boolean",
"title": "Is Proxy"
},
"is_fallback": {
"type": "boolean",
"title": "Is Fallback"
},
"is_stale": {
"type": "boolean",
"title": "Is Stale"
},
"has_announcement_datetime": {
"type": "boolean",
"title": "Has Announcement Datetime"
},
"point_in_time_safe": {
"type": "boolean",
"title": "Point In Time Safe",
"description": "Whether the returned values have verified availability and vintage evidence; estimated release times do not qualify."
},
"unverified_vintage_count": {
"type": "integer",
"title": "Unverified Vintage Count",
"default": 0
},
"unknown_publication_time_count": {
"type": "integer",
"title": "Unknown Publication Time Count",
"default": 0
},
"latest_available_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Latest Available Date"
},
"last_updated": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Updated"
},
"data_lag_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Data Lag Days"
},
"source_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Name"
},
"source_type": {
"type": "string",
"enum": [
"official",
"public",
"fallback",
"derived"
],
"title": "Source Type"
},
"is_derived": {
"type": "boolean",
"title": "Is Derived",
"default": false
},
"row_count": {
"type": "integer",
"title": "Row Count",
"default": 0
},
"announcement_datetime_count": {
"type": "integer",
"title": "Announcement Datetime Count",
"default": 0
},
"missing_announcement_datetime_count": {
"type": "integer",
"title": "Missing Announcement Datetime Count",
"default": 0
},
"has_assumed_release_times": {
"type": "boolean",
"title": "Has Assumed Release Times",
"description": "True when at least one row in the quality scope carries a publication timestamp derived from the publication lag measured on that series' own confirmed releases, because no official release calendar reaches the period.",
"default": false
},
"assumed_release_time_count": {
"type": "integer",
"title": "Assumed Release Time Count",
"description": "Number of rows in the quality scope whose publication timestamp was derived rather than captured. Compare against row_count to size the derived portion of the requested window.",
"default": 0
},
"bounded_release_time_count": {
"type": "integer",
"title": "Bounded Release Time Count",
"description": "Legacy rows carrying an upper-bound estimate flag; this does not certify replay safety.",
"default": 0
},
"unbounded_release_time_count": {
"type": "integer",
"title": "Unbounded Release Time Count",
"description": "Assumed timestamps without proven availability bounds.",
"default": 0
},
"quality_scope": {
"type": "string",
"title": "Quality Scope",
"default": "full_result"
},
"stale_after_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Stale After Days"
},
"requested_window_has_data": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Requested Window Has Data"
},
"requested_window_latest_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requested Window Latest Date"
},
"requested_window_includes_latest_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Requested Window Includes Latest Available"
},
"page_includes_latest_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Page Includes Latest Available"
},
"returned_latest_available_before_window": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Returned Latest Available Before Window"
},
"staleness_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Staleness Days"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
},
"datetime_field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Datetime Field"
},
"datetime_precision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Datetime Precision"
},
"datetime_semantics": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Datetime Semantics"
},
"source_legs": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Source Legs"
},
"historical_point_in_time": {
"anyOf": [
{
"$ref": "#/$defs/PointInTimeCompleteness"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"is_official",
"is_proxy",
"is_fallback",
"is_stale",
"has_announcement_datetime",
"point_in_time_safe",
"source_type"
],
"title": "DataQuality"
},
"ForexDataPoint": {
"properties": {
"source_permission_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Permission Status"
},
"date": {
"type": "string",
"title": "Date"
},
"val": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Val"
},
"open": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Open"
},
"high": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "High"
},
"low": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Low"
},
"close": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Close"
},
"ohlc_point_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ohlc Point Count"
},
"ohlc_source_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Ohlc Source Count"
},
"ohlc_timestamp_start_utc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ohlc Timestamp Start Utc"
},
"ohlc_timestamp_end_utc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ohlc Timestamp End Utc"
},
"ohlc_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ohlc Type"
},
"announcement_datetime": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Announcement Datetime"
},
"observation_datetime": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Observation Datetime"
},
"observation_datetime_iso": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Observation Datetime Iso"
},
"observation_datetime_precision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Observation Datetime Precision"
},
"source_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Type"
},
"source_chart_timestamp": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Source Chart Timestamp"
},
"source_chart_timestamp_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Source Chart Timestamp Ms"
},
"source_chart_period": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Chart Period"
},
"quote_time_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Quote Time Status"
},
"sampling_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sampling Method"
},
"publication_time_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Publication Time Status"
},
"point_in_time_safe": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Point In Time Safe"
},
"provenance_version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Provenance Version"
},
"is_official": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Official"
},
"source_series_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Series Id"
},
"announcement_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Announcement Date"
},
"announcement_timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Announcement Timezone"
},
"time_announced": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Time Announced"
},
"cross_check_divergence_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Cross Check Divergence Pct"
},
"cross_check_divergent": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Cross Check Divergent"
},
"source": {
"properties": {
"source_pair": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Pair"
},
"is_derived": {
"anyOf": [
{
"type": "
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fxmacrodata/refs/heads/main/json-schema/fxmacrodata-forex-response-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/fxmacrodata-forex-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.