We employ domain derivatives to solve inverse electromagnetic scattering problems for perfect conducting or for penetrable obstacles. Using a variational approach, the derivative of the scattered field with respect to boundary variations is characterized as the solution of a boundary value problem of the same type as the original scattering problem. The inverse scattering problem of reconstructing the scatterer from far field
measurements for a single incident field can thus be solved via a regularized iterative Newton scheme. Both the original forward problem and the problem characterizing the domain derivative are formulated as boundary integral equations and we carefully describe how these formulations are obtained in the case of Lipschitz domains. The integral equations are solved using the boundary element library Bempp. A number of numerical examples of shape reconstructions are presented.