Great Question :-) After re-engineering Field UI module found a simple way to retrieve above details... $bundle = field_extract_bundle('field_collection_item', 'field_my_collection_fields'); $instances = field_info_instances('field_collection_item', $bundle); foreach ($instances as $field_name => $field_properties) { if ($field_properties['required'] == 1) { dpm($field_name . " is required"); } else { dpm($field_name . " is not required"); } } Replace field_my_collection_fields with your field collection field name in above code ...