The landlord is generally entitled to have the carpets professionally cleaned when a tenant moves out. It cannot be a mandatory fee, but I think you would agree that you did live in the apartment and you did use the floors. It isn't unusual to do this for new tenants.
The charge should be $150 or less. That is considered a fair amount, unless it is a very large unit, then it could be more.
You have to weigh the factors here. He must account to you for your security deposit within 21 days of you moving out. He also told you that he was going to charge this to you. Maybe you can convince him to use a cheaper service that you may hire, but I don't know many services that charge less.
This is general legal advice intended for informational purposes only and does not create and attorney/client relationship. If you wish further advice, please contact an attorney of your own choosing or you may contact me for further advice and make other arrangements including retaining my services.
Your understanding about damages making the apartment uninhabitable actually isn't correct. Your responsibility as a tenant is to return the premises in the same condition as it was when you first moved in, less reasonable wear and tear. It is not essential that your lease or rental agreement specifically mention anything about the carpet cleaning. That being the standard, your options are to either have the carpets cleaned yourself before you move out, or have the landlord deduct the cost of cleaning from your security deposit.
For more discussion, see:
Frank W. Chen has been licensed to practice law in California since 1988. The information presented here is general in nature and is not intended, nor should be construed, as legal advice for a particular case. This Avvo.com posting does not create any attorney-client relationship with the author. For specific advice about your particular situation, please consult with your own attorney.