nexqdata/ docs

API Reference

Conventions shared by every endpoint, and where each endpoint is documented.

Base URL

https://api.nexqdata.io

All paths below are relative to it, and start with /api — for example, https://api.nexqdata.io/api/scraper-agents.

Always use https://. A plain http:// request is redirected, but by then your key has already crossed the network unencrypted.

Call this address directly with your API key. The dashboard at app.nexqdata.io is for signing in with a browser; it doesn't accept API keys.

Authentication

Every request sends an API key — X-Api-Key: nxd_live_… or Authorization: Bearer nxd_live_…. See Authentication.

Requests and responses

  • Bodies are JSON (Content-Type: application/json).
  • Ids are GUIDs, except an agent's externalAgentId, which is a string. See Agent ids.
  • Times are ISO 8601, in UTC unless a field says otherwise.
  • Every JSON response uses one envelope:
{
  "success": true,
  "message": "Job started.",
  "data": { },
  "errorCode": null
}

File downloads return the file itself, not an envelope.

Endpoints

Every endpoint in these docs, grouped by area. Each area links to the page that documents it.

Agents

MethodPathDoes
GET/api/scraper-agentsList your agents
GET/api/scraper-agents/{id}Read one agent
GET/api/scraper-agents/{id}/sample-outputRead the agent's sample output
GET/api/scraper-agents/{id}/sample-output/downloadDownload the sample as JSON

Running

MethodPathDoes
POST/api/scraper-agents/{externalAgentId}/start-jobStart a job (recommended)
POST/api/scraper-agents/{externalAgentId}/runStart a single run
POST/api/scraper-agents/runs/{runId}/stopStop a run

Jobs

MethodPathDoes
GET/api/scraper-agents/jobsJobs across your agents
GET/api/scraper-agents/{id}/jobsOne agent's jobs
GET/api/scraper-agents/jobs/{jobId}/runsA job's runs
GET/api/scraper-agents/jobs/{jobId}/exportDownload a job's data
GET/api/scraper-agents/jobs/{jobId}/datasetA job's dataset id
GET/api/scraper-agents/jobs/active-countJobs in progress
GET/api/scraper-agents/jobs/status-countsJobs by status

Runs

MethodPathDoes
GET/api/scraper-agents/{id}/runsOne agent's runs
GET/api/scraper-agents/runsRuns across your agents
POST/api/scraper-agents/runs/{runId}/refreshRe-read a run's state
POST/api/scraper-agents/runs/{runId}/dismiss-attentionIgnore a failure
POST/api/scraper-agents/runs/{runId}/restore-attentionTrack a failure again
GET/api/scraper-agents/runs/active-countRuns in progress
GET/api/scraper-agents/runs/attention-countFailures needing attention
GET/api/scraper-agents/runs/status-countsRuns by status

Groups

MethodPathDoes
GET/api/search-groupsList groups
GET/api/search-groups/{id}Read one group
POST/api/search-groupsCreate a group
PUT/api/search-groups/{id}Rename, describe, or disable a group
PUT/api/search-groups/{id}/membersReplace a group's members
DELETE/api/search-groups/{id}Delete a group
POST/api/search-groups/{groupId}/runRun a group
GET/api/search-groups/runsList group runs
GET/api/search-groups/runs/{groupRunId}Follow a group run
POST/api/search-groups/runs/{groupRunId}/members/{agentId}/retryStart a member that didn't start
DELETE/api/search-groups/runs/{groupRunId}Delete a group run
GET/api/scraper-agents/group-runs/{groupRunId}/exportDownload a group run's data

Pipelines

MethodPathDoes
GET/api/pipelinesList pipelines
GET/api/pipelines/{id}Read one pipeline
POST/api/pipelinesCreate a pipeline
PUT/api/pipelines/{id}Rename, describe, or disable a pipeline
PUT/api/pipelines/{id}/stepsReplace a pipeline's stages
DELETE/api/pipelines/{id}Delete a pipeline
POST/api/pipelines/{pipelineId}/runRun a pipeline
GET/api/pipelines/runsList pipeline runs
GET/api/pipelines/runs/{pipelineRunId}Follow a pipeline run
GET/api/pipelines/runs/{pipelineRunId}/exportDownload a pipeline run's data
DELETE/api/pipelines/runs/{pipelineRunId}Delete a pipeline run

Schedules

MethodPathDoes
GET/api/schedulesList schedules
GET/api/schedules/pageList schedules, paged
POST/api/schedulesCreate a schedule
POST/api/schedules/previewPreview run times
PUT/api/schedules/{id}Replace a schedule
DELETE/api/schedules/{id}Delete a schedule
POST/api/schedules/{id}/enabledEnable or pause
POST/api/schedules/{id}/runRun now
POST/api/schedules/bulk/enabledEnable or pause several
POST/api/schedules/bulk/deleteDelete several
GET/api/schedules/upcomingUpcoming runs

Datasets

MethodPathDoes
GET/api/scraper-agents/runs/{runId}/exportDownload a run's data
GET/api/scraper-agents/runs/{runId}/datasetA run's dataset id
GET/api/data-explorer/datasets/{datasetId}/previewPreview
POST/api/data-explorer/datasets/{datasetId}/querySearch, filter, sort, and page
GET/api/data-explorer/datasets/{datasetId}/downloadDownload

Managing datasets

MethodPathDoes
GET/api/scraper-agents/cached-exportsList your datasets
DELETE/api/scraper-agents/cached-exports/{datasetId}Delete a dataset
GET/api/data-explorer/datasets/{datasetId}/lineageWhere it came from
GET/api/data-explorer/datasets/{datasetId}/accessRead sharing
PUT/api/data-explorer/datasets/{datasetId}/accessShare with your company
POST/api/data-explorer/bulk/exportExport several as one zip
POST/api/data-explorer/bulk/deleteDelete several
GET/api/data-explorer/saved-queriesList saved queries
POST/api/data-explorer/saved-queriesSave a query
DELETE/api/data-explorer/saved-queries/{id}Delete a saved query

Webhooks

MethodPathDoes
GET/api/webhooksList your endpoints
POST/api/webhooksAdd an endpoint (returns its secret once)
PUT/api/webhooks/{id}Change an endpoint, or enable it again
DELETE/api/webhooks/{id}Delete an endpoint
POST/api/webhooks/{id}/rotate-secretIssue a new signing secret
POST/api/webhooks/{id}/testSend a test ping
GET/api/webhooks/{id}/deliveriesThe delivery log
POST/api/webhooks/deliveries/{deliveryId}/redeliverSend a delivery again

API keys

MethodPathDoes
GET/api/api-keysList your keys
POST/api/api-keysGenerate a key (revokes the active one)
DELETE/api/api-keys/{id}Revoke a key

Generated reference coming next

Full request and response schemas for every endpoint will be generated from the API's OpenAPI contract, so they stay in step with the API itself.

On this page