Thanks. I understand what you say, but Duolingo has several examples of "tem" translated impersonally as "there is/are". For example, this one: https://www.duolingo.com/comment/334647 where "Tem dinheiro nestas calças" has been translated as "There is money in these pants". Is that equally bad?
"tem um apartamento vago" is perfectly fine. As Gabriela said, it is used more often in spoken language and you would hear the "haver" construction mostly in formal occasions, tv news and such... where "proper language" should be used. But in everyday life, using "haver" in this context sounds kind of stiff and is almost always avoided. Here I have to say I disagree with Gabriela's advice and encourage you to learn and get used to this, because it is heavily used by native speakers and you would sound much more natural. :)
Davu, "tener" in spanish always have the idea of possession and "haber" is the one used for "there is/are". There is no overlap and it would be wrong to use "tener" in that context. I found this discussion, if you want to read more on this:
Thanks Lourenço. I agree it is certainly worth knowing about this use of "ter". Duolingo has several examples of this usage and reading the discussions associated with those sentences has taught me that many people see "tem" as meaning only "he/she has"/"you have". Perhaps they are Spanish speakers - do you know if the equivalent of "ter" in Spanish can be used this way?
Heerrrr.... that's tricky. :S As you said, translated "impersonally". It's best to use TER (tenho, tens, tem, temos...) when you are talking about sth you have (possession or obligation - I have to do sth - Eu tenho que fazer algo) and HÁ or EXISTE for THERE IS/ARE or EXIST.
Colloquially there is a mix in the use of these words but... I don't think I would advise you to use them. Keep in mind that there is such a thing when reading but try to avoid it for learning purposes. That's a personal advice, fell free to disagree ;)
I speak British English and we also say flat. Apartment makes it sound like a nicer, larger or more expensive flat, hence why estate agents are more likely to use the word apartment. As time goes on there seems to be less distinction between the meanings of the two words though.
I guarantee that in these United States of America, if you use the word "flat" in reference to a rented domicile then you will very often get a blank stare as the listener attempts to figure out what you've said. I believe the better way of stating your comment is that a greater number of Americans continue to become aware of the linguistic differences between American English and British English, and can make a quicker mental translation.
Anyway, it looks like Duolingo has changed the exercise to prefer apartment over flat, though it will still accept flat.