Base URL https://api.cloudenci.com

API Reference

The Cloudenci API gives you programmatic access to real-time SERP data, structured page analysis and Googlebot rendering. All endpoints return JSON and use standard HTTP semantics.

The API is versioned under /v1. Future breaking changes will increment the version prefix.

Authentication

Authenticate by passing your API key in the Authorization header as a Bearer token. You can find and rotate your API keys in the dashboard.

Authentication header
Authorization: Bearer cld_sk_your_api_key_here

Quickstart

Make your first API call to retrieve live SERP data:

cURL
curl "https://api.cloudenci.com/v1/serp?keyword=best+vpn&country=US" \
  -H "Authorization: Bearer YOUR_API_KEY"

Errors

Cloudenci uses standard HTTP status codes. Error responses include a machine-readable code and a human-readable message.

Status Meaning
200Success
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key
429Rate limit exceeded
500Internal error — we've been notified automatically
GET /v1/serp

Returns structured search result data for a given keyword and country. Results include organic listings, paid ads, featured snippets and rich results where present.

Query parameters

ParameterTypeRequiredDescription
keywordstringYesThe search query to retrieve results for.
countrystringNoISO 3166-1 alpha-2 country code. Default: US
resultsintegerNoNumber of results to return (10–100). Default: 10
languagestringNoISO 639-1 language code. Default: en

Request

GET /v1/serp
curl "https://api.cloudenci.com/v1/serp?keyword=headless+cms&country=US&results=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

200 OK
{
  "keyword": "headless cms",
  "country": "US",
  "language": "en",
  "fetched_at": "2025-03-14T09:22:18Z",
  "total_results_estimate": 2140000000,
  "results": [
    {
      "position": 1,
      "type": "organic",
      "title": "Contentful — The Leading Headless CMS Platform",
      "url": "https://www.contentful.com",
      "domain": "contentful.com",
      "snippet": "The leading headless CMS platform. Deliver content across...",
      "domain_authority": 93
    }
  ]
}
GET /v1/page-analysis

Extracts the full structure of any URL — headings, meta tags, schema markup, internal links, word count and content metadata.

Query parameters

ParameterTypeRequiredDescription
urlstringYesThe fully-qualified URL to analyze (must include https://).
include_linksbooleanNoInclude internal and external link list. Default: false

Request

GET /v1/page-analysis
curl "https://api.cloudenci.com/v1/page-analysis?url=https://contentful.com&include_links=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

200 OK
{
  "url": "https://contentful.com",
  "fetched_at": "2025-03-14T09:22:18Z",
  "title": "The Leading Headless CMS Platform | Contentful",
  "meta_description": "Contentful is the leading headless CMS...",
  "word_count": 2840,
  "headings": [
    { "level": "h1", "text": "The Leading Headless CMS Platform" },
    { "level": "h2", "text": "API-first content infrastructure" }
  ],
  "schema_types": ["Organization", "SoftwareApplication"],
  "canonical": "https://www.contentful.com/"
}
GET /v1/googlebot-fetch

Renders any URL using a headless Chromium browser with the Googlebot Smartphone user agent. Returns the fully rendered HTML, resource load data and indexability status.

Query parameters

ParameterTypeRequiredDescription
urlstringYesThe fully-qualified URL to render.
screenshotbooleanNoInclude a base64-encoded screenshot. Default: false

Request

GET /v1/googlebot-fetch
curl "https://api.cloudenci.com/v1/googlebot-fetch?url=https://nextjs.org" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

200 OK
{
  "url": "https://nextjs.org",
  "fetched_at": "2025-03-14T09:24:11Z",
  "indexable": true,
  "noindex": false,
  "raw_html_size_bytes": 12700,
  "rendered_html_size_bytes": 96200,
  "render_time_ms": 1842,
  "js_rendered": true,
  "resources_blocked": [],
  "rendered_html": "<!DOCTYPE html>..."
}

Node.js SDK

Official SDKs are in development and will be available at early access launch. For now, use the REST API directly with any HTTP client.

Node.js · fetch
const response = await fetch(
  `https://api.cloudenci.com/v1/serp?keyword=best+vpn&country=US`,
  { headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const data = await response.json();

Python SDK

Python · requests
import requests

response = requests.get(
    "https://api.cloudenci.com/v1/serp",
    params={"keyword": "best vpn", "country": "US"},
    headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()

Ready to start building?

Join the waitlist to get API access when we launch.

Get Early Access