🚀 New! ArtPexels Studio is now available on Microsoft Store. Get it Free
v1.0 REST API JSON Standard Public & Enterprise Access

ArtPexels API Documentation

Integrate millions of ultra high-definition 4K, 5K, and 8K wallpapers directly into your mobile apps, desktop clients, and web platforms with clean REST endpoints.

BASE URL https://artpexels.com/api

Overview & Protocol

The ArtPexels API is built using REST principles. All requests are served over secure HTTPS and return standard JSON payloads. All timestamps are ISO 8601 UTC strings.

Data Format
application/json
Encoding
UTF-8
Default Rate Limit
60 req / min

Authentication

Every request to protected endpoints must include your API Key. You can pass your key either in the HTTP headers or as a query parameter.

Method A: HTTP Header (Recommended) Header: X-API-Key

Pass your API key as an HTTP header with each request:

X-API-Key: apx_your_api_key_here
Method B: Query Parameter Query: api_key

Alternatively, pass your key directly in the request URL:

https://artpexels.com/api/wallpapers?api_key=apx_your_api_key_here
Allowed Origins & Mobile Package IDs

If your API key is restricted by an administrator to specific domains or application bundle identifiers (e.g. Flutter, Android, or iOS), you must transmit your package ID via the x-app-package or x-api-origin header. Unmatched origins will receive a 403 Forbidden response.

Endpoints Matrix

Method Endpoint Auth Description
GET /wallpapers API Key Retrieve wallpapers with pagination, sorting, layout, and category filters.
GET /categories API Key List all active wallpaper categories and subcategories.
GET /api-status/data Public Real-time health status, latency, and uptime telemetry.
GET

/wallpapers

Retrieve wallpaper assets filtered by orientation, tags, category, and sorting.

Query Parameters

Parameter Type Required Default Description
api_key string Required* Your API key (can alternatively be sent in X-API-Key header).
page integer Optional 1 The pagination page number.
limit integer | string Optional 20 Number of items per page. Use all or -1 for complete list.
orientation string Optional all landscape (desktop PC), portrait (mobile), square.
sort string Optional recent recent, popular (most views), featured (most downloads), random.
category string Optional Exact category name (e.g. Nature, Gaming, Anime, Cars).
subCategory string Optional Subcategory name within the category.
search string Optional Search keyword matching wallpaper title, category, and tags.

Example Response (200 OK)

{
  "success": true,
  "data": [
    {
      "id": 1420,
      "title": "Neon Cyberpunk City Skyline",
      "description": "Ultra 4K HD cybernetic city wallpaper",
      "tags": "cyberpunk, neon, futuristic, 4k",
      "category": "Gaming",
      "resolution": "3840x2160",
      "width": 3840,
      "height": 2160,
      "fileSize": 4194304,
      "views": 18240,
      "downloads": 4920,
      "slug": "neon-cyberpunk-city-skyline",
      "thumbnailUrl": "https://artpexels.com/uploads/preview_neon-cyberpunk-city.webp",
      "fullImageUrl": "https://artpexels.com/uploads/neon-cyberpunk-city.webp",
      "createdAt": "2026-03-01T12:00:00.000Z"
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 42,
    "totalItems": 840,
    "itemsPerPage": 20
  }
}
GET

/categories

Retrieve list of all active categories and their parent-child hierarchy.

Example Response (200 OK)

{
  "success": true,
  "data": [
    { "id": 1, "name": "Nature", "slug": "nature", "parentId": null },
    { "id": 2, "name": "Anime", "slug": "anime", "parentId": null },
    { "id": 3, "name": "Cars", "slug": "cars", "parentId": null },
    { "id": 4, "name": "Gaming", "slug": "gaming", "parentId": null },
    { "id": 5, "name": "Minimal", "slug": "minimal", "parentId": null }
  ]
}

Interactive Live Console

Test live requests against the API directly in your browser.

GET
Request URL: https://artpexels.com/api/wallpapers?category=Nature&limit=4&sort=popular Ready
Response Payload
// Click "Send Request" to test live query...
Live Assets Preview
Images will preview here.

SDK & Code Snippets

Ready-to-use production code snippets for your preferred language or framework.

cURL Terminal
# Fetch 20 high-resolution wallpapers sorted by popularity
curl -X GET "https://artpexels.com/api/wallpapers?limit=20&sort=popular" \
  -H "Accept: application/json" \
  -H "X-API-Key: apx_your_api_key_here"

Errors & Status Codes

Standard HTTP status codes returned by the API.

Status Type Description & Common Remedy
200 OK Request succeeded. Wallpapers or categories returned in payload.
400 Bad Request Invalid parameters, malformed pagination numbers, or unsupported formats.
401 Unauthorized Missing API Key. Check that X-API-Key or ?api_key= is provided.
403 Forbidden API Key is inactive, IP address blocked, or origin header does not match Allowed Origins.
429 Too Many Requests Rate limit exceeded. Wait 60 seconds or contact admin to upgrade quota.
500 Internal Error Unexpected server issue. Check our System Status page.

Rate Limits Policy

Default developer keys are limited to 60 requests per minute per key. If your product needs higher capacity for production launches or mobile app distribution, email us at [email protected] with your app details to get an unlimited or high-tier key.