IASME APIiasme.co.uk ↗
Search the IASME/NCSC registry for UK organisations holding current Cyber Essentials or Cyber Essentials Plus certificates. Returns company name, level, dates, and reference ID.
What is the IASME API?
The IASME Cyber Essentials Certificate API exposes 1 endpoint — search_certificates — that queries the official NCSC-backed certificate registry and returns up to 4 fields per record: company name, certificate level (Cyber Essentials or Cyber Essentials Plus), validity dates, and a reference ID. Use it to verify whether a UK organisation holds a current certification issued within the last 12 months.
curl -X GET 'https://api.parse.bot/scraper/689b3426-2c4a-4b93-86d7-baa4780eccd3/search_certificates?query=Microsoft' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace iasme-co-uk-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: IASME Cyber Essentials certificate search — bounded, re-runnable."""
from parse_apis.iasme_co_uk_api import IASME, InvalidInput
client = IASME()
# Search for certificates by company name; limit caps total items fetched.
for cert in client.certificates.search(query="Microsoft", limit=5):
print(cert.company_name, cert.certificate_level, cert.certification_date)
# Drill-down: take one result and inspect its details.
cert = client.certificates.search(query="Acme", limit=1).first()
if cert is not None:
print(f"{cert.company_name} — ref: {cert.certificate_reference}")
print(f" Valid: {cert.certification_date} to {cert.certification_expiry_date}")
# Handle invalid input gracefully.
try:
client.certificates.search(query="", limit=1).first()
except InvalidInput as e:
print(f"Invalid query: {e.message}")
print("exercised: certificates.search")
Search by company name or certificate reference number to find organisations holding a Cyber Essentials or Cyber Essentials Plus certificate issued in the last 12 months. Returns all matching certificates with company name, certificate level, dates, and reference ID. Each search solves an ALTCHA proof-of-work challenge and a Cloudflare Turnstile captcha, so latency is typically 5-15 seconds.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Company name or certificate reference number to search for. |
{
"type": "object",
"fields": {
"query": "The search term that was submitted",
"certificates": "Array of certificate records matching the query",
"total_results": "Number of certificates returned"
},
"sample": {
"data": {
"query": "Microsoft",
"certificates": [
{
"company_name": "Microsoft Corporation",
"certificate_level": "CE",
"certification_date": "27/10/2025",
"certificate_reference": "44e49ff0-ad34-4b85-8a98-ff97eaf497e6",
"certification_expiry_date": "27/10/2026"
},
{
"company_name": "Microsoft Corporation",
"certificate_level": "CE+",
"certification_date": "01/12/2025",
"certificate_reference": "f3b2bb69-15a2-4f5a-8184-2fa37b8963af",
"certification_expiry_date": "01/12/2026"
}
],
"total_results": 2
},
"status": "success"
}
}About the IASME API
What the API covers
The search_certificates endpoint searches the IASME registry, which is the official record of organisations that have passed the UK government's Cyber Essentials or Cyber Essentials Plus scheme within the last 12 months. Certificates older than 12 months are not listed, so every result returned is current at the time of the request.
Inputs and response shape
The only required parameter is query — a string containing either a company name or a known certificate reference number. A partial company name is accepted. The response returns query (the submitted search term), total_results (an integer count), and certificates (an array of matching records). Each record in the array includes the organisation name, the certificate level distinguishing between the baseline Cyber Essentials and the more rigorous Cyber Essentials Plus, issue and expiry dates, and the certificate reference ID.
Practical notes
Searches are scoped to the public IASME registry, which covers certifications issued by all IASME-accredited certification bodies. The registry does not expose contact details, company registration numbers, or the specific auditor who issued the certificate. Results reflect certifications active at query time; a certificate that expires or is revoked will no longer appear in results.
The IASME API is a managed, monitored endpoint for iasme.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when iasme.co.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official iasme.co.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Automated supplier due-diligence checks: verify a vendor holds a valid Cyber Essentials certificate before onboarding
- Procurement portals that need to display real-time certification status for shortlisted companies
- CRM enrichment pipelines that flag whether existing customers are currently certified
- Compliance dashboards that track whether partner organisations maintain year-on-year certification
- Security audit tooling that cross-references a company name against the registry as part of a wider risk score
- Market research tools counting how many organisations in a sector hold Cyber Essentials Plus versus the baseline level
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does IASME offer an official developer API for the certificate registry?+
What does the certificates array contain for each result?+
Does the registry include certificates older than 12 months?+
Can I filter results by certificate level — for example, return only Cyber Essentials Plus records?+
search_certificates endpoint does not currently accept a level filter; all matching certificates for the query term are returned regardless of level. The certificates array does include the level field on each record, so client-side filtering is straightforward. You can fork this API on Parse and revise it to add a server-side level filter parameter.Is there an endpoint to list all certified organisations without a specific search term?+
query string and returns only matching records. A bulk-export or full-registry-listing endpoint is not included. You can fork it on Parse and revise to add a browse or paginated listing endpoint if the underlying data supports it.