There is provided a hydrocarbon extraction process and apparatus for removing hydrocarbons from a hydrocarbon containing ore such as a diatomite ore. The ore is preprocessed to the extent required to produce an extractable ore and subsequently mixed with a carrier to form an ore stream. The carrier may be a nonaqueous solvent and may further comprise a non-porous granular material such as sand. The ore stream is passed in substantially vertical countercurrent flow through a nonaqueous solvent to produce a product-solvent stream and a spent ore stream. The solvent is subsequently separated from the hydrocarbon stream, which may be further upgraded by removal of a heavy portion. This may be accomplished in the presence of a substantial amount of fines.