Refactor the method which is the sequence of the similarly looking steps to (or towards) the design patterm(s)
I share your concern regarding the code presented to contain repetitions.  

Design patterns are something to notice and use on an architectural level and do not apply here.  

Suggestion:
• use in-line-comments for one-liners

(I kept several things the way you coded them (and, while not objecting strongly, I'd rather not): one guideline with say meaning code:
Say what you mean, mean what you say. (Scott D. Meyers(?)))
The @return doc comment will need improving, some lines remain overly long:

/**
 * Check if the given email exists in the SendGrid recipients global list
 * and its custom field 'status' has the value 'subscribed'.
 *
 * @param  string  $email The email to check.
 *
 * @return object  (object)['isfound'=&gt;false, 'issubscribed'=&gt;false];
 */
public function getSubscriberStatus(string $email): object
{
    $result = (object) ['isfound' =&gt; false, 'issubscribed' =&gt; false];

    // Find the email in the SendGrid global list.
    $endpoint = "contactdb/recipients/search?email=$email";
    $found = $this-&gt;callSendGrid('GET', $endpoint);
    if ($found-&gt;status !== 200) {
        Log::error(sprintf('[SENDGRID] Error while searching the email: %s in the SendGrid list, status: %s, message: %s', $email, $found-&gt;status, $found-&gt;message));
        return $result;

        // throw new \Exception("Error while searching the email: $email in the SendGrid list");
    }

    if (!($found-&gt;data-&gt;recipient_count &gt; 0)) {
        return $result;
    }

    // Find the recipient with email exactly matching the required one.
    $recipient = collect($found-&gt;data-&gt;recipients)-&gt;first(function ($item) use ($email) {
            return $item-&gt;email === $email;
        });

    // No exactly matching emails.
    if (!$recipient) {
        return $result;
    }

    $result-&gt;isfound = true;

    // Get the status field of the recipient's 'custom_fields' array.
    $status = collect($recipient-&gt;custom_fields)-&gt;first(function ($item) {
            return $item-&gt;name === 'status';
        });

    if ($status-&gt;value === 'subscribed') {
        $result-&gt;issubscribed = true;
    }

    return $result;
}