DataCore

One API platform for search, AI web access, e-commerce intelligence, jobs and SEO data. Six specialized product APIs, one client key, zero infrastructure β€” every request rendered in a real browser engine with built-in WAF and JS-challenge handling.

16 Product APIs Β· 72 Endpoints POST JSON Β· Get JSON Agent Web Access JS-Challenge Handling

Features

Everything you need to feed clean web data to agents, pipelines and dashboards

πŸ€–

Built for AI Agents & RAG

Dedicated markdown output, structured metadata and page snapshots sized for LLM context windows. Stop parsing HTML β€” start feeding tokens.

πŸ›‘οΈ

WAF & JS-Challenge Handling

An advanced rendering engine executes JavaScript and works through anti-bot front-ends, so hard targets return real content instead of block pages.

🧩

Structured by Default

Products, jobs, real-estate listings and company profiles come back as typed JSON fields extracted from structured data β€” with smart fallbacks when it is missing.

πŸ“ˆ

Change Intelligence

Content hashing per URL tells you what changed since the last call. Perfect for competitive monitoring, price watches and archival alerts.

⚑

One Simple Contract

Every endpoint is POST with the same JSON body: clientKey, url, optional maxTimeout. Every response reports success, http_status and elapsed_ms.

πŸš€

Gateway or Direct

Call it directly with your clientKey, or through a marketplace gateway using a proxy-secret header. Same payloads, same responses, either way.

Quick Start

Fetch LLM-ready markdown from any URL in under a minute

πŸ’‘ Every data endpoint lives at https://data.dataleads.pro and accepts POST with a JSON body. The only required fields are clientKey and url.
curl -X POST https://data.dataleads.pro/v1/markdown \
  -H 'Content-Type: application/json' \
  -d '{
    "clientKey": "YOUR_CLIENT_KEY",
    "url": "https://example.com/article",
    "maxTimeout": 60000
  }'
import requests

resp = requests.post(
    "https://data.dataleads.pro/v1/markdown",
    json={
        "clientKey": "YOUR_CLIENT_KEY",
        "url": "https://example.com/article",
        "maxTimeout": 60000,
    },
    timeout=130,
)
data = resp.json()
if data["success"]:
    print(data["markdown"][:500])
else:
    print("Failed:", resp.status_code, data)
const resp = await fetch("https://data.dataleads.pro/v1/markdown", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    clientKey: process.env.DATACORE_KEY,
    url: "https://example.com/article",
    maxTimeout: 60000,
  }),
});
const data = await resp.json();
if (data.success) console.log(data.markdown.slice(0, 500));
else console.error("Failed:", resp.status, data);
<?php
$ch = curl_init('https://data.dataleads.pro/v1/markdown');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode([
        'clientKey' => getenv('DATACORE_KEY'),
        'url'       => 'https://example.com/article',
        'maxTimeout'=> 60000,
    ]),
]);
$data = json_decode(curl_exec($ch), true);
if (!empty($data['success'])) {
    echo substr($data['markdown'], 0, 500);
}
payload := []byte(`{
  "clientKey": "YOUR_CLIENT_KEY",
  "url": "https://example.com/article",
  "maxTimeout": 60000
}`)

resp, err := http.Post(
    "https://data.dataleads.pro/v1/markdown",
    "application/json", bytes.NewBuffer(payload))
if err != nil { log.Fatal(err) }
defer resp.Body.Close()

var data map[string]any
json.NewDecoder(resp.Body).Decode(&data)
if data["success"] == true {
    fmt.Println(data["markdown"])
}

Pricing β€” Lowest in the Market

Every plan includes every product API β€” no per-feature gating.

PlanPriceRequests/monthBest for
Free$0500Trying the APIs
Starter$9/mo5,000Solo builders
Pro$29/mo25,000Production workloads
Business$99/mo100,000Agencies and platforms
EnterpriseCustomUnlimitedDedicated infrastructure
πŸ“Š Published benchmarks (measured on the live service): SERP 10 results in ~0.4s Β· LinkedIn 63 jobs in <1s Β· Maps 34 real leads in ~2.5min Β· Turnstile 3/3 solved, 18.2s median end-to-end

Getting Access

Two ways to authenticate β€” pick whichever matches your setup

πŸ”‘

Direct API Access

Pass your clientKey in the JSON body of every request. Works from any language, any runtime, any network.

{ "clientKey": "dcore_live_xxx", "url": "https://example.com" }
🏬

Marketplace Gateway

Access via a marketplace gateway using an X-RapidAPI-Proxy-Secret header instead of the clientKey. Ideal if you subscribe through an API marketplace.

X-RapidAPI-Proxy-Secret: YOUR_PROXY_SECRET
⚠️ Keep clientKey server-side. Exposing it in frontend code lets anyone spend your quota.

API Endpoints

All data endpoints are POST with a shared JSON body β€” only the path changes

πŸ“¦ Shared request body β€” every /v1/* endpoint accepts: clientKey (string, required) Β· url (string, required) Β· maxTimeout (int, optional, 5000–120000 ms, default 60000).
POST /v1/fetch Agent Web Access API

Full-page fetch returning complete HTML plus extracted metadata, cookies and the user-agent the page actually saw. Use when you need raw HTML for parsing, archiving or custom extraction.

FieldTypeDescription
successboolTrue when the fetch succeeded
urlstringFinal URL after any redirects
http_statusintHTTP status code of the target
metadataobjecttitle, description, og_title, og_image, language, canonical, links[], html_bytes
htmlstringFull rendered HTML of the page
cookiesarrayCookies set during rendering
user_agentstringUser-agent used for the fetch
elapsed_msintTotal processing time in milliseconds
Response
{
  "success": true,
  "url": "https://example.com/article",
  "http_status": 200,
  "metadata": {
    "title": "Example Article",
    "description": "An example page",
    "og_title": "Example Article",
    "og_image": "https://example.com/og.png",
    "language": "en",
    "canonical": "https://example.com/article",
    "links": ["https://example.com/", "https://example.com/about"],
    "html_bytes": 84213
  },
  "html": "<!DOCTYPE html>...",
  "cookies": [{ "name": "session", "value": "..." }],
  "user_agent": "Mozilla/5.0 ...",
  "elapsed_ms": 2381
}
POST /v1/markdown Research-Web API for LLMs

Converts any URL into clean, LLM-ready markdown β€” navigation chrome stripped, content preserved. The workhorse for RAG ingestion, agent browsing and dataset building. Optional include_links (bool, default true) controls whether links are kept in the output.

FieldTypeDescription
successboolTrue when conversion succeeded
title / description / languagestringPage metadata
markdownstringClean markdown of the main content
markdown_charsintCharacter count of the markdown β€” handy for token budgeting
elapsed_msintTotal processing time
Response
{
  "success": true,
  "url": "https://example.com/article",
  "http_status": 200,
  "title": "Example Article",
  "description": "An example page",
  "language": "en",
  "markdown": "# Example Article\n\nLorem ipsum dolor sit amet...",
  "markdown_chars": 4812,
  "elapsed_ms": 1910
}
POST /v1/extract Agent Web Access API

Structured metadata only β€” everything except the HTML body. Cheaper and faster than a full fetch when you just need titles, canonical URLs, OpenGraph data, language and outbound links.

FieldTypeDescription
title, description, og_title, og_imagestringCore page metadata
languagestringDetected page language (BCP-47)
canonicalstringCanonical URL if declared
links[]arrayAll links found on the page
html_bytesintSize of the underlying HTML
Response
{
  "success": true,
  "url": "https://example.com",
  "http_status": 200,
  "title": "Example Domain",
  "description": "An example domain",
  "og_title": null,
  "og_image": null,
  "language": "en",
  "canonical": "https://example.com/",
  "links": ["https://www.iana.org/domains/example"],
  "html_bytes": 1256,
  "elapsed_ms": 1102
}
POST /v1/product Universal Commerce Data API

E-commerce product extraction driven by structured data, with heuristic fallbacks when a shop ships incomplete markup. Point it at any product URL to get name, price, currency, stock and images β€” the core of any pricing-intelligence pipeline.

FieldTypeDescription
namestringProduct name
price / currencystringCurrent price and ISO currency code
stockstringAvailability as reported by the page
images[]arrayProduct image URLs
sourcestringstructured-data or best-effort
Response
{
  "success": true,
  "url": "https://shop.example.com/product/12345",
  "http_status": 200,
  "name": "Aero Runner Sneaker",
  "price": "129.99",
  "currency": "EUR",
  "stock": "InStock",
  "images": ["https://shop.example.com/img/12345_1.jpg"],
  "source": "structured-data",
  "elapsed_ms": 2450
}
POST /v1/diff Web Change Intelligence

Content change detection. Each call computes a content hash for the URL and compares it against the previous call for that same URL. The first call for a URL establishes the baseline and returns changed=false.

FieldTypeDescription
changedboolWhether content changed since the previous call
previous_snapshotstringHash of the previous snapshot
current_hashstringHash of the current content
current_text_charsintVisible text length of the current page
text_previewstringShort text preview of the current content
Response
{
  "success": true,
  "url": "https://example.com/pricing",
  "http_status": 200,
  "changed": true,
  "previous_snapshot": "a1b2c3d4...",
  "current_hash": "e5f6a7b8...",
  "current_text_chars": 3041,
  "text_preview": "Pricing β€” Starter $29 ...",
  "elapsed_ms": 1720
}
POST /v1/tech Website Technology Intelligence

Detects the technology stack behind any website using 25+ signatures across CMS platforms, frameworks, analytics, payments and chat widgets. Ideal for sales prospecting, market research and technical due diligence.

FieldTypeDescription
technologies[]arrayDetected technologies by name and category
generator_meta[]arrayValues of meta generator tags found on the page
Response
{
  "success": true,
  "url": "https://shop.example.com",
  "http_status": 200,
  "technologies": [
    { "name": "Shopify", "category": "ecommerce" },
    { "name": "Google Analytics", "category": "analytics" },
    { "name": "Stripe", "category": "payments" },
    { "name": "Intercom", "category": "chat" }
  ],
  "generator_meta": ["Shopify"],
  "elapsed_ms": 2054
}
POST /v1/company Company Signals API

Builds a company profile straight from its website: name, description, contact emails, social profiles, detected technologies and external links. One call replaces a manual crawl for lead enrichment and sales research.

FieldTypeDescription
company_namestringBest-guess company name from the site
descriptionstringCompany description from meta or body copy
emails[]arrayContact emails found on the site
social_profiles[]arrayLinkedIn, Twitter/X, Facebook, Instagram, YouTube and similar links
technologies[]arrayDetected stack (same engine as /v1/tech)
external_links[]arrayOutbound links to other domains
Response
{
  "success": true,
  "url": "https://example-company.com",
  "http_status": 200,
  "company_name": "Example Company",
  "description": "We build great things",
  "emails": ["hello@example-company.com"],
  "social_profiles": ["https://www.linkedin.com/company/example-company"],
  "technologies": [{ "name": "React", "category": "framework" }],
  "external_links": ["https://partner.example.org"],
  "elapsed_ms": 3120
}
POST /v1/jobs Job Market Intelligence API

Detects job openings on any careers page using JobPosting structured data first, then a career-link scan as fallback. Useful for hiring signals, investor diligence and lead scoring by headcount growth.

FieldTypeDescription
jobs_foundintNumber of job postings detected
jobs[]arraytitle, organisation, date_posted, location, salary
job_link_countintCount of career-related links found
sourcestringstructured-data or link-scan
Response
{
  "success": true,
  "url": "https://example-company.com/careers",
  "http_status": 200,
  "jobs_found": 2,
  "jobs": [
    {
      "title": "Senior Backend Engineer",
      "organisation": "Example Company",
      "date_posted": "2026-08-14",
      "location": "Remote β€” EU",
      "salary": "€80k – €100k"
    },
    {
      "title": "Product Designer",
      "organisation": "Example Company",
      "date_posted": "2026-08-02",
      "location": "Chicago, IL",
      "salary": null
    }
  ],
  "job_link_count": 5,
  "source": "structured-data",
  "elapsed_ms": 2890
}
POST /v1/realestate Real-Estate Data Graph

Extracts property listings from RealEstateListing, Apartment and House structured data, with a price/beds/baths pattern fallback for sites that lack markup. Feed portals, valuation models and market analytics with normalized listing data.

FieldTypeDescription
listings[]arrayname, address, price, currency, beds, baths
sourcestringstructured-data or pattern
Response
{
  "success": true,
  "url": "https://realestate.example.com/listings",
  "http_status": 200,
  "listings": [
    {
      "name": "Sunny 2-Bed Apartment",
      "address": "1204 Example Street, Austin",
      "price": "325000",
      "currency": "USD",
      "beds": 2,
      "baths": 1
    }
  ],
  "source": "structured-data",
  "elapsed_ms": 2650
}
GET /health Β· /v1/usage Β· /docs Β· /openapi.json Utilities

Operational endpoints, no request body needed.

EndpointDescription
GET /healthService heartbeat β€” returns status and engine
GET /v1/usagePer-key call counts for your clientKey
GET /docsInteractive Swagger UI (live OpenAPI spec)
GET /openapi.jsonMachine-readable OpenAPI 3.0 specification
Example β€” GET /health
{
  "status": "ok",
  "engine": "advanced rendering engine"
}

Product Mapping

72 endpoints across 16 product APIs β€” one platform for search, AI web access, e-commerce intelligence, jobs and SEO data

EndpointProductWho it is for
/v1/fetch
/v1/markdown
Agent Web Access API Β· Research-Web API for LLMs AI SaaS teams building agents, RAG pipelines and LLM research tools that need clean tokens instead of raw HTML.
/v1/product Universal Commerce Data API Β· Pricing Intelligence E-commerce brands and price-monitoring tools tracking competitor catalogs and MAP compliance.
/v1/diff Web Change Intelligence Β· Competitive Intelligence Growth and strategy teams watching pricing pages, docs, press releases and competitor moves.
/v1/tech Website Technology Intelligence Sales teams and market researchers profiling prospect tech stacks for targeting and enrichment.
/v1/company Company Signals API RevOps and GTM engineers enriching CRM records with emails, socials and stack data straight from company websites.
/v1/jobs Job Market Intelligence API Investors and recruiters tracking hiring signals and headcount growth as a company-health indicator.
/v1/realestate Real-Estate Data Graph Proptech platforms and analysts aggregating listings into valuation and market analytics.

Endpoint Catalog

All 72 endpoints β€” every capability of the DataCore platform at a glance

Category Endpoint Purpose Status
WebPOST /v1/fetchFull HTML + metadata + cookiesβœ… Live
POST /v1/markdownLLM-ready Markdown extractionβœ… Live
POST /v1/extractStructured metadata onlyβœ… Live
POST /v1/web/crawlMulti-page same-origin crawl (2–10 pages)βœ… Live
POST /web/scrape Β· /web/render Β· /web/markdownFriendly aliasesβœ… Live
SearchPOST /v1/google/searchWeb search results (title + URL)βœ… Live
POST /v1/google/newsNews search resultsβœ… Live
POST /v1/google/localLocal business resultsβœ… Live
CommercePOST /v1/productAny product page β†’ name, price, stockβœ… Live
POST /v1/amazon/searchAmazon search results (ASIN, title, price)βœ… Live
POST /v1/amazon/productAmazon product detail extractionβœ… Live
POST /v1/price/trackPrice snapshot + change detectionβœ… Live
IntelligencePOST /v1/techWebsite technology detection (25+ signatures)βœ… Live
POST /v1/companyCompany profile: emails, socials, techβœ… Live
POST /v1/diffPage content change detectionβœ… Live
JobsPOST /v1/jobsJob postings from any careers pageβœ… Live
POST /v1/jobs/indeedIndeed job searchβœ… Live
POST /v1/jobs/linkedinLinkedIn public job searchβœ… Live
Real EstatePOST /v1/realestateProperty listings: price, beds, bathsβœ… Live
SEOPOST /v1/seo/auditOn-page audit: 17 checks, 0-100 score + gradeβœ… Live
POST /v1/seo/contentContent analysis: readability, keyword density, outlineβœ… Live
POST /v1/keywords/ideasKeyword suggestions (+ alphabet expansion)βœ… Live
POST /v1/keywords/questionsQuestion keywords (PAA + autocomplete)βœ… Live
POST /v1/domain/overviewDomain intelligence: RDAP registrar/dates, tech, robots, auditβœ… Live
Rank TrackingPOST /v1/rank/checkOne-shot SERP position check (1-25 keywords)βœ… Live
POST /v1/rank/trackers/createCreate scheduled tracker (1-50 keywords, max 10 per key)βœ… Live
POST /v1/rank/trackers/listList your trackers with latest positionsβœ… Live
POST /v1/rank/trackers/resultsPosition history + latest + delta per keywordβœ… Live
POST /v1/rank/trackers/check-nowRecheck a tracker on demandβœ… Live
POST /v1/rank/trackers/deleteDeactivate a trackerβœ… Live
POST /v1/rank/cronScheduler endpoint (gateway-auth only)βœ… Live
Maps LeadsPOST /v1/maps/searchSubmit Google Maps search job (query or URL, depth 1-10, optional email extraction)βœ… Live
POST /v1/maps/statusPoll job statusβœ… Live
POST /v1/maps/resultsStructured leads: name, phone, website, rating, reviews, hours, coordsβœ… Live
POST /v1/maps/jobsList your Maps jobsβœ… Live
POST /v1/maps/jobs/deleteDelete a job and its leadsβœ… Live
YouTube DataPOST /v1/youtube/transcriptFetch a video transcript (text, start, duration β€” up to 5000 snippets)βœ… Live
POST /v1/youtube/searchSearch YouTube videos (videoId + title, up to 20)βœ… Live
POST /v1/youtube/channelList a channel's videos (videoId + title, up to 50)βœ… Live
App IntelligencePOST /v1/app/gplay/detailsGoogle Play app details (title, developer, score, installs, price, genre…)βœ… Live
POST /v1/app/gplay/reviewsGoogle Play user reviews (normalized, up to 200)βœ… Live
POST /v1/app/apple/searchApp Store search via iTunes API (normalized results)βœ… Live
POST /v1/app/apple/detailsApp Store app details by trackId or search termβœ… Live
POST /v1/app/apple/reviewsApp Store customer reviews via RSS (paged, up to 5 pages)βœ… Live
Identity IntelligencePOST /v1/osint/usernameUsername scan across up to 150 social sites (found site + profile URL)βœ… Live
Airbnb MarketPOST /v1/airbnb/searchAirbnb stays search (name, roomId, price, rating, coords, url)βœ… Live
POST /v1/airbnb/detailsAirbnb listing details by roomId (type, capacity, rating, host)βœ… Live
POST /v1/airbnb/calendarAvailability calendar per day (available + price, 90-day cap)βœ… Live
Jobs Multi-BoardPOST /v1/jobs/multiMulti-board job search (indeed, linkedin, glassdoor, zip_recruiter, google, bayt, naukri)βœ… Live
Ad IntelligencePOST /v1/ads/google/suggestionsAdvertiser suggestions for a keyword (name, advertiserId, region β€” up to 20)βœ… Live
POST /v1/ads/google/advertiserList an advertiser's ad creatives (creative IDs, up to 100 β€” every creative seen is snapshotted)βœ… Live
POST /v1/ads/google/creativeFull creative detail (format, last shown date, link, body, title, image/video URL)βœ… Live
POST /v1/ads/google/advertiser/historyCreative history per advertiser (first seen, last seen, times seen, days running)βœ… Live
Monitoring & ExtractionPOST /v1/track/registerRegister any URL for snapshot monitoring (price, tech, content, jobs, pricing) β€” fetches now and stores the first snapshotβœ… Live
POST /v1/track/checkRe-check a tracked URL β€” sha256 change detection with previous/current values, first/last seen, times seenβœ… Live
POST /v1/track/historySnapshot history per tracked URL (value hash, last value, days tracked)βœ… Live
POST /v1/website-to-jsonExtract structured JSON from any page via a schema of CSS selectors / text / html / @attr specs β€” missing fields reportedβœ… Live
POST /v1/saas/pricingHeuristic SaaS pricing extraction (JSON-LD offers + plan cards: name, priceMonthly/Yearly, currency, features, highlighted)βœ… Live
POST /v1/tenders/searchPublic procurement search across TED (EU), Contracts Finder (UK) and SAM.gov (US) β€” title, buyer, dates, value, source URLβœ… Live
POST /v1/news/articleArticle extraction: title, author/byline, publish date, clean text with word count, top imageβœ… Live
POST /v1/ai/modelsCurated AI model catalog (vendor, input/output price per 1k, context window, capabilities) β€” seeded on first callβœ… Live
POST /v1/ai/models/refreshRe-scrape vendor pricing pages (OpenAI, Anthropic, Google) to update the model catalog β€” per-vendor parsed countsβœ… Live
POST /v1/company/signalsAggregated company signals: tech stack, profile emails/socials, jobs count, tracked change events, last checkedβœ… Live
Browser AgentPOST /v1/browseOne-shot agentic fetch: launch Chromium, navigate, execute an ordered action list (click/type/scroll/wait/press), return final HTML + markdown + title + final URLβœ… Live
POST /v1/session/createOpen a persistent browser session (own Chromium context + page) with an inactivity TTL β€” returns a sessionId for follow-up callsβœ… Live
POST /v1/interactExecute actions inside a live session (click/type/scroll/wait/press, up to 50 per call) and extract html / markdown / text / title β€” cookies and state carry overβœ… Live
POST /v1/screenshotPNG capture of a live session page or a one-shot URL β€” full-page option; consume via returned downloadUrl (GET, image/png) or inline base64 dataUrlβœ… Live
POST /v1/session/listList your browser sessions with status, created, last used, TTL and pages visitedβœ… Live
POST /v1/session/deleteClose a session's browser and mark it deleted β€” ownership-checkedβœ… Live
POST /v1/captcha/solveIn-house CaptchaFlow auto-solve: one-shot browser visit, widget detection (reCAPTCHA v2/v3, hCaptcha, Turnstile) + solve + token injection β€” or use the solvecaptcha action inside /v1/browse and /v1/interactβœ… Live
UtilityGET /health Β· GET /v1/usageService status and usage statsβœ… Live

All endpoints accept POST with JSON {"clientKey": "...", "url": "..."} (search endpoints take query). Every response includes success, elapsed_ms, and endpoint-specific fields. All requests are rendered through a full browser engine with WAF and JS-challenge handling.

Error Reference

Predictable error semantics β€” know exactly what went wrong and what to do next

401 Invalid clientKey

{ "detail": "Invalid clientKey" }

Authentication failed. Check the clientKey in the JSON body, or the X-RapidAPI-Proxy-Secret header if you are calling through the marketplace gateway. Keys are environment-specific β€” do not mix sandbox and production keys.

502 Fetch failed

{ "detail": "Fetch failed: ..." }

The target site was unreachable, blocked the request or did not respond in time. Retry with a higher maxTimeout, verify the URL, or treat the target as temporarily unavailable. These errors are safe to retry with backoff.

βœ… Every successful response also carries success: true, the final url, http_status of the target and elapsed_ms timing.

Developer Tools

Official CLI and MCP server β€” free, open source, ships with every plan

⌨️ DataCore CLI pip

Every endpoint from your terminal.

pip install datacore-cli.tar.gz
        
npm: npm install -g datacore-cli-0.1.0.tgz
export DATACORE_KEY=your-key
datacore search "laptops" --country US
datacore markdown https://example.com
⬇️ Download datacore-cli.tar.gz

πŸ€– DataCore MCP for Claude & LLMs

Model Context Protocol server β€” let Claude, Cursor and agents call this API natively.

pip install datacore-mcp.tar.gz
        
npm: npm install -g datacore-mcp-0.1.0.tgz
// Claude Desktop config
{"mcpServers": {"datacore cli-mcp": {"command": "python",
  "args": ["-m", "datacore_mcp.server"],
  "env": {"DATACORE_KEY": "your-key"}}}}}
⬇️ Download datacore-mcp.tar.gz

Base URL: https://data.dataleads.pro Β· MIT licensed, source included in each tarball.

Interactive Try-It

Send a live request from your browser β€” data goes straight from your machine to the API

Fill in a client key, pick an endpoint, and send a live request.