Skip to content
WP Engine |Hosting Platform API

Quick Start

This guide walks you through authenticating and making your first request to WP Engine’s Hosting Platform API.

Before you begin, you’ll need:

WP Engine’s Hosting Platform API uses Basic Auth. Credentials are sent as a base64-encoded WPE_API_USER_ID:WPE_API_PASSWORD string in the Authorization header.

Example cURL request:

cURL Example
curl -X GET "https://api.wpengineapi.com/v1/installs?limit=5" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD"

If successful, the response will look something like this:

JSON
{
"count": 1,
"results": [
{
"id": 12345,
"name": "my-wp-site",
"account_id": 67890,
"created_at": "2024-01-01T12:00:00Z"
}
]
}

Your API credentials are sensitive. For security, store your credentials in environment variables:

Set Environment Variables
export WPE_API_USER_ID="YOUR_API_USER_ID"
export WPE_API_PASSWORD="YOUR_API_PASSWORD"

Now you can reference them in code without hardcoding secrets.

Here are simple examples in different languages to fetch your installs.

package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
user := os.Getenv("WPE_API_USER_ID")
pass := os.Getenv("WPE_API_PASSWORD")
url := "https://api.wpengineapi.com/v1/installs?limit=5"
req, _ := http.NewRequest("GET", url, nil)
req.SetBasicAuth(user, pass)
resp, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}

You’ve successfully made your first request! From here, you can:

  • Explore the API Reference for available endpoints.
  • Follow the Tutorial for a deeper walkthrough, including pagination, error handling, and automation.