v50

latestOpenAPI 3.1.0Proprietaryraw.githubusercontent.com2026-07-112650216.3 KB
Scrapers

Get data-source details

Returns metadata, pricing, examples, and public input guidance for one data source.

get/v1/data-sources/{data_source}

Path parameters

data_sourcestring required
Example:tiktok

Stable data-source id.

Response

Scraper details loaded.

runtimeHealthobject
nextActionsstring[] required

Example response

{
  "scraper": {
    "id": "amazon",
    "name": "Amazon Scraper",
    "category": "Ecommerce",
    "description": "Scrape public Amazon records from public inputs.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "operation": {
          "type": "string",
          "enum": [
            "search",
            "product",
            "reviews",
            "offers",
            "seller",
            "bestsellers",
            "asins",
            "questions",
            "price-tracker"
          ]
        },
        "query": {
          "type": "string",
          "maxLength": 8192
        },
        "includeReviews": {
          "type": "boolean"
        }
      }
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "marketplace": {
          "type": "string",
          "const": "amazon"
        },
        "resultPosition": {
          "type": [
            "integer",
            "null"
          ]
        },
        "adPosition": {
          "type": [
            "integer",
            "null"
          ]
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 8192
          },
          "maxItems": 1000
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 8192
          },
          "maxItems": 1000
        },
        "customerPhotoUrls": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 8192
          },
          "maxItems": 1000
        },
        "questionCount": {
          "type": [
            "integer",
            "null"
          ]
        },
        "questionSamples": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "maxItems": 1000
        },
        "minimumOrderQuantity": {
          "type": [
            "string",
            "null"
          ]
        },
        "rfqText": {
          "type": [
            "string",
            "null"
          ]
        },
        "requestedFeatures": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 8192
          },
          "maxItems": 1000
        },
        "featureCoverage": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "feature": {
                "type": "string",
                "example": "includeReviews",
                "maxLength": 8192
              },
              "status": {
                "type": "string",
                "enum": [
                  "extracted",
                  "not_found",
                  "partially_extracted",
                  "accepted_not_extracted",
                  "unknown"
                ],
                "example": "extracted"
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 8192
                },
                "example": [
                  "reviewCount",
                  "reviewSamples"
                ],
                "maxItems": 1000
              },
              "message": {
                "type": "string",
                "example": "Review count or review samples were extracted.",
                "maxLength": 8192
              }
            },
            "required": [
              "feature",
              "status",
              "fields",
              "message"
            ]
          },
          "maxItems": 1000
        }
      }
    },
    "priceEvents": [
      {
        "name": "amazon_record",
        "unit": "record",
        "usdMicros": 1400
      }
    ]
  },
  "runtimeHealth": {
    "type": "dataSourceHealth",
    "status": "ready"
  },
  "nextActions": [
    "Use `tovuk request create amazon <input-json> --json` to create scraper work."
  ]
}