Link Safety Check
Checks the domain of a URL against the CERT Polska Warning List of malicious domains, whose licence allows commercial use, and reports whether the domain or a parent domain is listed and the date of the list.
- 1 credit per URL checked (a check that cannot run is free)
- Charged on every completed lookup
- Cached 1 day
1 credit per URL checked (a check that cannot run is free)
Charged on every completed lookup. A repeat inside 1 day is free.
Every LookValid product draws on one shared balance. See pricing.
From key to answer in three steps
One key, one POST to /v1/link-safety and a JSON answer back. The same three steps work in any language that can send HTTPS.
- 01
Create a key
Sign up and copy a key from the dashboard. The same key works for every LookValid product and for the MCP server.
Terminal export LOOKVALID_API_KEY="lv_live_..." - 02
Send the request
POST a JSON body to /v1/link-safety. 1 credit per URL checked (a check that cannot run is free).
request.sh curl -X POST https://YOUR_API_HOST/v1/link-safety \ -H "Authorization: Bearer $LOOKVALID_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com"}' - 03
Read the answer
A real run of this lookup on 2026-10-18. The data object has 7 named fields.
response.json { "product": "link-safety", "found": true, "data": { "url": "https://example.com/", "host": "example.com", "verdict": "not_listed", "matches": [], "feeds_checked": [ { "id": "cert-pl-warning-list", "name": "CERT Polska Warning List of malicious domains", "data_date": "2026-10-18T03:00:12.000Z", "matched": false, "licence": "Free for any purpose including commercial use (CERT Polska), no attribution required" ...
A structured answer, not a page of text
The data object has 7 named fields. Every response also lists the sources behind the result, the credits charged and whether it was served from your cache.
Fields returned in data by Link Safety Check Field Type url string host string verdict "listed" | "not_listed" matches array of object feeds_checked array of object And 2 more fields in the API reference.
Named fields. A URL on no list is not proof it is safe: the list only holds domains that have already been reported, and it checks the domain, not the page.
- Your requestone API key
- Your cache1 dayRepeat: 0 credits
- Data sourcefirst lookupCharged: 1 credit
- ResultJSON
A repeat lookup is free. Results are cached per account for 1 day. Ask the same question again inside that window and the response comes back with
cache_hit: trueand no charge.Terminal # Sent with every request, for every product Authorization: Bearer $LOOKVALID_API_KEYOne key for your code and your agents. Send your API key as a Bearer token. The same key and the same credit balance cover every other LookValid product. AI agents can call it as a tool on the MCP server at
https://YOUR_API_HOST/v1/mcp.
7
named fields in every answer
1
day a repeat lookup is free
14
lookups on the same key and balance
Latest from the changelog
All changesPriced in credits
Every LookValid product draws on one shared balance. Link Safety Check uses 1 credit per URL checked (a check that cannot run is free).
Cost
1credit
Per URL checked (a check that cannot run is free)
- Completed lookup, found or not1 credit
- Repeat inside 1 day0 credits
- Errors and invalid requests0 credits
Questions about Link Safety Check
01How much does Link Safety Check cost?
1 credit per URL checked (a check that cannot run is free). Credits come out of the one balance shared by every LookValid product.
02Am I charged when nothing is found?
Yes. This product charges every completed lookup, whether or not it finds something. Errors and invalid requests are not charged.
03How long are results cached?
For 1 day, per account. Repeating the same lookup inside that window returns cache_hit: true and costs 0 credits.
04Which API key do I use?
The same key as every other product. Send it as a Bearer token in the Authorization header. Email hello@lookvalid.com and we set up your account and send the key.