What and how a data export can be restricted for a user? I want user still have access to data from UI, but I don't want him to mass export data either through data export or API.
Users need to be granted Weekly Export permission on their profile or a permission set to be able to access the Data Export feature. Just make sure this setting is not checked (Under System Permissions) and user should not have access to the Data Export feature.
This will not prevent users from exporting data from reports assuming they are allowed to run reports. Also if their profile is API Enabled they could pull data using SOQL queries via many tools that provide this access (workbench, enablerForExcel, etc.). If you can without breaking anything make sure the user's profile does not have 'API Enabled' - however this may be required depending on your Org setup and customizations!