API v1

API Documentation

Integrate CoverImage.app into your browser extensions, WordPress plugins, and automations.

Authentication

All API requests require authentication using an API key. Include your API key in theAuthorization header:

Authorization: Bearer ci_live_your_api_key_here

Generate API keys in your account settings. All plans have API access with different rate limits.

Base URL

https://coverimage.app/api/v1

AI Content Analysis

POST/find

Analyze content with AI to find matching cover images. Uses your daily AI search quota.

Request Body

ParameterTypeDescription
contentstringArticle or text content to analyze (required, 10-2000 chars)
sourcesstring[]Image sources to search (default: ["pexels", "pixabay"])
auto_pickbooleanReturn only the top image in the images array (default: false)

Example

curl -X POST "https://coverimage.app/api/v1/find" \
  -H "Authorization: Bearer ci_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"content": "Your article or tweet content here..."}'

Response

{
  "success": true,
  "data": {
    "analysis": {
      "topics": ["technology", "productivity"],
      "mood": "professional",
      "queries": ["modern workspace", "laptop coffee"]
    },
    "images": [
      {
        "id": "pexels-123",
        "source": "pexels",
        "url": {
          "small": "...",
          "regular": "...",
          "full": "..."
        },
        "width": 1920,
        "height": 1080,
        "color": "#2c3e50",
        "alt": "Image description",
        "attribution": {
          "name": "Photographer Name",
          "link": "https://..."
        }
      }
    ],
    "total": 50,
    "usage": {
      "used": 5,
      "limit": 50,
      "remaining": 45
    }
  }
}

Check Usage

GET/usage

Check your current usage and remaining quota.

Example

curl "https://coverimage.app/api/v1/usage" \
  -H "Authorization: Bearer ci_live_your_api_key_here"

Response

{
  "success": true,
  "data": {
    "plan": "pro",
    "today": {
      "ai_searches": {
        "used": 5,
        "limit": 50,
        "remaining": 45
      }
    },
    "subscription": {
      "status": "active",
      "current_period_end": "2026-02-26T00:00:00Z"
    }
  }
}

Rate Limits

Rate limits are based on your subscription plan:

PlanAI Searches/day
Free10
Pro100
Team500

Error Responses

All errors return a JSON response with success: false:

{
  "success": false,
  "error": "Error message here"
}
StatusDescription
400Bad request (invalid parameters)
401Unauthorized (missing or invalid API key)
429Rate limit exceeded
500Internal server error

CORS

The API supports CORS and can be called from browser extensions and client-side applications. All origins are allowed.