Discover/1-800-Flowers API
live

1-800-Flowers API1800flowers.com

Search the 1-800-Flowers product catalog and retrieve SKU-level retail and sale prices for any product variant via two simple endpoints.

This API takes change requests — .
Endpoint health
verified 3d ago
search_products
get_product_pricing
2/2 passing latest checkself-healing
Endpoints
2
Updated
10d ago

What is the 1-800-Flowers API?

The 1-800-Flowers API provides two endpoints that cover product discovery and variant-level pricing across the 1800flowers.com catalog. search_products returns paginated results including price ranges, delivery type, and product URLs for any keyword query. get_product_pricing drills into a specific product's part number and returns retail and sale prices for every size and SKU variant, along with the product type code indicating florist or gift-box fulfillment.

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 1-800-Flowers API

Product Search

The search_products endpoint accepts a query string (e.g. 'roses', 'birthday', 'sunflowers') along with optional page, page_size (up to 36), and sort parameters. Responses include a products array with per-product pricing summaries, a total_products count, and total_pages to support full catalog traversal. All pages are auto-iterated, so you can walk the entire result set by incrementing the page parameter.

SKU-Level Pricing

The get_product_pricing endpoint takes a part_number — returned directly in search_products results — and resolves it to a prices array. Each entry in that array carries both retail and sale values for a distinct SKU variant, enabling precise price comparison across sizes. The response also includes a product_type field: FPT indicates florist-delivered arrangements and GPT indicates gift-box products, which reflects differences in fulfillment logistics.

Coverage and Data Shape

The two endpoints are designed to work in sequence: search for a category or keyword, collect part_number values from the results, then fetch full SKU pricing for the products you care about. The brand field in the pricing response carries the brand identifier code, which can be useful when the catalog includes items from 1-800-Flowers' affiliated brands. There is no authentication required on the caller side beyond standard Parse API credentials.

Reliability & maintenanceVerified

The 1-800-Flowers API is a managed, monitored endpoint for 1800flowers.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 1800flowers.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 1800flowers.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.

Last verified
3d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor retail and sale price changes across flower and gift SKUs by polling get_product_pricing on a schedule.
  • Build a price comparison tool for floral arrangements by querying search_products with category keywords and comparing prices arrays.
  • Identify which product variants are discounted by comparing retail vs sale values in the prices response.
  • Categorize catalog items by fulfillment type using the FPT and GPT product_type codes from get_product_pricing.
  • Aggregate total catalog size for a given search term using total_products and total_pages from search_products.
  • Extract product URLs from search_products results to build a curated gift recommendation feed.
  • Track pricing across affiliated brand SKUs by cross-referencing the brand field in pricing responses.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does 1-800-Flowers have an official developer API?+
1-800-Flowers does not publish a public developer API. There is no documented REST or GraphQL API available to third parties through their website.
What does `get_product_pricing` actually return, and how do I get a part_number?+
It returns a prices array where each entry contains retail and sale price values for one SKU variant of the product, plus product_type (FPT for florist delivery, GPT for gift box) and a brand code. The part_number input comes directly from the product objects returned by search_products — run a search first, then pass the part number into get_product_pricing.
Does `search_products` return stock availability or delivery date estimates?+
No. search_products returns price ranges, delivery type, product URLs, and pagination metadata. It does not expose inventory levels or estimated delivery windows. You can fork this API on Parse and revise it to add an endpoint that retrieves delivery or availability data for a specific product.
What is the maximum page size for `search_products`, and how does pagination work?+
page_size caps at 36 products per request. The response includes total_pages and total_products so you can determine how many requests are needed to cover a full result set. Increment the page parameter across requests to walk through all results.
Can I retrieve customer reviews or ratings for a product through this API?+
Not currently. The API covers product search results and SKU-level pricing only. Review counts, star ratings, and user-submitted content are not included in any response field. You can fork this API on Parse and revise it to add an endpoint targeting product review data.
Page content last updated . Spec covers 2 endpoints from 1800flowers.com.
Related APIs in EcommerceSee all →
oms.fromyouflowers.com API
Search and browse From You Flowers' complete product catalog, view detailed information about floral arrangements and gifts, explore available categories, and read customer testimonials to help with your purchase decisions. Get autocomplete suggestions as you search and access all the product details you need to find the perfect flowers or gift.
instacart.com API
Search for grocery products across multiple retailers, view store locations and availability, and access detailed product information including prices and descriptions. Find the best deals and nearest stores offering the items you need.
heb.com API
Search H-E-B grocery products to instantly find current pricing, availability, and product details across their inventory. Use this to compare prices, check stock levels, and discover items available at your local H-E-B store.
pricez.co.il API
Access data from pricez.co.il.
carrefour.eu API
Search and browse Carrefour's European online product catalog to access pricing, promotions, availability, and detailed product information including nutritional data. Retrieve comprehensive product details across categories to compare prices and find current deals in real-time.
williams-sonoma.com API
Search Williams-Sonoma products by keyword, browse product groups by category/group ID, and fetch detailed product information including pricing, images, and product details.
anker.com API
Search and browse Anker products to find prices, images, variants, and availability information directly from their online store. Get detailed product specifications to compare items and make informed purchasing decisions.
hm.com API
Search H&M's US product catalog by keyword and instantly retrieve detailed information like prices, product images, available sizes, and real-time stock availability. Perfect for comparing items, tracking product details, or building shopping applications powered by H&M's current inventory data.