Difference between cross_validate and cross_val_score?

Excuse me, Could you please help me with the difference between:

cv_results = cross_validate(
    model, data, target, cv=10, return_estimator=True

and

scores = cross_val_score(dummy, data, target, cv=10)

Thank you

cross_val_score is a shortcut to get cross_validate(model, data)["test_score"]
cross_validate allows to get all information about the cross-validation, e.g. the fitted estimator on each split, while cross_val_score only return the test score.