Semivowels seem to be pretty common around the world's languages, I wonder if there are languages which don't have them.
There is a minor terminological distinction between "glide" and "semivowel", in that "glide" includes the laryngeals [h, ʔ, ɦ] which would not be called "semivowels". The classic non-laryngeal glides a.k.a. semivowels are [j w ɥ], which are the non-syllabic correspondents of the vowels [i u y]. A symbolic/terminological lacuna is the lack of a "semivowel" version of back unrounded [ɯ]: but the symbol <ɰ> is available and describes a "velar approximant". In IPA terminology, [j] is a palatal approximants and [w, ɥ] are labial-veolar and palatal-velar approximants (there's no such thing as a semivowel in IPA), but there are also "approximants" like ɹ that would not be called "semivowels". The main point here is that until you define what you mean by "semivowel", it's impossible to determine if all languages have them. Semivowel is not a well-defined technical term.
Sticking to [j w ɥ], the answer is, from what I can determine, that all languages have one of those sounds at some level. The problem is that one can often analyze any segment out of existence by positing some rule that e.g. derives [j] from /i/ in some context. If you change the question to "do any languages not have minimal contrasts involving at least one of [j/i w/u ɥ/y]", the answer is, yes, vast numbers. Very few languages contrast vowels and corresponding glides.