What you get#
Onekey exposes Web pages as 25 endpoints behind one API key: 13 endpoints return one record (data is an object) and 12 endpoints return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for Web pages also works for the rest of the web tools category.
Endpoints#
| Endpoint | What it does | Parameters | Credits | Status |
|---|---|---|---|---|
article | Article extraction: title, byline, date, markdown and plain text, reading time. | url* | 5 | stable |
contacts | Public contact points on a page: emails, phone numbers, social profile links. | url* | 3 | stable |
extract | Structured data extracted from a web page by instruction (JSON object). | url*, prompt* | 12 | beta needs a pack |
favicon | Best favicon/app icon of a site plus every declared icon. | url* | 2 | stable |
feed | Parse an RSS 2.0/RSS 1.0/Atom/JSON Feed URL into normalized items. | url* | 3 | stable |
feeds | Discover RSS/Atom/JSON feeds advertised by a page. | url* | 2 | stable |
headers | HTTP status, response headers (cookie values redacted) and redirect chain of a URL. | url* | 2 | stable |
headings | Heading outline (h1-h6) of a page. | url* | 2 | stable |
images | Images on a page (img, srcset, picture, og:image) with alt text and dimensions. | url* | 3 | stable |
jsonld | JSON-LD structured data blocks (schema.org) of a page. | url* | 3 | stable |
links | All links on a page with anchor text, internal/external and nofollow flags. | url* | 3 | stable |
markdown | Main content of a page as clean markdown (readability-style). | url* | 2 | stable |
metadata | Page metadata: title, description, canonical, language, OpenGraph, Twitter cards, favicon. | url* | 2 | stable |
microdata | HTML microdata (itemscope/itemprop) items of a page. | url* | 3 | stable |
opengraph | OpenGraph and Twitter card tags of a page. | url* | 2 | stable |
redirects | Redirect chain of a URL, hop by hop (status and Location). | url* | 2 | stable |
robots | Parse a site's robots.txt: groups, allow/disallow rules, crawl-delay, sitemaps. | url* | 1 | stable |
security_headers | Security header audit (HSTS, CSP, X-Frame-Options, ...) with score and grade. | url* | 2 | stable |
sitemap | Parse an XML/gzip/text sitemap or sitemap index into URL entries. | url* | 2 | stable |
social_links | Social network profile links found on a page. | url* | 2 | stable |
ssl_cert | TLS certificate of a host: issuer, validity window, SANs, protocol, verification result. | url* | 2 | stable |
tables | HTML tables of a page as headers + rows. | url* | 3 | stable |
techstack | Technology detection from response headers, meta tags, scripts and markup (CMS, framework, CDN, analytics). | url* | 3 | stable |
text | Main content of a page as plain text (readability-style). | url* | 5 | stable |
unlocked_markdown | Markdown of a page that is hard to reach from ordinary servers. | url* | 8 | beta needs a pack |
A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.
Make a request#
This calls web.robots (1 credit, stable). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.
curl "https://api.onekey.dev/v1/web/robots?url=https%3A%2F%2Fwww.python.org%2F" \
-H "x-api-key: YOUR_API_KEY"Fields you get back#
These unified fields come back from Web pages, with the same names as on every other platform. The count is how many of its 25 mapped endpoints return the field; a field the source lacks is null, never missing. 82 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.
| Field | Type | Endpoints |
|---|---|---|
content.url | URL | 13 |
content.title | string | 12 |
content.text | string | 9 |
entity.name | string | 9 |
media.url | URL | 8 |
content.createdAt | ISO 8601 date | 6 |
content.language | string | 6 |
entity.url | URL | 6 |
author.displayName | string | 5 |
entity.type | string | 5 |
entity.tags | list of strings | 2 |
entity.updatedAt | ISO 8601 date | 2 |
author.username | string | 1 |
content.id | string | 1 |
entity.category | string | 1 |
entity.location | string | 1 |
entity.stats.score | number | 1 |
The full schema is in Unified schema.
Pricing#
Web pages calls cost 1 to 12 credits, flat per endpoint. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.