The core-flooding setup is a closed-loop system designed to perform three-phase flow experiments into micro-scale core samples. The setup is composed of six dual-cylinder Quizix pumps, a miniature custom-built core holder made out of carbon fiber, Rosemount differential pressure transducers, a three-phase separator, compensation accumulators and a mechanical convection oven. All parts of the apparatus exposed to fluids are made out of Hastelloy or other corrosion-resistant materials. To conduct flow experiments on small samples under confining pressure, we designed and built miniature core holders with various dimensions. Pumps are used for fluid (e.g., oil, gas, and water) injection, back pressure regulation, overburden pressure maintenance, and separator pressure regulation. The fluids can be injected from the bottom of the core samples at constant flow rates and received from the top at constant pressure. The injection pumps can withdraw their respective fluids for reinjection into the core sample from the separator, whereas the back pressure regulation pump can discharge its contents, i.e., the effluents received from the core, into the separator. All positive or negative mass accumulations in the separator (due to retraction/injection of fluids from/into the separator) can be compensated by a pressure regulation module, resulting in a very stable separator pressure.