Vistaprint APIvistaprint.com ↗
Browse Vistaprint's 6,400+ product catalog via API. Get categories, product details, pricing matrices, and search by keyword across all product types.
What is the Vistaprint API?
The Vistaprint API exposes 5 endpoints that cover the full Vistaprint product catalog — over 6,400 SKUs across business cards, signage, apparel, promotional products, and packaging. Use get_products_by_category to paginate through any of three category hierarchy levels, search_products to query by keyword, or get_configuration_pricing to retrieve a complete quantity-price matrix for one exact product configuration including list and discounted unit prices.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/96c9bdb9-fcb3-4dba-9644-21ce045ddaa8/get_categories' \ -H 'X-API-Key: $PARSE_API_KEY'
Get all product categories with product counts. Returns a 3-level category hierarchy (top-level, subcategories level 1, subcategories level 2) with the number of products in each category. Use the returned category_id values as input to get_products_by_category.
No input parameters required.
{
"type": "object",
"fields": {
"total_products": "integer - total number of products in catalog",
"top_level_categories": "array of CategoryCount objects",
"subcategories_level_1": "array of CategoryCount objects",
"subcategories_level_2": "array of CategoryCount objects",
"subcategories_level_3": "array of CategoryCount objects (may be empty)"
},
"sample": {
"data": {
"total_products": 6766,
"top_level_categories": [
{
"level": 0,
"category_id": "promotionalProducts",
"product_count": 3466
},
{
"level": 0,
"category_id": "clothingAndBags",
"product_count": 2856
}
],
"subcategories_level_1": [
{
"level": 1,
"category_id": "bags",
"product_count": 1092
}
],
"subcategories_level_2": [
{
"level": 2,
"category_id": "personalizedPens",
"product_count": 504
}
],
"subcategories_level_3": []
},
"status": "success"
}
}About the Vistaprint API
Category and Product Discovery
get_categories returns the full 3-level category hierarchy with product counts at each node, giving you top-level categories, two levels of subcategories, and the total catalog size. The category_id values it returns feed directly into get_products_by_category, which accepts a category string, an optional category_level integer (0 for top, 1 for sub, 2 for sub-sub), and standard page/limit pagination (up to 100 products per page). Each product object in the response includes product_id, name, quantities (MOQ, default, recommended), pricing, categories, rating, and metadata.
Search and Product Details
search_products accepts a query string and returns matching products with the same field shape as category browsing, plus a category_breakdown object that maps top-level category IDs to result counts — useful for faceted navigation. For deeper inspection, get_product_details takes a product_id and returns the full option set (e.g., shape, paper stock, finish), a compatible_options map showing which option values are valid together, and a pricing_by_quantity object covering every orderable quantity with total_list_price, total_discounted_price, unit_list_price, and unit_discounted_price.
Configuration-Level Pricing
get_configuration_pricing is the most granular endpoint. It accepts a product_id, product_version, and an optional selected_options JSON object (e.g., {"Shape": "Square", "Paper Stock": "Pearl"}). The response returns a pricing_by_quantity array sorted by quantity, with per-row fields for total_list_price, total_discounted_price, unit_list_price, and unit_discounted_price, all in the ISO currency code returned in the currency field. It also returns resolved_configuration — the full set of option values that were actually priced, filling in defaults for any options you omitted — and compatible_quantities listing the orderable quantities for that configuration.
The Vistaprint API is a managed, monitored endpoint for vistaprint.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vistaprint.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official vistaprint.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Vistaprint price comparison tool that pulls
pricing_by_quantityacross multiple product configurations to find the lowest unit cost at a given quantity. - Generate a product catalog snapshot by iterating
get_categoriesandget_products_by_categoryto capture all 6,400+ SKUs with their MOQ and pricing. - Power a procurement workflow that uses
search_productsto find branded merchandise by keyword and returns category breakdown for filtering. - Monitor list vs. discounted price gaps across product variants using
get_configuration_pricingto track promotional pricing changes over time. - Build a bulk-order estimator that uses
compatible_quantitiesandpricing_by_quantityfromget_configuration_pricingto model cost at different order volumes. - Audit the category taxonomy by walking the 3-level hierarchy returned by
get_categoriesand mapping product counts to each node. - Validate product option compatibility for a custom order configurator using the
compatible_optionsobject fromget_product_details.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Vistaprint have an official public developer API?+
What does `get_configuration_pricing` return that `get_product_details` doesn't?+
get_product_details returns a pricing_by_quantity object for the base product and the full option set. get_configuration_pricing accepts a selected_options map locking in specific choices (e.g., a particular shape or paper stock) and returns pricing only for that exact configuration, along with a resolved_configuration object showing every option value that was priced and compatible_quantities valid for those selections.Does the API return product images or design template information?+
How does pagination work across the catalog endpoints?+
get_products_by_category and search_products both use 0-indexed page and limit parameters (max 100 per page). Each response includes total_pages, current_page, and either total_products or total_results so you can walk the full result set page by page.Are shipping costs or delivery estimates included in the pricing data?+
pricing_by_quantity and get_configuration_pricing are product prices only — untaxed and excluding shipping. Shipping estimates are not part of any response. You can fork this API on Parse and revise it to add an endpoint that retrieves shipping cost estimates for a given configuration and delivery address.