apyhub
DATA EXTRACTION · DEVELOPER TOOLS

Web Scraping API

What it does

URL Scraper lets you send a URL and get back structured page data from the target page. It returns the original url, a UTC timestamp for when the scrape ran, and a scraped_data object with the page title, links, header metadata, meta tags, Open Graph fields, rendered HTML content, Markdown content, detected language, extracted content blocks, lists, and keyword phrases.

Use it when you need a fast read of a web page without building your own crawler. The links object separates internal and external URLs, which is useful for site audits and link discovery. headers captures document-level metadata such as charset, viewport, canonical, csrfToken, and contentType, while meta_tags and open_graph expose common SEO and sharing fields. content_html and content_markdown give you the page body in machine-friendly formats.

URL Scraper is a good fit for search indexing, competitive analysis, content monitoring, and internal tooling that needs to extract page structure from a single web page. If you are auditing landing pages, collecting title and description data, or building a page intelligence workflow, this endpoint gives you the core fields in one response.

GET
Scrape a URL
https://api.eu.apyverse.com/sharpapi/scrape-url

QUICKSTART

GUIDE

Quickstart

Scrape a webpage by passing its URL as a query parameter.

curl -X GET "https://api.eu.apyverse.com/sharpapi/scrape-url?url=https%3A%2F%2Fapyhub.com%2F" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with url as a string, timestamp as a string, and scraped_data as an object containing the extracted page data.

{
  "url": "https://apyhub.com/",
  "timestamp": "2025-01-15T08:56:04.946195Z",
  "scraped_data": {}
}
TRY ITLIVE · 1000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Scrapes the URL provided in the url query parameter and returns the original URL, a UTC timestamp for when the scrape ran, and a scraped_data object containing extracted page content and metadata.

Query Parameter(s)

AttributeTypeMandatoryDescription
urlStringYesThe URL to scrape. Must be a valid URI.

Response

Returns a JSON object with url as a string, timestamp as a date-time string, and scraped_data as an object. The scraped_data object may include extracted links, metadata, content representations, language detection, and keyword/index data.

AttributeTypeMandatoryDescription
urlStringYesThe URL that was scraped, echoed back from the request. Must be a valid URI.
timestampStringYesUTC timestamp of when the scrape was performed. Format: date-time.
scraped_dataObjectYesExtracted page data. Includes the page title, link data, metadata, content representations, detected language, and keyword index where available.
scraped_data.linksObjectNoLinks found on the page, split into internal and external.
scraped_data.links.externalString ArrayNoExternal links found on the page. Each item is a URI.
scraped_data.links.internalString ArrayNoInternal links found on the page. Each item is a URI.
scraped_data.titleStringNoThe page's <title> content.
scraped_data.headersObjectNoDocument-level metadata pulled from the <head>.
scraped_data.headers.charsetStringNoCharacter set declared by the page. Nullable.
scraped_data.headers.viewportString ArrayNoViewport meta values.
scraped_data.headers.canonicalStringNoCanonical URL. Must be a valid URI. Nullable.
scraped_data.headers.csrfTokenStringNoCSRF token value. Nullable.
scraped_data.headers.contentTypeStringNoContent type value. Nullable.
scraped_data.meta_tagsObjectNoStandard <meta> tag values.
scraped_data.meta_tags.imageStringNoImage meta value. Nullable.
scraped_data.meta_tags.authorStringNoAuthor meta value. Nullable.
scraped_data.meta_tags.keywordsString ArrayNoKeyword values from meta tags.
scraped_data.meta_tags.descriptionStringNoMeta description value. Nullable.
scraped_data.open_graphObjectNoOpen Graph (og:*) meta tag values, keyed by tag name.
scraped_data.content_htmlStringNoThe page's main content rendered as HTML.
scraped_data.twitter_cardObjectNoTwitter/X Card (twitter:*) meta tag values, keyed by tag name.
scraped_data.content_listsObject ArrayNoLists extracted from the page.
scraped_data.content_lists[].typeStringNoList type, such as ul or ol.
scraped_data.content_lists[].itemsString ArrayNoItems contained in the list.
scraped_data.content_markdownStringNoThe page's main content rendered as Markdown.
scraped_data.detected_languageStringNoDetected ISO 639-1 language code for the page.
scraped_data.content_structuredObject ArrayNoOrdered list of structural content blocks extracted from the page.
scraped_data.content_structured[].tagStringNoHTML tag name of the block.
scraped_data.content_structured[].contentStringNoText content of the block.
scraped_data.content_keywords_indexString ArrayNoExtracted keyword and phrase index for the page content.

Query parameters

Name
Type
Description
urlREQUIRED
string
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.