---
title: "Submit lead scraper inputs"
method: POST
path: "/api/v1/lead-scrapers/submissions"
tags: ["Lead Scrapers"]
---

# Submit lead scraper inputs

`POST /api/v1/lead-scrapers/submissions`

## Request

- Base URL: `https://api.aerosend.io`
- URL: `https://api.aerosend.io/api/v1/lead-scrapers/submissions`
- Auth: API key in header `X-API-Key`

Submits lead scraper inputs for the authenticated client. Validates them and returns the accepted params.

## Behavior
- Does not store a job
- Does not charge and does not start a scrape
- To price or pay, use `POST /api/v1/lead-scrapers/payment-preview` and `POST /api/v1/lead-scrapers/payment`

## Validation
- **scraper_id**: must be an id from `GET /api/v1/lead-scrapers`
- **params**: object whose keys are that scraper's inputs. Any other key is rejected
- Required inputs must be present. Omitted optional inputs are left out of the response
- Blank select values are left out. Defaults from the form are not filled in
- **number_of_companies** on `clutch`, when present, rounds up to the next 1,000
- **file_name** keeps letters, numbers, spaces, underscores, and hyphens
- `string_list` and `multi_select` values are JSON arrays of strings

## Response
- Returns `scraper_id` and the accepted `params`

## Request body

- LeadScraperSubmissionRequest: Lead scraper id and the input values to validate
  - `scraperId` string: Scraper id from GET /api/v1/lead-scrapers
  - `params` JsonNode
    - `empty` boolean
    - `array` boolean
    - `null` boolean
    - `object` boolean
    - `float` boolean
    - `string` boolean
    - `container` boolean
    - `missingNode` boolean
    - `valueNode` boolean
    - `nodeType` 'ARRAY' | 'BINARY' | 'BOOLEAN' | 'MISSING' | 'NULL' | 'NUMBER' | 'OBJECT' | 'POJO' | 'STRING'
    - `pojo` boolean
    - `number` boolean
    - `integralNumber` boolean
    - `floatingPointNumber` boolean
    - `short` boolean
    - `int` boolean
    - `long` boolean
    - `double` boolean
    - `bigDecimal` boolean
    - `bigInteger` boolean
    - `textual` boolean
    - `boolean` boolean
    - `binary` boolean
    - `embeddedValue` boolean

## Response `200`

Inputs accepted

- LeadScraperSubmissionApiResponse
  - `success` boolean: Success flag
  - `data` LeadScraperSubmission: Accepted lead scraper inputs. Nothing is stored or charged.
    - `scraperId` string: Scraper id that was validated
    - `params` object: Accepted params only. Omitted inputs are left out.
  - `timestamp` string: Response timestamp

## Other responses

- `400`: Unknown scraper or invalid inputs
- `401`: Unauthorized - Invalid or expired API key
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/aerosend/apis/aerosend-developer-api.md) · [All operations](https://skmtc.dev/aerosend/apis/aerosend-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aerosend/apis/aerosend-developer-api/revisions/9828eeb89b1f?raw)
