As a reaction to high and persistent unemployment in Germany, the largest labour market reforms in post-war history were implemented between 2003 and 2005. We analyse the impact of the reforms and its coincidence with an economic expansion on the efficiency of matching out of unemployment. Especially focussing on searcher heterogeneity, we estimate a system of stock-flow matching functions for short-term and long-term unemployment (three-stage least squares) on the basis of administrative data. In sum, the reforms increased matching efficiency for both groups, but the effect was larger for the long-term unemployed. The interaction of reforms and economic expansion, however, was not influential.