use GuzzleHttpClient; $client = new Client(); $response = $client->post('url', [ GuzzleHttpRequestOptions::JSON => ['foo' => 'bar'] // or 'json' => [...] ]);