← APIs / CrowdPull
Verified

CrowdPull

Capped public-data jobs: marketplace listings, rental comparables, review complaints and hiring signals, run per call rather than per subscription.

datafederated
Price per request
$0.03
About

CrowdPull publishes an x402 manifest alongside an OpenAPI document covering the same routes, so each job's arguments are documented rather than guessed. Apiosk resells them: the treasury settles the provider's own x402 in USDC on Base and the buyer pays the list price plus fee.

Base URL
https://gateway.apiosk.com/crowdpull
Technical Specs
Auth MethodNone (x402 payment proof only)
Response FormatJSON
Endpoints28
Endpoints
MethodPathDescriptionCost
POST /api/actors/aliexpress-reviews-scraper/call Start a capped CrowdPull AliExpress Reviews run for public product reviews. Good for supplier checks, complaint mining, and review datasets.
$0.02 default
View details
POST /api/actors/apartments-com-rentals-scraper/call Start a capped CrowdPull Apartments.com run for public rental listings by city, price, bedrooms, pet filters, and property type.
$0.06 default
View details
POST /api/actors/craigslist-scraper/call Start a capped CrowdPull Craigslist run for public classifieds across for-sale, housing, cars, jobs, gigs, services, community, and events.
$0.03 default
View details
POST /api/actors/crowdpull-ziprecruiter-jobs-scraper/call Start a capped CrowdPull ZipRecruiter run for public job listings by keyword, location, remote filter, salary fields, and apply links.
$0.06 default
View details
POST /api/actors/facebook-comment-scraper/call Start a capped CrowdPull Facebook Comment run for public comments and replies from supported public Facebook posts.
$0.05 default
View details
POST /api/actors/facebook-group-posts-scraper/call Start a capped CrowdPull Facebook Group Posts run for posts from supported public Facebook group pages.
$0.05 default
View details
POST /api/actors/facebook-marketplace-scraper/call Start a capped CrowdPull Facebook Marketplace run for public local listings. Good for quick lead checks by city, keyword, price range, and optional detail fetch.
$0.02 default
View details
POST /api/actors/facebook-page-posts-scraper/call Start a capped CrowdPull Facebook Page Posts run for public page and profile posts with date filtering and source URLs.
$0.05 default
View details
POST /api/actors/facebook-profile-scraper/call Start a capped CrowdPull Facebook Profile run for public profile posts, reactions, images, and source URLs where publicly visible.
$0.05 default
View details
POST /api/actors/flipkart-products-scraper/call Start a capped CrowdPull Flipkart run for public product listings from search, category, and product pages with optional detail and review enrichment.
$0.03 default
View details
POST /api/actors/goodrx-drug-prices-scraper/call Start a capped CrowdPull GoodRx run for public prescription price comparisons by drug, ZIP code, pharmacy, quantity, and delivery mode.
$0.06 default
View details
POST /api/actors/instagram-scraper/call Start a capped CrowdPull Instagram run for public profiles, posts, reels, comments, hashtags, places, and tagged-mention workflows where supported.
$0.06 default
View details
POST /api/actors/list Search CrowdPull's public-data catalog and get the supported paid API routes for agent calls.
$0.0057 default
View details
POST /api/actors/mercari-listings-scraper/call Start a capped CrowdPull Mercari run for public search, item, and seller inventory data with source URLs and listing diagnostics.
$0.03 default
View details
POST /api/actors/offerup-scraper/call Start a capped CrowdPull OfferUp run for public local listings. Good for quick resale, free-stuff, furniture, equipment, and price-monitoring checks.
$0.02 default
View details
POST /api/actors/osha-violations-scraper/call Start a capped CrowdPull OSHA run for public violation records used in compliance, account scoring, and risk research workflows.
$0.06 default
View details
POST /api/actors/target-products-scraper/call Start a capped CrowdPull Target run for public product search, category, product URL, price, rating, UPC, DPCI, and review sample data.
$0.03 default
View details
POST /api/actors/youtube-scraper-intelligence/call Start a capped CrowdPull YouTube run for public videos, Shorts, streams, channels, playlists, search results, subtitles, comments, and transcript records.
$0.06 default
View details
POST /api/actors/zillow-listings-scraper/call Start a capped CrowdPull Zillow run for public property search, URL, and lookup workflows with price and property filters.
$0.06 default
View details
POST /api/enrich/rows Clean supplied rows after the scrape: normalize fields, remove duplicates, score likely leads, and add light labels without rerunning the source.
$0.03 default
View details
POST /api/instant/marketplace-leads Return recent marketplace leads when a matching cache entry exists. If the cache misses, the caller can pay for a live Marketplace Lead Bundle refresh.
$0.01 default
View details
POST /api/monitors/refresh Refresh an existing CrowdPull watchlist and run the matching workflow again. The monitor token stays the same; each refresh is paid separately.
$0.10 default
View details
POST /api/monitors/watchlist Create a watchlist token for a repeated marketplace, rental, review, or hiring check. Store the token once, then pay only when refreshing it.
$0.33 default
View details
POST /api/smoke/discovery A tiny paid call for x402 directories and agents. It proves discovery metadata, settlement config, endpoint count, and route examples without starting a scraper.
$0.0011 default
View details
POST /api/workflows/hiring-signals Find public job posts by role, market, and remote filter, then return company, salary, location, apply URL, and source URL fields.
$0.22 default
View details
POST /api/workflows/marketplace-leads Search several marketplace sources at once, clean up the listing fields, remove obvious duplicates, and put the leads worth checking first.
$0.22 default
View details
POST /api/workflows/rental-comps Compare public rental listings without rebuilding the same search in two tabs. Returns price, beds, baths, location, and source URLs in one shape.
$0.33 default
View details
POST /api/workflows/review-complaints Pull product and review rows, keep product IDs and source URLs attached, and surface repeated complaints instead of burying them in review text.
$0.22 default
View details
Endpoint documentation
POST/api/actors/aliexpress-reviews-scraper/call
$0.02 default
Description

Start a capped CrowdPull AliExpress Reviews run for public product reviews. Good for supplier checks, complaint mining, and review datasets.

Pricing
$0.02 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "AliExpress Reviews Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeImages": {
          "default": false,
          "type": "boolean"
        },
        "includeProductStats": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxReviewsPerProduct": {
          "default": 50,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "productId": {
          "type": "string"
        },
        "productIds": {
          "description": "AliExpress product URLs or numeric product IDs.",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "productUrl": {
          "type": "string"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "sortBy": {
          "default": "default",
          "enum": [
            "default",
            "latest"
          ],
          "type": "string"
        },
        "starFilter": {
          "default": "all_star",
          "enum": [
            "all_star",
            "5",
            "4",
            "3",
            "2",
            "1"
          ],
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/apartments-com-rentals-scraper/call
$0.06 default
Description

Start a capped CrowdPull Apartments.com run for public rental listings by city, price, bedrooms, pet filters, and property type.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Apartments.com Rentals Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "bedrooms": {
          "type": "string"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPages": {
          "default": 3,
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        },
        "maxRent": {
          "minimum": 0,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "minRent": {
          "minimum": 0,
          "type": "integer"
        },
        "petFriendly": {
          "type": "boolean"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "scope": {
          "description": "Search scope such as city, state, neighborhood, or url when supported.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/craigslist-scraper/call
$0.03 default
Description

Start a capped CrowdPull Craigslist run for public classifieds across for-sale, housing, cars, jobs, gigs, services, community, and events.

Pricing
$0.03 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Craigslist Classifieds Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "category": {
          "description": "Craigslist category slug such as sss, apa, cta, or jjg.",
          "type": "string"
        },
        "city": {
          "description": "Craigslist city or region slug, for example detroit.",
          "type": "string"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResultsPerSearch": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "postalCode": {
          "type": "string"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchDistance": {
          "maximum": 500,
          "minimum": 1,
          "type": "integer"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/crowdpull-ziprecruiter-jobs-scraper/call
$0.06 default
Description

Start a capped CrowdPull ZipRecruiter run for public job listings by keyword, location, remote filter, salary fields, and apply links.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "ZipRecruiter Jobs Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPages": {
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "remote": {
          "type": "boolean"
        },
        "salaryMin": {
          "minimum": 0,
          "type": "integer"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/facebook-comment-scraper/call
$0.05 default
Description

Start a capped CrowdPull Facebook Comment run for public comments and replies from supported public Facebook posts.

Pricing
$0.05 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Facebook Comment Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeReplies": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxComments": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "postUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/facebook-group-posts-scraper/call
$0.05 default
Description

Start a capped CrowdPull Facebook Group Posts run for posts from supported public Facebook group pages.

Pricing
$0.05 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Facebook Group Posts Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "groupUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPosts": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "sinceDate": {
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/facebook-marketplace-scraper/call
$0.02 default
Description

Start a capped CrowdPull Facebook Marketplace run for public local listings. Good for quick lead checks by city, keyword, price range, and optional detail fetch.

Pricing
$0.02 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Facebook Marketplace Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "marketplaceUrls": {
          "description": "Facebook Marketplace city, category, or search URLs.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPrice": {
          "description": "Maximum price in local currency cents.",
          "minimum": 0,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "minPrice": {
          "description": "Minimum price in local currency cents.",
          "minimum": 0,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "radiusKm": {
          "default": 65,
          "maximum": 500,
          "minimum": 1,
          "type": "integer"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "strictFiltering": {
          "default": false,
          "type": "boolean"
        },
        "untilDate": {
          "description": "Only keep listings on or after this YYYY-MM-DD date.",
          "type": "string"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/facebook-page-posts-scraper/call
$0.05 default
Description

Start a capped CrowdPull Facebook Page Posts run for public page and profile posts with date filtering and source URLs.

Pricing
$0.05 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Facebook Page Posts Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPosts": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "pageUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "sinceDate": {
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/facebook-profile-scraper/call
$0.05 default
Description

Start a capped CrowdPull Facebook Profile run for public profile posts, reactions, images, and source URLs where publicly visible.

Pricing
$0.05 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Facebook Profile Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPosts": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "profileUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "sinceDate": {
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/flipkart-products-scraper/call
$0.03 default
Description

Start a capped CrowdPull Flipkart run for public product listings from search, category, and product pages with optional detail and review enrichment.

Pricing
$0.03 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Flipkart Products Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeReviews": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPages": {
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/goodrx-drug-prices-scraper/call
$0.06 default
Description

Start a capped CrowdPull GoodRx run for public prescription price comparisons by drug, ZIP code, pharmacy, quantity, and delivery mode.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "GoodRx Drug Prices Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "deliveryType": {
          "enum": [
            "pickup",
            "mail",
            "all"
          ],
          "type": "string"
        },
        "drugName": {
          "type": "string"
        },
        "drugNames": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includeCoupons": {
          "default": true,
          "type": "boolean"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxOffersPerDrugZip": {
          "maximum": 50,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "quantity": {
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "zip": {
          "type": "string"
        },
        "zips": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/instagram-scraper/call
$0.06 default
Description

Start a capped CrowdPull Instagram run for public profiles, posts, reels, comments, hashtags, places, and tagged-mention workflows where supported.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Instagram Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "hashtags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPosts": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "places": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "usernames": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/list
$0.0057 default
Description

Search CrowdPull's public-data catalog and get the supported paid API routes for agent calls.

Pricing
$0.0057 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "family": {
      "description": "Optional CrowdPull family slug such as marketplace-listings, facebook-data, or ecommerce-products-reviews.",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "maximum": 20,
      "minimum": 1,
      "type": "integer"
    },
    "query": {
      "description": "Search text such as Facebook Marketplace, OfferUp, AliExpress reviews, furniture, local deals, or product reviews.",
      "type": "string"
    }
  },
  "type": "object"
}
POST/api/actors/mercari-listings-scraper/call
$0.03 default
Description

Start a capped CrowdPull Mercari run for public search, item, and seller inventory data with source URLs and listing diagnostics.

Pricing
$0.03 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Mercari Listings Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPages": {
          "default": 2,
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "priceMax": {
          "minimum": 0,
          "type": "integer"
        },
        "priceMin": {
          "minimum": 0,
          "type": "integer"
        },
        "queries": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "description": "Listing status filter when supported, for example on_sale.",
          "type": "string"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/offerup-scraper/call
$0.02 default
Description

Start a capped CrowdPull OfferUp run for public local listings. Good for quick resale, free-stuff, furniture, equipment, and price-monitoring checks.

Pricing
$0.02 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "OfferUp Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "condition": {
          "items": {
            "enum": [
              "NEW",
              "OPEN_BOX",
              "REFURBISHED",
              "USED",
              "BROKEN",
              "OTHER"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "delivery": {
          "default": "p_s",
          "enum": [
            "p",
            "s",
            "p_s"
          ],
          "type": "string"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "latitude": {
          "type": "number"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "longitude": {
          "type": "number"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPrice": {
          "minimum": 0,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "minPrice": {
          "minimum": 0,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "radiusMiles": {
          "default": 30,
          "maximum": 500,
          "minimum": 1,
          "type": "integer"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "sortBy": {
          "default": "-posted",
          "enum": [
            "-posted",
            "distance",
            "price",
            "-price"
          ],
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/osha-violations-scraper/call
$0.06 default
Description

Start a capped CrowdPull OSHA run for public violation records used in compliance, account scoring, and risk research workflows.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "OSHA Violations Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "establishmentName": {
          "type": "string"
        },
        "fromDate": {
          "type": "string"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "state": {
          "type": "string"
        },
        "toDate": {
          "type": "string"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/target-products-scraper/call
$0.03 default
Description

Start a capped CrowdPull Target run for public product search, category, product URL, price, rating, UPC, DPCI, and review sample data.

Pricing
$0.03 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Target Products Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeReviews": {
          "default": false,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "productIds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "storeId": {
          "type": "string"
        },
        "tcins": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "zipCode": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/youtube-scraper-intelligence/call
$0.06 default
Description

Start a capped CrowdPull YouTube run for public videos, Shorts, streams, channels, playlists, search results, subtitles, comments, and transcript records.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "YouTube Scraper Intelligence input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "channelUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includeComments": {
          "default": false,
          "type": "boolean"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeSubtitles": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxVideos": {
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "playlistUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "videoUrls": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/actors/zillow-listings-scraper/call
$0.06 default
Description

Start a capped CrowdPull Zillow run for public property search, URL, and lookup workflows with price and property filters.

Pricing
$0.06 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Zillow Listings Scraper input. Pass the same public URLs, search terms, filters, and limits you would use on the source page. Extra source-specific fields are forwarded to the runner.",
      "properties": {
        "bathsMin": {
          "minimum": 0,
          "type": "integer"
        },
        "bedsMin": {
          "minimum": 0,
          "type": "integer"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "listingType": {
          "description": "for_sale, for_rent, sold, or another source-supported listing type.",
          "type": "string"
        },
        "location": {
          "description": "City, ZIP, state, neighborhood, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxListings": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxResults": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "mode": {
          "default": "search",
          "enum": [
            "search",
            "url",
            "lookup"
          ],
          "type": "string"
        },
        "priceMax": {
          "minimum": 0,
          "type": "integer"
        },
        "priceMin": {
          "minimum": 0,
          "type": "integer"
        },
        "query": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Search query or keyword.",
          "type": "string"
        },
        "searchUrls": {
          "description": "Zillow search URLs. Required in URL mode. CrowdPull also accepts startUrls or urls and maps them to this field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "startUrls": {
          "description": "Public source URLs to collect from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Single public URL accepted by the selected source.",
          "type": "string"
        },
        "urls": {
          "description": "Public URLs accepted by the selected source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": false,
  "properties": {
    "job": {
      "additionalProperties": true,
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "finishedAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "resultSetId": {
          "type": "string"
        },
        "startedAt": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "status"
      ],
      "type": "object"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "job"
  ],
  "type": "object"
}
POST/api/enrich/rows
$0.03 default
Description

Clean supplied rows after the scrape: normalize fields, remove duplicates, score likely leads, and add light labels without rerunning the source.

Pricing
$0.03 default
Request schema
{
  "additionalProperties": true,
  "properties": {
    "input": {
      "additionalProperties": true,
      "properties": {
        "maxItems": {
          "default": 100,
          "maximum": 500,
          "minimum": 1,
          "type": "integer"
        },
        "mode": {
          "default": "auto",
          "enum": [
            "marketplace",
            "rentals",
            "reviews",
            "jobs",
            "auto"
          ],
          "type": "string"
        },
        "rows": {
          "description": "Rows from CrowdPull or another source. Each row can include source URL, title, price, location, text, rating, company, or other fields.",
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "rows": {
      "description": "Rows from CrowdPull or another source. Each row can include source URL, title, price, location, text, rating, company, or other fields.",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "type": "object"
}
POST/api/instant/marketplace-leads
$0.01 default
Description

Return recent marketplace leads when a matching cache entry exists. If the cache misses, the caller can pay for a live Marketplace Lead Bundle refresh.

Pricing
$0.01 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "properties": {
        "location": {
          "type": "string"
        },
        "maxAgeMinutes": {
          "default": 240,
          "maximum": 1440,
          "minimum": 1,
          "type": "integer"
        },
        "maxItems": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "type": "string"
        },
        "refreshLive": {
          "default": true,
          "type": "boolean"
        },
        "searchQuery": {
          "type": "string"
        },
        "sources": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "type": "object"
}
POST/api/monitors/refresh
$0.10 default
Description

Refresh an existing CrowdPull watchlist and run the matching workflow again. The monitor token stays the same; each refresh is paid separately.

Pricing
$0.10 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "properties": {
        "filters": {
          "additionalProperties": true,
          "type": "object"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeEnrichment": {
          "default": true,
          "type": "boolean"
        },
        "maxItems": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "maxPerSource": {
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "monitorToken": {
          "description": "Signed token returned by /api/monitors/watchlist.",
          "type": "string"
        },
        "sourceInputs": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "required": [
        "monitorToken"
      ],
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "type": "object"
}
POST/api/monitors/watchlist
$0.33 default
Description

Create a watchlist token for a repeated marketplace, rental, review, or hiring check. Store the token once, then pay only when refreshing it.

Pricing
$0.33 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "properties": {
        "cadence": {
          "default": "manual",
          "enum": [
            "manual",
            "hourly",
            "daily",
            "weekly"
          ],
          "type": "string"
        },
        "location": {
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "type": "string"
        },
        "runInitial": {
          "default": false,
          "type": "boolean"
        },
        "searchQuery": {
          "type": "string"
        },
        "webhookUrl": {
          "description": "Optional customer-owned webhook for future managed-monitor delivery.",
          "type": "string"
        },
        "workflow": {
          "default": "marketplace-leads",
          "enum": [
            "marketplace-leads",
            "rental-comps",
            "review-complaints",
            "hiring-signals"
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "type": "object"
}
POST/api/smoke/discovery
$0.0011 default
Description

A tiny paid call for x402 directories and agents. It proves discovery metadata, settlement config, endpoint count, and route examples without starting a scraper.

Pricing
$0.0011 default
Request schema
{
  "additionalProperties": true,
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "includeExamples": {
          "default": true,
          "type": "boolean"
        },
        "includeRoutes": {
          "default": true,
          "type": "boolean"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "type": "object"
}
POST/api/workflows/hiring-signals
$0.22 default
Description

Find public job posts by role, market, and remote filter, then return company, salary, location, apply URL, and source URL fields.

Pricing
$0.22 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Hiring Signal Bundle request. CrowdPull fans this out to the selected public-data sources, then normalizes, deduplicates, and ranks the rows.",
      "properties": {
        "filters": {
          "additionalProperties": true,
          "type": "object"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeEnrichment": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, market, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPerSource": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Main search term, keyword, product, role, company, or item.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Alias for query.",
          "type": "string"
        },
        "sourceInputs": {
          "additionalProperties": true,
          "description": "Optional per-source input overrides keyed by source name.",
          "type": "object"
        },
        "sources": {
          "description": "Optional subset of sources to run. Omit to use the workflow defaults.",
          "items": {
            "enum": [
              "crowdpull-ziprecruiter-jobs-scraper"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "properties": {
    "jobs": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "token": {
      "type": "string"
    },
    "workflow": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "workflow",
    "jobs"
  ],
  "type": "object"
}
POST/api/workflows/marketplace-leads
$0.22 default
Description

Search several marketplace sources at once, clean up the listing fields, remove obvious duplicates, and put the leads worth checking first.

Pricing
$0.22 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Marketplace Lead Bundle request. CrowdPull fans this out to the selected public-data sources, then normalizes, deduplicates, and ranks the rows.",
      "properties": {
        "filters": {
          "additionalProperties": true,
          "type": "object"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeEnrichment": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, market, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPerSource": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Main search term, keyword, product, role, company, or item.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Alias for query.",
          "type": "string"
        },
        "sourceInputs": {
          "additionalProperties": true,
          "description": "Optional per-source input overrides keyed by source name.",
          "type": "object"
        },
        "sources": {
          "description": "Optional subset of sources to run. Omit to use the workflow defaults.",
          "items": {
            "enum": [
              "facebook-marketplace-scraper",
              "offerup-scraper",
              "craigslist-scraper",
              "mercari-listings-scraper"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "properties": {
    "jobs": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "token": {
      "type": "string"
    },
    "workflow": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "workflow",
    "jobs"
  ],
  "type": "object"
}
POST/api/workflows/rental-comps
$0.33 default
Description

Compare public rental listings without rebuilding the same search in two tabs. Returns price, beds, baths, location, and source URLs in one shape.

Pricing
$0.33 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Rental Comps Bundle request. CrowdPull fans this out to the selected public-data sources, then normalizes, deduplicates, and ranks the rows.",
      "properties": {
        "filters": {
          "additionalProperties": true,
          "type": "object"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeEnrichment": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, market, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPerSource": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Main search term, keyword, product, role, company, or item.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Alias for query.",
          "type": "string"
        },
        "sourceInputs": {
          "additionalProperties": true,
          "description": "Optional per-source input overrides keyed by source name.",
          "type": "object"
        },
        "sources": {
          "description": "Optional subset of sources to run. Omit to use the workflow defaults.",
          "items": {
            "enum": [
              "zillow-listings-scraper",
              "apartments-com-rentals-scraper"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "properties": {
    "jobs": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "token": {
      "type": "string"
    },
    "workflow": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "workflow",
    "jobs"
  ],
  "type": "object"
}
POST/api/workflows/review-complaints
$0.22 default
Description

Pull product and review rows, keep product IDs and source URLs attached, and surface repeated complaints instead of burying them in review text.

Pricing
$0.22 default
Request schema
{
  "additionalProperties": false,
  "properties": {
    "input": {
      "additionalProperties": true,
      "description": "Review Complaint Mining Bundle request. CrowdPull fans this out to the selected public-data sources, then normalizes, deduplicates, and ranks the rows.",
      "properties": {
        "filters": {
          "additionalProperties": true,
          "type": "object"
        },
        "includeDetails": {
          "default": false,
          "type": "boolean"
        },
        "includeEnrichment": {
          "default": true,
          "type": "boolean"
        },
        "location": {
          "description": "City, ZIP, state, market, or source-supported location.",
          "type": "string"
        },
        "maxItems": {
          "default": 25,
          "maximum": 250,
          "minimum": 1,
          "type": "integer"
        },
        "maxPerSource": {
          "default": 25,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "Main search term, keyword, product, role, company, or item.",
          "type": "string"
        },
        "searchQuery": {
          "description": "Alias for query.",
          "type": "string"
        },
        "sourceInputs": {
          "additionalProperties": true,
          "description": "Optional per-source input overrides keyed by source name.",
          "type": "object"
        },
        "sources": {
          "description": "Optional subset of sources to run. Omit to use the workflow defaults.",
          "items": {
            "enum": [
              "aliexpress-reviews-scraper",
              "target-products-scraper",
              "flipkart-products-scraper"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "options": {
      "additionalProperties": false,
      "description": "Optional CrowdPull job options. CrowdPull caps each paid job so low-cost agent calls cannot accidentally start a large collection.",
      "properties": {
        "build": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "memory": {
          "maximum": 8192,
          "minimum": 128,
          "type": "integer"
        },
        "waitForFinishSeconds": {
          "default": 10,
          "maximum": 60,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}
Response schema
{
  "additionalProperties": true,
  "properties": {
    "jobs": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "token": {
      "type": "string"
    },
    "workflow": {
      "type": "string"
    }
  },
  "required": [
    "token",
    "workflow",
    "jobs"
  ],
  "type": "object"
}