
Product data monitoring
Keep up with your catalog.
Collect prices and availability, validate the records, and build a repeatable monitoring pipeline.
Web scraping & extraction API
From a URL to the data your application needs. Fetch pages, run browsers, and extract typed results through one asynchronous API.

Choose your collection path
Start with HTTP. Bring in a browser when the page needs it. Add structure when your application does.
Explore proxy routingRetrieve content from the initial response. A direct path for server-rendered pages and static HTML.
Execute JavaScript and wait for the content you need. Use supported selectors and wait conditions for dynamic pages.
Define typed fields and collections. Reuse extraction recipes and validate the result before it reaches your application.
Publish versioned browser steps, run them in a project environment, and inspect the execution history.
Made for your backend
Submit a URL. Follow its state. Retrieve the result. Keep HTTP collection, browser rendering, and extraction in the same integration.
curl --request POST "https://api.runharvester.com/api/v1/data/requests" \
--header "Accept: application/json" \
--header "X-API-Key: YOUR_API_KEY" \
--header "Idempotency-Key: product-parser-v1" \
--header "Content-Type: application/json" \
--data '{
"url": "https://example.com/products",
"proxy": "random",
"mode": "auto"
}'Keep API keys on your server. Submission returns a job, not the finished page.
POST /requestsSend your URL, execution mode, and optional extraction fields.
GET /requests/{id}Poll the job, inspect its state, and handle failures explicitly.
GET /requests/{id}/resultRead the completed result and store the data your application needs.
From collection to application

Product data monitoring
Collect prices and availability, validate the records, and build a repeatable monitoring pipeline.

Localized content validation
Check regional content with supported routing options. Compare what a page returns for the targets your account supports.
Room for your workload
Compare live credit allowances, concurrency, and account limits. Choose a plan around the requests you actually run.
Request cost depends on the selected route. Check returned billing metadata for actual credit usage.
View plans and pricingA few things worth knowing
RunHarvester serves as a web-data collection platform. Its asynchronous Data API fetches pages via HTTP or browser routes, returning HTML, text, and typed extraction results. You can inspect requests through the client cabinet, whereas Browser Workflows manages a separate versioned automation lifecycle.
Read the documentationChoose HTTP if the required content appears in the initial response. Opt for browser mode when JavaScript execution or page interaction is necessary. Auto permits the service to select a route. Compare actual output and billing metadata on representative pages before committing to a fixed mode.
Read the documentationProvide extraction.fields for a specific request or link an active recipe you own using extraction.recipe_id. Fields can define scalar values, lists, and object groups. Check the returned data and extraction status before saving the result.
Read the documentationData API batches accept raw scrape jobs only. Submit structured extraction as individual requests. Browser Workflow batches belong to a separate API and should not be confused with Data API batches.
Read the documentationStore API keys securely in a server-side secret manager and assign only the necessary scopes for the integration. Avoid placing credentials in public frontend code, documentation examples, or logs. Browser Workflow keys and scopes are scoped to their specific project and environment.
Read the documentationRequest cost depends on the active route and caching behavior. Auto serves as a routing policy, not a fixed price. Rely on response billing metadata and the current pricing version as the definitive source; plan prices and allowances are sourced from the live catalog.
Read the documentationYour next project starts with a URL
Connect your backend. Send a representative request. See what comes back.
Create an account Start with the API guide