Back to Home

API Documentation

Use themeSnitch programmatically via our API

API Key Generation Currently Unavailable

I'm working on implementing user accounts and API key generation.

Authentication

All API requests require an API key. Include it in the request header:

bash
X-API-Key: your-api-key-here

Or using Bearer token:

bash
Authorization: Bearer your-api-key-here

Endpoint

bash
POST https://themesnitch.xyz/api/snitch

Request Examples

cURL

bash
curl -X POST https://themesnitch.xyz/api/snitch \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key-here" \
  -d '{"url":"gymshark.com"}'

JavaScript / Node.js

javascript
const response = await fetch('https://themesnitch.xyz/api/snitch', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'your-api-key-here'
  },
  body: JSON.stringify({ url: 'gymshark.com' })
});

const data = await response.json();
console.log(data);

Python

python
import requests

response = requests.post(
    'https://themesnitch.xyz/api/snitch',
    headers={
        'Content-Type': 'application/json',
        'X-API-Key': 'your-api-key-here'
    },
    json={'url': 'gymshark.com'}
)

data = response.json()
print(data)

Response Format

Success Response (200)

json
{
  "success": true,
  "data": {
    "name": "Dawn",
    "author": "Shopify",
    "version": "12.0.0",
    "id": 123456789,
    "themeStoreId": null
  },
  "url": "https://gymshark.com"
}

Error Responses

json
// 401 - Missing API Key
{
  "success": false,
  "error": "API key is required. Include X-API-Key header or Authorization: Bearer <key>"
}

// 403 - Invalid API Key
{
  "success": false,
  "error": "Invalid API key"
}

// 404 - Not a Shopify Store
{
  "success": false,
  "error": "No Shopify theme detected. This might not be a Shopify store."
}

// 400 - Invalid URL
{
  "success": false,
  "error": "Failed to fetch the website. Please check the URL."
}

Rate Limits

Currently, there are no strict rate limits. However, please be respectful and avoid excessive requests. I reserve the right to implement rate limiting in the future if necessary.

Raycast ExtensionAPI DocumentationBuilt by @robinaraiders