1800flowers API1800flowers.com ↗
Search 1-800-Flowers products and instantly retrieve detailed SKU-level pricing information to compare costs and availability across their catalog. Access real-time product data to make informed purchasing decisions or integrate current pricing into your applications.
curl -X POST 'https://api.parse.bot/scraper/5db52e02-370b-4d3a-a7ed-03cc8887e942/search_products' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"page": "1",
"sort": "BEST_SELLERS",
"query": "roses",
"page_size": "36"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace 1800flowers-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: 1-800-Flowers SDK — bounded, re-runnable; every call capped."""
from parse_apis.api_1800flowers_com_api import Flowers1800, Sort, ProductNotFound
client = Flowers1800()
# Search for products sorted by price, capped at 3 results total.
for product in client.products.search(query="roses", sort=Sort.PRICE_ASC, limit=3):
print(product.name, product.sale_price_min, product.retail_price_min)
# Drill-down: take one product and fetch its detailed SKU pricing.
item = client.products.search(query="sunflowers", limit=1).first()
if item:
try:
pricing = item.pricing()
print(pricing.part_number, pricing.product_type)
for sku in pricing.prices[:3]:
print(sku.sku_part_number, sku.type, sku.value)
except ProductNotFound as e:
print("not found:", e.part_number)
print("exercised: products.search, product.pricing")
Full-text search over the 1-800-Flowers product catalog. Returns paginated products with price ranges, delivery type, and product URLs. Results are auto-iterated across pages.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for paginated results. |
| sort | string | Sort order for results. |
| query | string | Search term to find products (e.g. 'roses', 'sunflowers', 'birthday'). |
| page_size | integer | Number of products per page (max 36). |
{
"type": "object",
"fields": {
"page": "current page number",
"query": "search term used",
"products": "array of product objects with pricing",
"page_size": "number of products requested per page",
"total_pages": "total number of pages available",
"total_products": "total matching products across all pages"
},
"sample": {
"data": {
"page": 1,
"query": "roses",
"products": [
{
"id": "1001-P-91790",
"url": "https://www.1800flowers.com/two-dozen-red-roses-91790",
"name": "Two Dozen Red Roses",
"brand": "1800flowers",
"base_code": "91790",
"image_url": "https://cdn3.1800flowers.com/wcsstore/Flowers/images/catalog/90926mrdv4df1xlx.jpg",
"part_number": "1001-P-91790",
"product_type": "REGULARPRODUCT",
"delivery_type": "GPT",
"sale_price_max": 102.99,
"sale_price_min": 69.99,
"retail_price_max": 102.99,
"retail_price_min": 69.99
}
],
"page_size": 36,
"total_pages": 6,
"total_products": 210
},
"status": "success"
}
}About the 1800flowers API
The 1800flowers API on Parse exposes 2 endpoints for the publicly available data on 1800flowers.com. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.