Pricing
How the API prices setup, scrapes and matching, and how the estimate becomes the charge.
All prices are in EUR. The prices of scrapes and matching are for 1,000 products. VAT is added when you top up your credit, not on the job charges. The estimate of each job is the price that applies. The tables on this page show the current price list.
Website setup
A setup job analyzes a website, trains the scraper and extracts sample data. The price is for the analysis:
| Setup job | Price |
|---|---|
| The first 10 of each month | Free |
| Each next one in the month | €0.50 |
A failed analysis costs nothing. See Add a website.
Free
| Item | Price |
|---|---|
| Product sample of a website | Free |
| First matching sample of a project | Free |
Scrapes
Full scrapes and URL scrapes have the same price. The price depends on the difficulty of the website:
difficulty | When | Price for 1,000 products |
|---|---|---|
EASY | The website gives its pages without a browser. | €0.40 |
MEDIUM | The scraper must use a browser to read the pages. | €0.70 |
HARD | The website has strong protections, for example it needs residential proxies. | €1.20 |
The analysis sets the difficulty. The quantity of the estimate is:
- For a full scrape: the latest product count of the website. Before the first full scrape, the count is the estimate of the analysis.
- For a URL scrape: the number of accepted URLs.
Example. A full scrape of an EASY website with 12,345 products: 12,345 × €0.40 / 1,000 = €4.94. The cap is €7.41.
Matching
The price for 1,000 products of a matching run comes from volume bands. The bands are incremental, like tax brackets: each product has the price of the band that it falls into.
| Input products | Price for 1,000 products |
|---|---|
| The first 50,000 | €7 |
| From 50,000 to 250,000 | €3 |
| More than 250,000 | €2 |
input_products in the estimate is the number of products of all websites in the run. unit_price_per_1000 is the average price over all bands.
Example. A first run with 100,000 input products: 50,000 × €7 / 1,000 + 50,000 × €3 / 1,000 = €500.00. The unit price is €5.00 and the cap is €750.00.
Later runs
A later run of the same websites pays only for the products that are new or changed since the last run. The minimum is 5% of the price of a first run with the same products. In the example above, the minimum of a later run is €25.00.
From the estimate to the charge
Each paid job has an estimate with these values:
| Field | Description |
|---|---|
quantity | The estimated number of products. |
unit_price_per_1000 | The price for 1,000 products. |
total | quantity × unit_price_per_1000 / 1,000, but not less than min_charge. |
cap | 1.5 × total. The charge is never more than this value. |
min_charge | The minimum charge of a job: €0.10. For a later matching run, 5% of the price of a first run, if that is more. |
difficulty | Scrapes only: EASY, MEDIUM or HARD. |
input_products | Matching only: the products of all websites in the run. |
The charge uses the actual number of products, at the unit_price_per_1000 of the approved estimate:
charge = max(products × unit_price_per_1000 / 1000, min_charge), not more than cap- For a scrape,
productsis the number of products that the scrape collected. - For a matching,
productsis the number of new and changed products in the run.
If products is 0, the charge is 0. A scrape without products fails. A matching without new or changed products completes at €0.00.
The API rounds each amount to whole cents, with half up. The settlement of the job shows the final values. If the cap limited the charge, capped is true.
Price changes
The approval calculates the estimate again with the newest data. If the price goes up, the approval stops with 409 ESTIMATE_CHANGED and gives you the new estimate. If it goes down, you pay the lower price. A job keeps the prices of its approved estimate until its settlement.