Discover/1800flowers API
live

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.

This API takes change requests — .
Endpoint health
monitored
get_product_pricing
search_products
Checks pendingself-healing
Endpoints
2
Updated
4h ago
This call costs1 credit / call— charged only on success
Try it
Page number for paginated results.
Sort order for results.
Search term to find products (e.g. 'roses', 'sunflowers', 'birthday').
Number of products per page (max 36).
api.parse.bot/scraper/5db52e02-370b-4d3a-a7ed-03cc8887e942/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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"
}'
Python SDK · recommended

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")
All endpoints · 2 totalmissing one? ·

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.

Input
ParamTypeDescription
pageintegerPage number for paginated results.
sortstringSort order for results.
querystringSearch term to find products (e.g. 'roses', 'sunflowers', 'birthday').
page_sizeintegerNumber of products per page (max 36).
Response
{
  "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.