<p>MiniSat is quite an old program at this point.  At the very least, you should look into one of the solvers entered into a <a href="http://sat2018.forsyte.tuwien.ac.at/index.php?cat=results" rel="nofollow noreferrer">recent SAT competition</a>, e.g. <a href="https://www.labri.fr/perso/lsimon/glucose/" rel="nofollow noreferrer">Glucose</a>.  The competitions have required SAT solvers to emit <a href="https://arxiv.org/pdf/1610.06229.pdf" rel="nofollow noreferrer">DRAT proofs</a> of unsatisfiability since 2013.  Run whichever solver you choose and have it dump its DRAT proof into proof.out.  Feed proof.out into the <a href="https://github.com/marijnheule/drat-trim" rel="nofollow noreferrer">drat-trim</a> utility with the -c option, which will produce an UNSAT core in DIMACS format.  I.e.</p>

<pre><code>drat-trim originalproblem.cnf proof.out -c core.cnf
</code></pre>

<p>Note that you don't have to use a MiniSat clone; any modern solver that emits DRAT proofs can have its proof fed into drat-trim to yield an UNSAT core.</p>
Unsat core in Minisat
<p>Is there any API call in minisat to extract unsat core or any other method for the same.</p>

<p>I want to extract the unsat core for every invocation of the solver and then work on the unsat core. </p>