Legal and Economic Chemical Data (, method=None, get_methods=False)[source]

Look up the economic status of a chemical.

This API is considered experimental, and is expected to be removed in a future release in favor of a more complete object-oriented interface.

>>> economic_status(CASRN='98-00-0')
["US public: {'Manufactured': 0.0, 'Imported': 10272.711, 'Exported': 184.127}", '10,000 - 100,000 tonnes per annum', 'OECD HPV Chemicals']
>>> economic_status(CASRN='13775-50-3')  # SODIUM SESQUISULPHATE
>>> economic_status(CASRN='98-00-0', method='OECD high production volume chemicals')
'OECD HPV Chemicals'
>>> economic_status(CASRN='98-01-1', method='European Chemicals Agency Total Tonnage Bands')
['10,000 - 100,000 tonnes per annum'], method=None, get_methods=False, CASi=None)[source]

Looks up the legal status of a chemical according to either a specifc method or with all methods.

Returns either the status as a string for a specified method, or the status of the chemical in all available data sources, in the format {source: status}.



statusstr or dict

Legal status information [-]

methodslist, only returned if get_methods == True

List of methods which can be used to obtain legal status with the given inputs

Other Parameters
methodstr, optional

A string for the method name to use, as defined by constants in legal_status_methods

get_methodsbool, optional

If True, function will determine which methods can be used to obtain the legal status for the desired chemical, and will return methods instead of the status

CASiint, optional

CASRN as an integer, used internally [-]


Supported methods are:

  • DSL: Canada Domestic Substance List, [1]. As extracted on Feb 11, 2015 from a html list. This list is updated continuously, so this version will always be somewhat old. Strictly speaking, there are multiple lists but they are all bundled together here. A chemical may be ‘Listed’, or be on the ‘Non-Domestic Substances List (NDSL)’, or be on the list of substances with ‘Significant New Activity (SNAc)’, or be on the DSL but with a ‘Ministerial Condition pertaining to this substance’, or have been removed from the DSL, or have had a Ministerial prohibition for the substance.

  • TSCA: USA EPA Toxic Substances Control Act Chemical Inventory, [2]. This list is as extracted on 2016-01. It is believed this list is updated on a periodic basis (> 6 month). A chemical may simply be ‘Listed’, or may have certain flags attached to it. All these flags are described in the dict TSCA_flags.

  • EINECS: European INventory of Existing Commercial chemical Substances, [3]. As extracted from a spreadsheet dynamically generated at [1]. This list was obtained March 2015; a more recent revision already exists.

  • NLP: No Longer Polymers, a list of chemicals with special regulatory exemptions in EINECS. Also described at [3].

  • SPIN: Substances Prepared in Nordic Countries. Also a boolean data type. Retrieved 2015-03 from [4].

Other methods which could be added are:

  • Australia: AICS Australian Inventory of Chemical Substances

  • China: Inventory of Existing Chemical Substances Produced or Imported in China (IECSC)

  • Europe: REACH List of Registered Substances

  • India: List of Hazardous Chemicals

  • Japan: ENCS: Inventory of existing and new chemical substances

  • Korea: Existing Chemicals Inventory (KECI)

  • Mexico: INSQ National Inventory of Chemical Substances in Mexico

  • New Zealand: Inventory of Chemicals (NZIoC)

  • Philippines: PICCS Philippines Inventory of Chemicals and Chemical Substances



Government of Canada.. “Substances Lists” Feb 11, 2015.


US EPA. “TSCA Chemical Substance Inventory.” Accessed April 2016.


ECHA. “EC Inventory”. Accessed March 2015.


SPIN. “SPIN Substances in Products In Nordic Countries.” Accessed March 2015.


>>> legal_status('64-17-5')
{'DSL': 'LISTED', 'TSCA': 'LISTED', 'EINECS': 'LISTED', 'NLP': 'UNLISTED', 'SPIN': 'LISTED'}[source][source]