Detektering av teknikstack
Utforska API-dokumentationen för Detektering av teknikstack, anropsparametrar, svarsfält, kodexempel och felhantering för DomScan-integrationer.
Detektering av teknikstack
Upptäck vad som driver en offentlig webbplats med HTTP-inspektion i läget fast, JavaScript-rendering i en sandlåda och begränsad analys av flera sidor med samma ursprung. Använd synkrona masskanningar eller beständiga asynkrona jobb för större mållistor.
Frågeparametrar
| Parameter | Typ | Description |
|---|---|---|
| url valfri | string | Fullständig offentlig HTTP(S)-URL att analysera. Om både URL och domain anges har URL företräde. |
| domain valfri | string | Offentlig domain eller HTTP(S)-URL att analysera. Ange antingen URL eller domain. |
| mode valfri |
string
Tillåtna värden
fastrendereddeep
Standard
fast
|
Skanningsläge: fast kostar 3 krediter, rendered kostar 6 krediter och deep kostar 9 krediter. |
| max_pages valfri |
integer
Standard
3
|
Högsta antal sidor med samma ursprung som analyseras i läget deep, från 1 till 5. Standardvärdet är 3. |
| skip_cache valfri |
string
Tillåtna värden
1
|
Ställ in på 1 för att kringgå cacheminnet och tvinga en ny skanning. Det gäller endast fast mode, eftersom rendered och deep resultat aldrig cachelagras. |
Teknikkategorier
| Category | Examples |
|---|---|
cdn | Cloudflare, Fastly, Akamai, CloudFront |
cms | WordPress, Drupal, Shopify, Squarespace |
analytics | Google Analytics, Mixpanel, Segment |
framework | React, Vue.js, Angular, Next.js |
server | nginx, Apache, IIS, LiteSpeed |
hosting | AWS, Google Cloud, Azure, Vercel |
platform | GitHub, Medium, Substack, GitBook |
Exempelbegäran
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/tech?url=https%3A%2F%2Fwordpress.example%2F" -H "x-api-key: YOUR_API_KEY"
const domscanFetch = (url, options = {}) =>
fetch(url, {
...options,
headers: { ...options.headers, "X-API-Key": "your-api-key" },
});
const response = await domscanFetch(
"https://domscan.net/v1/tech?url=https%3A%2F%2Fwordpress.example%2F",
{ headers: { "x-api-key": "YOUR_API_KEY" } }
);
const data = await response.json();
for (const tech of data.technologies) {
console.log(`${tech.id}: ${tech.confidence_score}/100`);
}
import requests
domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})
response = domscan.get(
"https://domscan.net/v1/tech",
params={"url": "https://wordpress.example/"},
headers={"x-api-key": "YOUR_API_KEY"}
)
data = response.json()
for tech in data['technologies']:
print(f"{tech['id']}: {tech['confidence_score']}/100")
Exempelsvar
{
"url": "https://wordpress.example/",
"technologies": [
{
"id": "wordpress",
"name": "WordPress",
"category": "cms",
"version": "6.8.2",
"version_kind": "product",
"confidence": "high",
"confidence_score": 98,
"evidence": "Meta: generator",
"evidence_details": [
{
"source": "meta",
"key": "generator",
"matched": "WordPress 6.8.2"
}
],
"source_count": 1,
"caveats": [
"generator_can_be_removed_or_spoofed",
"asset_paths_can_be_rewritten"
],
"reference": {
"website": "https://wordpress.org/",
"source_url": "https://developer.wordpress.org/reference/functions/get_the_generator/",
"source_owner": "WordPress.org",
"source_kind": "official_docs",
"access": "public",
"access_method": "target_response_inspection",
"cost": "none",
"terms_status": "public_source_reviewed_factual_signature",
"expected_freshness": "reverify_on_source_or_signature_change",
"maintenance_risk": "medium",
"runtime_rate_limits": "not_applicable_no_source_request",
"fallback_behavior": "unmatched_or_unavailable_signal_is_not_detected",
"last_verified": "2026-07-15"
}
}
],
"detection_summary": {
"detected_count": 1,
"category_count": 1,
"categories": [
"cms"
],
"high_confidence_count": 1,
"medium_confidence_count": 0,
"low_confidence_count": 0,
"versioned_count": 1,
"evidence_sources": {
"header": 0,
"html": 0,
"asset_url": 0,
"network_url": 0,
"javascript": 0,
"meta": 1,
"cookie": 0,
"url": 0
},
"catalog_size": 522,
"catalog_category_count": 87,
"summary_field_count": 1
},
"summary": {
"cms": "WordPress"
},
"meta": {
"title": "Example WordPress site",
"description": "A reserved example response for the technology detection contract.",
"canonical_url": "https://wordpress.example/",
"language": "en",
"favicon": "https://wordpress.example/favicon.ico",
"open_graph": {
"title": null,
"description": null,
"image": null,
"url": null,
"type": null,
"site_name": null,
"locale": null
},
"twitter_card": {
"card": null,
"site": null,
"creator": null,
"title": null,
"description": null,
"image": null
},
"author": null,
"generator": "WordPress 6.8.2",
"theme_color": null,
"manifest_url": null,
"robots": "index, follow"
},
"headers": {
"content-type": "text/html; charset=UTF-8"
},
"ssl": {
"enabled": true
},
"analysis": {
"status": "complete",
"requested_url": "https://wordpress.example/",
"final_url": "https://wordpress.example/",
"response_status": 200,
"redirect_count": 0,
"relay_used": false,
"signals_checked": [
"url",
"header",
"cookie",
"html",
"asset_url",
"meta"
],
"signals_unavailable": [],
"html_characters_analyzed": 412,
"html_bytes_analyzed": 412,
"html_byte_limit": 1000000,
"html_truncated": false,
"response_body_truncated": false,
"mode": "fast",
"rendered": false,
"javascript_executed": false,
"pages_requested": 1,
"pages_analyzed": 1,
"page_limit": 1,
"network_requests_observed": 0,
"page_limit_reached": false,
"resource_limit_reached": false,
"redirected_to_different_host": false,
"no_detection_reason": null,
"recommended_mode": null,
"pages": [
{
"url": "https://wordpress.example/",
"status": 200,
"html_truncated": false,
"network_requests_observed": 0
}
]
},
"total_time_ms": 128,
"checked_at": "2026-07-15T10:30:00Z",
"_meta": {
"served_by": "pop=MAD country=ES",
"analysis_status": "ok",
"response_status": 200,
"cache_status": "miss",
"stale": false
}
}
Svarsfält
| Fält | Typ |
|---|---|
url |
string |
technologies[] |
object[] |
technologies[] |
object |
technologies[].id |
string |
technologies[].name |
string |
technologies[].category |
string |
technologies[].version |
string |
technologies[].version_kind |
string |
technologies[].confidence |
string |
technologies[].confidence_score |
integer |
technologies[].evidence |
string |
technologies[].evidence_details[] |
object[] |
technologies[].evidence_details[] |
object |
technologies[].evidence_details[].source |
string |
technologies[].evidence_details[].key |
string |
technologies[].evidence_details[].matched |
string |
technologies[].evidence_details[].page_url |
string |
technologies[].source_count |
integer |
technologies[].caveats[] |
string[] |
technologies[].reference |
object |
technologies[].reference.website |
string |
technologies[].reference.source_url |
string |
technologies[].reference.source_owner |
string |
technologies[].reference.source_kind |
string |
technologies[].reference.access |
string |
technologies[].reference.access_method |
string |
technologies[].reference.cost |
string |
technologies[].reference.terms_status |
string |
technologies[].reference.expected_freshness |
string |
technologies[].reference.maintenance_risk |
string |
technologies[].reference.runtime_rate_limits |
string |
technologies[].reference.fallback_behavior |
string |
technologies[].reference.last_verified |
string |
detection_summary |
object |
detection_summary.detected_count |
integer |
detection_summary.category_count |
integer |
detection_summary.categories[] |
string[] |
detection_summary.high_confidence_count |
integer |
detection_summary.medium_confidence_count |
integer |
detection_summary.low_confidence_count |
integer |
detection_summary.versioned_count |
integer |
detection_summary.evidence_sources |
object |
detection_summary.evidence_sources.header |
integer |
detection_summary.evidence_sources.html |
integer |
detection_summary.evidence_sources.asset_url |
integer |
detection_summary.evidence_sources.network_url |
integer |
detection_summary.evidence_sources.javascript |
integer |
detection_summary.evidence_sources.meta |
integer |
detection_summary.evidence_sources.cookie |
integer |
detection_summary.evidence_sources.url |
integer |
detection_summary.catalog_size |
integer |
detection_summary.catalog_category_count |
integer |
detection_summary.summary_field_count |
integer |
summary |
object |
summary.cdn |
string |
summary.server |
string |
summary.framework |
string |
summary.cms |
string |
summary.hosting |
string |
summary.platform |
string |
summary.analytics[] |
string[] |
headers |
object |
meta |
object |
ssl |
object |
ssl.enabled |
boolean |
analysis |
object |
analysis.status |
string |
analysis.requested_url |
string |
analysis.final_url |
string |
analysis.response_status |
integer |
analysis.redirect_count |
integer |
analysis.relay_used |
boolean |
analysis.signals_checked[] |
string[] |
analysis.signals_unavailable[] |
string[] |
analysis.html_characters_analyzed |
integer |
analysis.html_bytes_analyzed |
integer |
analysis.html_byte_limit |
integer |
analysis.html_truncated |
boolean |
analysis.response_body_truncated |
boolean |
analysis.mode |
string |
analysis.rendered |
boolean |
analysis.javascript_executed |
boolean |
analysis.pages_requested |
integer |
analysis.pages_analyzed |
integer |
analysis.page_limit |
integer |
analysis.network_requests_observed |
integer |
analysis.page_limit_reached |
boolean |
analysis.resource_limit_reached |
boolean |
analysis.redirected_to_different_host |
boolean |
analysis.no_detection_reason |
string | null |
analysis.recommended_mode |
string | null |
analysis.pages[] |
object[] |
analysis.pages[] |
object |
analysis.pages[].url |
string |
analysis.pages[].status |
integer |
analysis.pages[].html_truncated |
boolean |
analysis.pages[].network_requests_observed |
integer |
total_time_ms |
integer |
checked_at |
string |
_meta |
object |
_meta.served_by |
string |
_meta.analysis_status |
string |
_meta.response_status |
integer |
_meta.cache_status |
string |
_meta.stale |
boolean |
_meta.cached_at |
string |
Massidentifiering i läget Fast
POST /v1/tech/bulk kör upp till 10 ordnade fast-skanningar. Varje giltigt mål kostar 3 krediter, ogiltiga mål kostar noll och fel hos en överordnad tjänst återbetalas per objekt.
curl -H "X-API-Key: your-api-key" -X POST "https://domscan.net/v1/tech/bulk" -H "x-api-key: YOUR_API_KEY" -H "content-type: application/json" -d '{"targets":["example.com",{"url":"https://shop.example.com/","reference":"shop"}]}'
Asynkrona skanningsjobb
POST /v1/tech/jobs tar emot upp till 100 mål i läget fast, rendered eller deep. Jobben stöder idempotent skapande, ägarbegränsad avläsning, signerad paginering av resultat, avbrytning och återbetalning per objekt. Fullständiga resultat upphör efter 48 timmar.
curl -H "X-API-Key: your-api-key" -X POST "https://domscan.net/v1/tech/jobs" -H "x-api-key: YOUR_API_KEY" -H "Idempotency-Key: scan-batch-2026-07-15" -H "content-type: application/json" -d '{"mode":"deep","max_pages":3,"targets":["example.com","shop.example.com"]}'
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/tech/jobs?limit=25" -H "x-api-key: YOUR_API_KEY"
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/tech/jobs/tsj_JOB_ID" -H "x-api-key: YOUR_API_KEY"
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/tech/jobs/tsj_JOB_ID/results?limit=25" -H "x-api-key: YOUR_API_KEY"
# next page, using next_cursor from the previous response
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/tech/jobs/tsj_JOB_ID/results?limit=25&cursor=NEXT_CURSOR" -H "x-api-key: YOUR_API_KEY"
curl -H "X-API-Key: your-api-key" -X DELETE "https://domscan.net/v1/tech/jobs/tsj_JOB_ID" -H "x-api-key: YOUR_API_KEY"
Frågeparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| domain | string | obligatorisk |
Svarsfält
| Fält | Typ |
|---|---|
domain |
string |
hosting |
object |
hosting.provider |
string |
hosting.provider_id |
string |
hosting.confidence |
number |
hosting.region |
string |
hosting.detection_method |
string |
cdn |
object |
cdn.detected |
boolean |
cdn.provider |
string |
cdn.provider_id |
string |
cdn.confidence |
number |
cdn.detection_method |
string |
cdn.features[] |
string[] |
waf |
object |
waf.detected |
boolean |
waf.provider |
string |
waf.provider_id |
string |
waf.confidence |
number |
waf.detection_method |
string |
dns_provider |
object |
dns_provider.provider |
string |
dns_provider.provider_id |
string |
dns_provider.nameservers[] |
string[] |
dns_provider.confidence |
number |
dns_providers[] |
object[] |
dns_providers[] |
object |
dns_providers[].provider_id |
string |
dns_providers[].provider |
string |
email_provider |
object |
email_provider.provider |
string |
email_provider.provider_id |
string |
email_provider.mx_records[] |
string[] |
email_provider.confidence |
number |
ssh |
object |
ssh.host |
string |
ssh.port |
integer |
ssh.reachable |
boolean |
ssh.banner |
string | null |
ssh.algorithms[] |
string[] |
ssh.weak_algorithms[] |
string[] |
ssh.keys[] |
object[] |
ssh.keys[] |
object |
ssh.keys[].host |
string |
ssh.keys[].algorithm |
string |
ssh.keys[].key_size |
integer | null |
ssh.keys[].fingerprint_sha256 |
string | null |
ssh.keys[].weak |
boolean |
ssh.keys[].weak_reasons[] |
string[] |
ssh.error |
string | null |
ssh.checked_at |
string |
provider_summary |
object |
provider_summary.cache_status |
string |
provider_summary.provider_count |
integer |
provider_summary.detected_surfaces[] |
string[] |
provider_summary.confidence |
string |
provider_summary.confidence_score |
integer |
provider_summary.hosting_provider |
string | null |
provider_summary.cdn_provider |
string | null |
provider_summary.waf_provider |
string | null |
provider_summary.dns_provider_count |
integer |
provider_summary.email_provider |
string | null |
provider_summary.ssh_exposed |
boolean | null |
provider_summary.evidence[] |
object[] |
provider_summary.evidence[] |
object |
provider_summary.evidence[].surface |
string |
provider_summary.evidence[].provider |
string |
provider_summary.evidence[].confidence |
number | null |
provider_summary.evidence[].method |
string | null |
ip_info |
object |
ip_info.ipv4[] |
string[] |
ip_info.ipv6[] |
string[] |
checked_at |
string |
check_duration_ms |
integer |
Exempelbegäran
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/hosting?domain=example.com"
Exempelsvar
{
"domain": "github.com",
"hosting": {
"provider": "Microsoft Azure",
"provider_id": "azure",
"confidence": 0.86,
"detection_method": "ip_range"
},
"cdn": {
"detected": true,
"provider": "Fastly",
"provider_id": "fastly",
"confidence": 0.94,
"detection_method": "headers"
},
"waf": {
"detected": false,
"confidence": 0.2,
"detection_method": "headers"
},
"dns_provider": {
"provider": "AWS Route 53",
"provider_id": "route53",
"nameservers": [
"ns-1283.awsdns-32.org",
"ns-1707.awsdns-21.co.uk"
],
"confidence": 0.9
},
"email_provider": {
"provider": "Google Workspace",
"provider_id": "google_workspace",
"mx_records": [
"aspmx.l.google.com"
],
"confidence": 0.95
},
"ssh": {
"host": "github.com",
"port": 22,
"reachable": true,
"banner": "SSH-2.0-babeld",
"algorithms": [
"ssh-ed25519",
"ecdsa-sha2-nistp256"
],
"weak_algorithms": [],
"keys": [
{
"host": "github.com",
"algorithm": "ssh-ed25519",
"key_size": 256,
"fingerprint_sha256": "SHA256:+DiY3wvvV6TuJJhbpZisF/Ym7N3QKXNoZk6sJ2x2d2s",
"weak": false,
"weak_reasons": []
}
],
"error": null,
"checked_at": "2026-04-18T21:00:00Z"
},
"provider_summary": {
"cache_status": "miss",
"provider_count": 4,
"detected_surfaces": [
"hosting",
"cdn",
"dns",
"email",
"ssh"
],
"confidence": "high",
"confidence_score": 92,
"hosting_provider": "Microsoft Azure",
"cdn_provider": "Fastly",
"waf_provider": null,
"dns_provider_count": 1,
"email_provider": "Google Workspace",
"ssh_exposed": true,
"evidence": [
{
"surface": "hosting",
"provider": "Microsoft Azure",
"confidence": 0.86,
"method": "ip_range"
},
{
"surface": "cdn",
"provider": "Fastly",
"confidence": 0.94,
"method": "headers"
},
{
"surface": "dns",
"provider": "AWS Route 53",
"confidence": 0.9,
"method": "ns"
},
{
"surface": "email",
"provider": "Google Workspace",
"confidence": 0.95,
"method": "mx"
},
{
"surface": "ssh",
"provider": "public-ssh",
"confidence": 90,
"method": "edge-relay"
}
]
},
"ip_info": {
"ipv4": [
"140.82.121.4"
],
"ipv6": []
},
"checked_at": "2026-04-18T21:00:00Z",
"check_duration_ms": 156
}
Brödtextparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| domains | string[] | obligatorisk |
Svarsfält
| Fält | Typ |
|---|---|
results[] |
unknown[] |
meta |
object |
meta.total |
integer |
meta.succeeded |
integer |
meta.failed |
integer |
meta.max_items |
integer |
meta.credits_per_item |
integer |
meta.duration_ms |
integer |
Exempelbegäran
curl -X POST "https://domscan.net/v1/hosting/bulk" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"domains": [
"example.com",
"cloudflare.com"
]
}'
Exempelsvar
{
"results": [
null
],
"meta": {
"total": 1,
"succeeded": 1,
"failed": 1,
"max_items": 10,
"credits_per_item": 1,
"duration_ms": 1
}
}
Frågeparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| domain | string | obligatorisk |
Svarsfält
| Fält | Typ |
|---|---|
domain |
string |
is_parked |
boolean |
is_for_sale |
boolean |
parking_provider |
string | null |
aftermarket_listings[] |
object[] |
aftermarket_listings[] |
object |
aftermarket_listings[].platform |
string |
aftermarket_listings[].detected_via |
string |
signals[] |
object[] |
signals[] |
object |
signals[].type |
string |
signals[].detail |
string |
signals[].provider |
string |
confidence |
number |
checked_at |
string |
check_duration_ms |
integer |
Exempelbegäran
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/parking?domain=example.com"
Exempelsvar
{
"domain": "example.com",
"is_parked": true,
"is_for_sale": true,
"parking_provider": "string",
"aftermarket_listings": [
{
"platform": "string",
"detected_via": "dns"
}
],
"signals": [
{
"type": "string",
"detail": "string",
"provider": "string"
}
],
"confidence": 1,
"checked_at": "2026-04-15T12:00:00Z",
"check_duration_ms": 1
}
Brödtextparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| url | string | obligatorisk |
| mode |
string
Tillåtna värden
standardresilientrenderedrendered_resilient
Standard
standard
|
valfri |
| output |
string
Tillåtna värden
htmltextmarkdown
Standard
html
|
valfri |
Svarsfält
| Fält | Typ |
|---|---|
data |
object |
data.url |
string |
data.final_url |
string |
data.status |
integer | null |
data.outcome |
string |
data.content_type |
string | null |
data.content |
string |
data.bytes |
integer |
data.truncated |
boolean |
data.redirect_count |
integer |
data.attempt_count |
integer |
data.duration_ms |
integer |
data.fetched_at |
string |
data.headers |
object |
data.rendered |
boolean |
billing |
object |
billing.credits_charged |
integer |
billing.credits_refunded |
integer |
billing.credits_per_item |
integer |
billing.credits_net |
integer |
billing.policy |
string |
Exempelbegäran
curl -X POST "https://domscan.net/v1/scrape" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"url": "https://example.com/",
"mode": "standard",
"output": "markdown"
}'
Exempelsvar
{
"data": {
"url": "https://example.com",
"final_url": "https://example.com",
"status": 1,
"outcome": "success",
"content_type": "string",
"content": "string",
"bytes": 1,
"truncated": true,
"redirect_count": 1,
"attempt_count": 1,
"duration_ms": 1,
"fetched_at": "2026-04-15T12:00:00Z",
"headers": {},
"rendered": true
},
"billing": {
"credits_charged": 1,
"credits_refunded": 1,
"credits_per_item": 1,
"credits_net": 1,
"policy": "effort_based"
}
}
Brödtextparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| mode |
string
Tillåtna värden
standardresilientrenderedrendered_resilient
Standard
standard
|
valfri |
| output |
string
Tillåtna värden
htmltextmarkdown
Standard
html
|
valfri |
| urls | unknown[] | obligatorisk |
Svarsfält
| Fält | Typ |
|---|---|
job |
object |
job.id |
string |
job.status |
string |
job.mode |
string |
job.output |
string |
job.total |
integer |
job.counts |
object |
job.counts.pending |
integer |
job.counts.processing |
integer |
job.counts.succeeded |
integer |
job.counts.failed |
integer |
job.billing |
object |
job.billing.credits_charged |
integer |
job.billing.credits_refunded |
integer |
job.billing.credits_per_item |
integer |
job.billing.credits_net |
integer |
job.billing.policy |
string |
job.status_url |
string |
job.results_url |
string |
job.poll_after_ms |
integer | null |
job.created_at |
string |
job.started_at |
string | null |
job.completed_at |
string | null |
job.updated_at |
string |
job.processing_deadline_at |
string |
job.results_expires_at |
string |
idempotent_replay |
boolean |
Exempelbegäran
curl -X POST "https://domscan.net/v1/scrape/jobs" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"mode": "resilient",
"output": "text",
"urls": [
"https://example.com/",
{
"url": "https://example.org/",
"reference": "page-2"
}
]
}'
Exempelsvar
{
"job": {
"id": "string",
"status": "queued",
"mode": "standard",
"output": "html",
"total": 1,
"counts": {
"pending": 1,
"processing": 1,
"succeeded": 1,
"failed": 1
},
"billing": {
"credits_charged": 1,
"credits_refunded": 1,
"credits_per_item": 1,
"credits_net": 1,
"policy": "effort_based"
},
"status_url": "https://example.com",
"results_url": "https://example.com",
"poll_after_ms": 1,
"created_at": "2026-04-15T12:00:00Z",
"started_at": "2026-04-15T12:00:00Z",
"completed_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z",
"processing_deadline_at": "2026-04-15T12:00:00Z",
"results_expires_at": "2026-04-15T12:00:00Z"
},
"idempotent_replay": true
}
Frågeparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| job_id | string | obligatorisk |
Svarsfält
| Fält | Typ |
|---|---|
job |
object |
job.id |
string |
job.status |
string |
job.mode |
string |
job.output |
string |
job.total |
integer |
job.counts |
object |
job.counts.pending |
integer |
job.counts.processing |
integer |
job.counts.succeeded |
integer |
job.counts.failed |
integer |
job.billing |
object |
job.billing.credits_charged |
integer |
job.billing.credits_refunded |
integer |
job.billing.credits_per_item |
integer |
job.billing.credits_net |
integer |
job.billing.policy |
string |
job.status_url |
string |
job.results_url |
string |
job.poll_after_ms |
integer | null |
job.created_at |
string |
job.started_at |
string | null |
job.completed_at |
string | null |
job.updated_at |
string |
job.processing_deadline_at |
string |
job.results_expires_at |
string |
Exempelbegäran
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/scrape/jobs/example.com"
Exempelsvar
{
"job": {
"id": "string",
"status": "queued",
"mode": "standard",
"output": "html",
"total": 1,
"counts": {
"pending": 1,
"processing": 1,
"succeeded": 1,
"failed": 1
},
"billing": {
"credits_charged": 1,
"credits_refunded": 1,
"credits_per_item": 1,
"credits_net": 1,
"policy": "effort_based"
},
"status_url": "https://example.com",
"results_url": "https://example.com",
"poll_after_ms": 1,
"created_at": "2026-04-15T12:00:00Z",
"started_at": "2026-04-15T12:00:00Z",
"completed_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z",
"processing_deadline_at": "2026-04-15T12:00:00Z",
"results_expires_at": "2026-04-15T12:00:00Z"
}
}
Frågeparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| job_id | string | obligatorisk |
| limit |
integer
Standard
20
|
valfri |
| offset |
integer
Standard
0
|
valfri |
Svarsfält
| Fält | Typ |
|---|---|
job |
object |
job.id |
string |
job.status |
string |
job.mode |
string |
job.output |
string |
job.total |
integer |
job.counts |
object |
job.counts.pending |
integer |
job.counts.processing |
integer |
job.counts.succeeded |
integer |
job.counts.failed |
integer |
job.billing |
object |
job.billing.credits_charged |
integer |
job.billing.credits_refunded |
integer |
job.billing.credits_per_item |
integer |
job.billing.credits_net |
integer |
job.billing.policy |
string |
job.status_url |
string |
job.results_url |
string |
job.poll_after_ms |
integer | null |
job.created_at |
string |
job.started_at |
string | null |
job.completed_at |
string | null |
job.updated_at |
string |
job.processing_deadline_at |
string |
job.results_expires_at |
string |
results[] |
object[] |
results[] |
object |
results[].index |
integer |
results[].url |
string |
results[].reference |
string |
results[].status |
string |
results[].data |
object |
results[].data.url |
string |
results[].data.final_url |
string |
results[].data.status |
integer | null |
results[].data.outcome |
string |
results[].data.content_type |
string | null |
results[].data.content |
string |
results[].data.bytes |
integer |
results[].data.truncated |
boolean |
results[].data.redirect_count |
integer |
results[].data.attempt_count |
integer |
results[].data.duration_ms |
integer |
results[].data.fetched_at |
string |
results[].data.headers |
object |
results[].data.rendered |
boolean |
results[].billing |
object |
results[].billing.credits_charged |
integer |
results[].billing.credits_refunded |
integer |
results[].billing.credits_per_item |
integer |
results[].billing.credits_net |
integer |
results[].billing.policy |
string |
pagination |
object |
Exempelbegäran
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/scrape/jobs/example.com/results?limit=25&offset=0"
Exempelsvar
{
"job": {
"id": "string",
"status": "queued",
"mode": "standard",
"output": "html",
"total": 1,
"counts": {
"pending": 1,
"processing": 1,
"succeeded": 1,
"failed": 1
},
"billing": {
"credits_charged": 1,
"credits_refunded": 1,
"credits_per_item": 1,
"credits_net": 1,
"policy": "effort_based"
},
"status_url": "https://example.com",
"results_url": "https://example.com",
"poll_after_ms": 1,
"created_at": "2026-04-15T12:00:00Z",
"started_at": "2026-04-15T12:00:00Z",
"completed_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z",
"processing_deadline_at": "2026-04-15T12:00:00Z",
"results_expires_at": "2026-04-15T12:00:00Z"
},
"results": [
{
"index": 1,
"url": "https://example.com",
"reference": "string",
"status": "pending",
"data": {
"url": "https://example.com",
"final_url": "https://example.com",
"status": 1,
"outcome": "success",
"content_type": "string",
"content": "string",
"bytes": 1,
"truncated": true,
"redirect_count": 1,
"attempt_count": 1,
"duration_ms": 1,
"fetched_at": "2026-04-15T12:00:00Z",
"headers": {},
"rendered": true
},
"billing": {
"credits_charged": 1,
"credits_refunded": 1,
"credits_per_item": 1,
"credits_net": 1,
"policy": "effort_based"
}
}
],
"pagination": {}
}