API Reference
REST API for integrating CheckShop.eu with your platform.
Authentication
API key endpoints require the x-api-key header. Find your API key in Dashboard > Integrations.
curl -H "x-api-key: YOUR_API_KEY" \
https://checkshop.eu/api/v1/verifyhttps://checkshop.euJSON120 req/minAuthentication
/api/v1/verifyAPI KEYTest your API key and get shop info. Use this to verify your integration is working.
Response
{
"ok": true,
"shop": {
"id": "clx...",
"name": "My Shop",
"domain": "myshop.com",
"plan": "PRO",
"status": "APPROVED",
"verified": true,
"badgeEnabled": true,
"score": 87,
"badgeColor": "GOLD"
}
}Badge
/api/v1/badge/{shopId}PUBLICGet trust badge data for a shop. Used by the badge widget to display real-time score. Cached for 5 minutes at edge.
Response
{
"shop": "My Shop",
"domain": "myshop.com",
"verified": true,
"status": "APPROVED",
"score": 87,
"badgeColor": "GOLD",
"reviewCount": 142,
"avgRating": 4.6,
"lastChecked": "2026-04-12T10:00:00Z"
}Shops
/api/v1/shops/{domain}PUBLICLook up a shop by domain. Returns trust score and review summary.
Response
{
"found": true,
"shop": {
"name": "My Shop",
"domain": "myshop.com",
"country": "NL",
"verified": true,
"status": "APPROVED",
"memberSince": "2026-01-15T00:00:00Z"
},
"score": {
"overall": 87,
"technical": 92,
"reviews": 80,
"badge": "GOLD",
"lastChecked": "2026-04-12T10:00:00Z"
},
"reviews": { "count": 142, "average": 4.6 }
}Reviews
/api/v1/reviews/publicPUBLICSubmit a review for a shop. Reviews are moderated before publishing.
Request Body
{
"domain": "myshop.com",
"rating": 5,
"title": "Great shop!",
"content": "Fast delivery and excellent customer service.",
"name": "Jan de Vries",
"email": "jan@example.com"
}Response
{ "reviewId": "clx..." }/api/v1/reviews/{reviewId}/helpfulPUBLICMark a review as helpful. Increments the helpful count.
Response
{ "helpfulCount": 42 }Webhooks
/api/v1/webhooks/woocommerceAPI KEYReceive WooCommerce order completions. Automatically creates a review invitation for the customer.
Request Body
{
"billing": {
"email": "customer@example.com",
"first_name": "Jan",
"last_name": "de Vries"
},
"number": "1234",
"status": "completed"
}Response
{
"ok": true,
"invitationId": "clx...",
"reviewUrl": "https://checkshop.eu/review/token..."
}/api/v1/webhooks/shopifyAPI KEYReceive Shopify webhooks (orders/paid, app/uninstalled, shop/update). Uses x-shopify-hmac-sha256 for verification.
Response
{ "ok": true }Error Codes
| Code | Description |
|---|---|
200 | Success |
400 | Bad request — missing or invalid parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — shop not active or plan too low |
404 | Not found — shop or resource doesn't exist |
409 | Conflict — duplicate entry (e.g. already reviewed) |
429 | Too many requests — rate limit exceeded |
500 | Server error — try again later |