GET 25 FREE SCREENSHOTS PER MONTH  →
API REFERENCE

Website Domain Research

Submit a list of domains and the data fields you want extracted, then track the job and download the results as JSON or CSV.

BASE URL https://api.pagepixels.com
GET YOUR FREE API KEY →

Website Domain Research

The Website Domain Research API enables you to automate structured data extraction across multiple domains. Submit a list of domains and specify the data fields you want to extract (such as company name, industry, or custom fields). The API will process each domain, extract the requested data using advanced AI, and provide status and downloadable reports.

This feature is ideal for lead enrichment, market research, competitive analysis, and more. Each domain analyzed consumes one credit. Free accounts receive 25 free credits per month. Paid screenshot members receive 125 free credits per month. You can also purchase additional credits any time.

The Website Domain Research API allows you to:

  • Submit a batch of domains for research and data extraction
  • Define custom structured data fields for extraction (up to 100 fields)
  • Track the status of your domain research job
  • Download results as JSON or CSV

All requests require authentication with your Private API Key as a Bearer token in the Authorization header.

The base URL for all API requests is: https://api.pagepixels.com

Create Website Domain Research Request

POST /api/domain_research_requests

Use the post /api/domain_research_requests endpoint to submit a new domain research job. Provide a name for your report, optional notes, an array of domains, and an array of structures (the data you would like to extract).

Parameter Type Required? Description
name string no Name for this research job
additional_notes string No Any extra notes for your reference
domains array[string] Yes List of domains to analyze
structures array[object] Yes The data you want to extract from each domain (see below for structure details)

Each structured object must include:

Field Type Required? Description
data_type string Yes Data type ("string", "array", "boolean", or "number")
data_field_name string Yes Name of the data (max 100 chars). In CSV format, this becomes the column header; in JSON, it becomes the data key.
data_field_prompt_description string Yes Description of what to extract (max 2000 chars)

Example

Note: The example below analyzes 2 domains as part of the POST request, requiring a total of 2 Domain Research Credits to run successfully.
POST REQUEST /api/domain_research_requests bash
curl -X POST "https://api.pagepixels.com/api/domain_research_requests" \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API Example Research",
    "additional_notes": "Please analyze these domains for the default example fields.",
    "domains": ["example.com", "sampledomain.com"],
    "structures": [
      { "data_type": "string", "data_field_name": "primary_contact_email", "data_field_prompt_description": "The main email address listed for sales or partnership inquiries." },
      { "data_type": "string", "data_field_name": "primary_phone_number", "data_field_prompt_description": "The primary phone number listed on the website for business contact." },
      { "data_type": "number", "data_field_name": "compatibility_rating", "data_field_prompt_description": "A score between 1 and 100 indicating how well this company aligns with the following requirements: target industry, team size over 50, and offering a cloud-based SaaS solution." },
      { "data_type": "boolean", "data_field_name": "has_investor_relations_page", "data_field_prompt_description": "Indicates whether the company has a dedicated investor relations page on their website." },
      { "data_type": "array", "data_field_name": "social_profiles", "data_field_prompt_description": "List of public-facing social media profile URLs linked from the site (e.g., LinkedIn, Twitter, Facebook)." }
    ]
  }'
JSON RESPONSE
{
  "job_id": "drq_1234567890abcdef",
  "status": "pending"
}

Response Breakdown

Key Description
job_id Unique identifier for the research job
status Current status of the job (e.g., pending, processing, completed, failed)

Get the Website Domain Research Job Status

GET /api/domain_research_requests/:job_id/status

Retrieve the status of a domain research job. Returns progress and completion details.

Parameter Type Required? Description
job_id string Yes (in URL) The job ID returned from the create request

Example

GET REQUEST /api/domain_research_requests/:job_id/status bash
curl -X GET "https://api.pagepixels.com/api/domain_research_requests/:job_id/status" \
  -d access_token="your-api-key"
JSON RESPONSE
{
  "job_id": "drq_1234567890abcdef",
  "name": "API Example Research",
  "status": "processing",
  "total_domains": 2,
  "completed_domains": 1,
  "failed_domains": 0,
  "percent_complete": 50
}

Response Breakdown

Key Description
job_id Unique identifier for the research job
name Name of the research job
status Current status of the job (pending, processing, completed, failed)
total_domains Total number of domains in the job
completed_domains Number of domains successfully processed
failed_domains Number of domains that failed processing
percent_complete Percentage of job completion (integer)

Get a Website Domain Research Report

GET /api/domain_research_requests/:job_id/report

Download the results of a completed domain research job. You can specify ?format=csv to get a CSV file; omit to receive JSON.

Parameter Type Required? Description
job_id string Yes (in URL) The job ID returned from the create request
format string No "csv" for CSV download, otherwise JSON

Example: Get report as JSON

GET REQUEST /api/domain_research_requests/:job_id/report bash
curl -X GET "https://api.pagepixels.com/api/domain_research_requests/:job_id/report" \
  -d access_token="your-api-key"

Example: Get report as CSV

GET REQUEST /api/domain_research_requests/:job_id/report bash
curl -X GET "https://api.pagepixels.com/api/domain_research_requests/:job_id/report" \
  -d access_token="your-api-key" \
  -d format="csv"
JSON RESPONSE
{
  "job_id": "drq_1234567890abcdef",
  "name": "API Example Research",
  "status": "completed",
  "results": [
    {
      "domain": "example.com",
      "primary_contact_email": "info@example.com",
      "primary_phone_number": "+1-555-123-4567",
      "compatibility_rating": 92,
      "has_investor_relations_page": true,
      "social_profiles": [
        "https://linkedin.com/company/example",
        "https://twitter.com/example"
      ]
    },
    {
      "domain": "sampledomain.com",
      "primary_contact_email": "contact@sampledomain.com",
      "primary_phone_number": "+1-555-987-6543",
      "compatibility_rating": 78,
      "has_investor_relations_page": false,
      "social_profiles": [
        "https://linkedin.com/company/sampledomain"
      ]
    }
  ]
}

Response Breakdown

Key Description
job_id Unique identifier for the research job.
name Name of the research job.
status Final status of the job. Reports can be retrieved before full completion, if needed.
results Array of domain result objects, each containing the requested fields and data.

List All Website Domain Research Reports

GET /api/domain_research_requests

This endpoint provides a JSON object of all Domain Research reports found in your account.

By default, the API will return 1000 records per request.

Paging Parameters

Key Description
page The page you would like to retrieve. Default: 1.
limit The total number of records you would like to retrieve. Minimum: 1, Maximum: 1000, Default: 1000
after A unix timestamp (with or without milliseconds). Only records created after this time will be returned in the request. Default: none
before A unix timestamp (with or without milliseconds). Only records created before this time will be returned in the request. Default: none
order

Can be either 'ASC' or 'DESC'. Default: 'DESC'.

Records returned in DESC (descending) order will return the most recent records first to the oldest records. Records returned in ASC (ascending) order will return the oldest records first to the newest records.

GET REQUEST /api/domain_research_requests http
https://api.pagepixels.com/api/domain_research_requests?access_token=your-api-key&page=1
JSON RESPONSE
{
  "page": 1,
  "limit": 1000,
  "total": 2,
  "domain_research_requests": [
    {
      "job_id":"job-report-uuid",
      "name":"Marketing Channels Research",
      "status":"Download Report",
      "created_at":"2025-07-05T19:57:49.410Z",
      "total_domains":100,
      "completed_domains":100,
      "failed_domains":0
    },
    {
      "job_id":"job-report-uuid",
      "name":"Sales Prospects",
      "status":"Download Report",
      "created_at":"2025-07-05T19:30:46.012Z",
      "total_domains":50,
      "completed_domains":50,
      "failed_domains":0
    }
  ]
}

Response Breakdown

Key Description
page The page retrieved. Defaults to 1.
limit The maximum number of items to return. Defaults to 1000.
total Total number of domain research requests returned.
domain_research_requests An array containing the details of each domain research request, including the job_id, name, status, created_at, total_domains, completed_domains, and failed_domains for each request.

Support

Questions? Contact us anytime by email:

Or send us a message through our Support page.

FREE PLAN

Start free. Upgrade when you’re ready.

Every feature and integration is included on the free plan. No credit card and no phone number required.

Free $0 / month
25 screenshots every month
32 MB of Real Location proxy bandwidth
25 AI Analysis credits