Skip to content

Shop check API

You send a shop address and get back the same check as on our website: verdict, trust score and the reasons behind it. That lets you build, for example, a warning before payment or a pre-check for support.

POST /api/check
{ "url": "https://beispiel-shop.example" }
200 OK
{
  "domain": "beispiel-shop.example",
  "score": 82,
  "verdict": "safe",
  "checkedAt": "2026-09-28T10:15:32.000Z",
  …
}

Shown on the websiteNo major warning

Fictional example with a made-up address (.example).

Your first API call

A single POST request to /api/check is all it takes. Without an API key, a free quota of 50 checks per day and IP address applies.

RequestPOST /api/check
curl -X POST "https://fakeshop.ai/api/check?lang=de" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: fsk_live_ihr_schluessel" \
  -d '{"url": "https://beispiel-shop.example"}'

Response200 OK

Point at a field name or tap it to see what the field contains.

{: "beispiel-shop.example",: 82,: "safe",: "shop",: true,: "2026-09-28T10:15:32.000Z",: { "level": 4, "label": "no findings" },: "high",: "fashion",: "none",: "Fictional example: no clear warning signs in the features checked.",: "Still pay with a method that offers buyer protection.",: [{: "tradeRegister",: "Commercial register",: "ok",: "positive",: ["The company from the legal notice is registered under the stated number."]},{: "domainAge",: "Domain age",: "ok",: "positive",: ["The domain has been registered for 47 months."],: { "ageMonths": 47 }}],: [{: "tradeRegister",: "Commercial register",: "ok",: "positive",: ["…"]}],: {"kind": "ai","text": "Automated assessment, partly generated with AI. No guarantee, not legal advice. Liability as set out in our terms of use.","aiInvolved": true,"regulation": "EU 2024/1689 Art. 50","termsUrl": "https://fakeshop.ai/en/nutzungsbedingungen","methodUrl": "https://fakeshop.ai/en/methodik#ki-einsatz"}}

verdictsafe | suspicious | danger | not_a_shop | unreachable

Overall assessment.

verdict is a code value. The website shows safe as “No major warning”. All values

Access and limits

  • 50

    Without a key

    50 checks per day and IP address, free

  • 100

    With a key

    1 credit per check, 100 credits per month are free

  • 20

    Short-term limit

    Independently of that, all requests are subject to a short-term limit of 20 checks per minute per IP address (status 429, too_many_requests).

  • JSON

    Format

    JSON over HTTPS, texts in German or English

Authentication with an API key

Authenticated requests send their key in the X-Api-Key header. Without a key, requests run anonymously through the IP-based quota. You create a key yourself in the developer portal. Accounts with an API key receive 100 free credits per month. For questions about larger volumes, reach us at [email protected].

Header
X-Api-Key: fsk_live_ihr_schluessel

We store keys only as a hash. A lost key therefore cannot be shown again. You delete it and create a new one. You can set a daily limit per key.

Quotas and limits

Without an API key, 50 checks per day and IP address are free. With a key, each check costs one credit. In addition, all requests are subject to a short-term limit of 20 checks per minute per IP address.

StatusError codeWhen
402insufficient_creditsThe credit balance is used up.
429quota_exceededThe keyless daily quota is used up. The Retry-After header gives the seconds until the reset at midnight UTC.
429too_many_requestsMore than 20 checks per minute per IP address.

Systematic scraping or abuse of the free quotas is prohibited and may lead to the IP address being blocked. For higher limits or production integrations, please contact us at [email protected].

What the verdict values mean

The verdict field always returns an English code value. Our website shows verdict words for it; safe appears as “No major warning”, never as “safe”. A code value is not a recommendation, it summarises the features checked as of the check date.

verdictShown on the website*Meaning
safeNo major warningNo substantiated warning signs in the features checked. Not a recommendation and not a guarantee.
suspiciousSuspiciousA mixed picture: some features count in the shop’s favour, others are missing or unclear.
dangerDangerSeveral serious warning signs or an entry on an evaluated warning list.
not_a_shopNot a shopThe address does not lead to an online shop. score is null.
unreachableNot verifiableThe site could not be reached. score is null.

Automated assessment, partly generated with AI. No guarantee, not legal advice. Liability as set out in our terms of use. How we check.

API reference

POST /api/check accepts these parameters.

ParameterLocationTypeRequiredDescription
urlBodystringYesThe shop or website URL to check.
checkTypeBodyshop | websiteNoCheck profile. Default is shop. website allows a credibility check when the URL is not an online shop.
forceBodybooleanNoForces a fresh check instead of a stored result. Stored results are reused for up to 7 or 90 days depending on the case.
langQueryde | enNoLanguage of the text fields (summary, recommendation, reasons). Alternatively via Accept-Language. Default is de.

Try it without a key

The two endpoints below are public. The button calls them from your browser and shows the response unchanged.

Recorded response from 3 October 2026 (not fetched yet)

200 OK
{
  "totalChecks": 79554,
  "fakeShopsDetected": 37513,
  "cleanShops": 42036,
  "checksToday": 0,
  "fakeQuota": 0.4715413429871534,
  "updatedAt": "2026-10-03T12:10:29.861Z"
}

Equivalent to this call: curl "https://fakeshop.ai/api/stats"

The numbers and domains in the live response change with our data. For fields and status codes, follow the reference above.

About the stats response: fakeQuota is fakeShopsDetected divided by totalChecks (0.47 equals 47%). checksToday counts the checks since UTC midnight, so the value is close to 0 shortly after midnight.

Credit prices

One credit equals one check. You buy credits once in the developer portal, without a subscription. Prices as of: 02/10/2026.

  • Starter

    100credits

    €4.90

    €0.049 per check

  • Standard

    1,000credits

    €24.00

    €0.024 per check

  • Pro

    5,000credits

    €89.00

    €0.018 per check

  • Business

    25,000credits

    €299.00

    €0.012 per check

Free: 100 credits per month with an account, 50 checks per day and IP without a key.

Further public endpoints

These endpoints need no key and cost no credits.

  • GET /api/warnlist
    Parameters

    limit (default 50, max 1000), offset

    Returns

    Domains on the warning list with category and check date

  • GET /api/fakeshops
    Parameters

    limit (default 50, max 200)

    Returns

    Listed shops (warning list or assessment Danger) with product category

  • GET /api/stats
    Parameters

    none

    Returns

    Totals: domains checked, shops listed, timestamp

  • GET /api/iban-check
    Parameters

    iban (max. 30 requests per minute and IP)

    Returns

    Whether there are approved reports for this IBAN, count, date of the first

A key for production use

You create the API key yourself in the developer portal. 100 credits per month are free. For higher volumes or questions, you can reach us at [email protected].

Go to developer portal