Use get_terms
with a parent
argument. From the Codex page for that function, emphasis mine:
parent
(integer) Get direct children of this term (only terms whose explicit parent is this value). If 0 is passed, only top-level terms are returned. Default is an empty string.
Untested, but this should do it.
$categories = get_terms(
'category',
array('parent' => 0)
);
Of course, you need to add any other arguments you require.