Why isn't the field "EXPIR_DATE" consistently available for futures contracts (expired or not)?
The following gives the field value only for the active (non-expired) contract:
dfe, _ = ek.get_data(['MZNH20^2', 'MZNH20', 'MZNH21'], 'EXPIR_DATE')InstrumentEXPIR_DATE0MZNH20^2<NA>1MZNH20<NA>2MZNH212021-03-17
As mentioned by my colleague, those RICs are expired or invalid so their data may not be available via the get_data method. You need to contact Refinitiv Content Helpdesk to confirm it.
However, I have tried to use other APIs to retrieve the expiration date for MZNH20^2 and found that DSS REST API can return this information.
For more information about DSS REST API, please refer to this page.