IP Library Granted Patent US 12,737,803
Granted Patent B1
US 12,737,803 · App. 18/781,770 · Granted Sep 15, 2026

System, method, and computer program for saving a product listing to a product registry based on a photographic image

Inventors: Aaron Smith (Las Vegas, NV); Kristen Turner (San Francisco, CA); Harvey Fang (Los Angeles, CA); Beatriz Miranda (San Francisco, CA)
Assignee: Baby List, Inc.
G06Q30/0633
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,803
App. No.
18/781,770
Granted
Sep 15, 2026
Kind
B1
Abstract

A product listing is saved to a product registry based on a photographic image. A client application receives a product image from a user's camera or photo library. The client application obtains a URL for the image and calls an API with the URL, where the API requests search results from an internet image searching service using the URL. A server receives search results from the internet image searching service via the API. The server compares product offers in the search results with a product database by matching a product offer in the search results to a product record in the product database based on having a same URL. The server identifies a matched product record as a product listing and sends the product listing to the client application for display. The client application displays the product listing with a call-to-action button for saving the product to the product registry.

Claims (77)

1 . A method, performed by a computer system, for saving a product listing to a product registry based on a photographic image, the method comprising:

a client application receiving an image of a product from a user's camera or photo library;

the client application obtaining a uniform resource locator (URL) for the image;

the client application calling a first application programming interface (API) with the URL for the image, wherein the first API requests search results from an internet image searching service using the URL for the image;

a server receiving search results from the internet image searching service via the first API, wherein the server has a product database that comprises a plurality of product records, wherein each product record is associated with one or more merchant offer records, and wherein the search results comprise one or more product offers;

the server comparing the one or more product offers in the search results with the product database by matching a product offer in the search results to a product record in the product database based on the product offer and matched product record having a same URL, wherein the server identifies the matched product record as a product listing, wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server filtering out any product offers in the search results that have the same GTIN as the matched product record; and

the server creating a consolidated product listing by grouping all the merchant offer records associated with the matched product record;

in response to the server finding a match between the product offer in the search results and the product record in the product database, performing the following:

the server sending the consolidated product listing to the client application for display, and

the client application displaying the consolidated product listing, wherein the consolidated product listing has a call-to-action button for saving the product to the product registry, wherein for a plurality of consolidated product listings, displaying the consolidated product listing further comprises:

for each of a plurality of consolidated product listings:

the server receiving a primary merchant from the internet image searching service,

the server ranking the primary merchant based on sales volume data from the product database, and

the server calculating a score, wherein the score is based on the ranking of the primary merchant based on sales volume data and a weighted number of merchant offer records associated with the product record;

the server sorting the plurality of consolidated product listings based on each score; and

the server sending the sorted plurality of consolidated product listings to the client application for display; and

in response to the server not finding a match between the product offer in the search results and any product record in the product database, performing the following:

returning the search results to the client application for display, and

the client application displaying the search results, wherein the search results have a call-to-action button for saving a product in the search results to the product registry.

2 . The method of claim 1 , wherein the URL is a public URL, and obtaining the URL for the image comprises sending the image to an image hosting service to generate a public URL for the image.

3 . The method of claim 1 , further comprising a second API, wherein the first API calls the second API with the URL for the image, and the second API interfaces with the internet image searching service and receives search results back from the internet image searching service.

4 . The method of claim 1 , wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server removing any search results that are not product offers.

5 . The method of claim 1 , wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server normalizing the URL for the product offers.

6 . The method of claim 1 , further comprising updating the product database with the one or more product offers in the search results, wherein updating the product database comprises creating new product records and/or merchant offer records or updating existing product records and/or merchant offer records.

7 . A non-transitory computer-readable medium comprising a computer program, that, when executed by a computer system, enables the computer system to perform the following steps for saving a product listing to a product registry based on a photographic image, the steps comprising:

a client application receiving an image of a product from a user's camera or photo library;

the client application obtaining a uniform resource locator (URL) for the image;

the client application calling a first application programming interface (API) with the URL for the image, wherein the first API requests search results from an internet image searching service using the URL for the image;

a server receiving search results from the internet image searching service via the first API, wherein the server has a product database that comprises a plurality of product records, wherein each product record is associated with one or more merchant offer records, and wherein the search results comprise one or more product offers;

the server comparing the one or more product offers in the search results with the product database by matching a product offer in the search results to a product record in the product database based on the product offer and matched product record having a same URL, wherein the server identifies the matched product record as a product listing, wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server filtering out any product offers in the search results that have the same GTIN as the matched product record; and

the server creating a consolidated product listing by grouping all the merchant offer records associated with the matched product record;

in response to the server finding a match between the product offer in the search results and the product record in the product database, performing the following:

the server sending the consolidated product listing to the client application for display, and

the client application displaying the consolidated product listing, wherein the consolidated product listing has a call-to-action button for saving the product to the product registry, wherein for a plurality of consolidated product listings, displaying the consolidated product listing further comprises:

for each of a plurality of consolidated product listings:

the server receiving a primary merchant from the internet image searching service,

the server ranking the primary merchant based on sales volume data from the product database, and

the server calculating a score, wherein the score is based on the ranking of the primary merchant based on sales volume data and a weighted number of merchant offer records associated with the product record;

the server sorting the plurality of consolidated product listings based on each score; and

the server sending the sorted plurality of consolidated product listings to the client application for display; and

in response to the server not finding a match between the product offer in the search results and any product record in the product database, performing the following:

returning the search results to the client application for display, and

the client application displaying the search results, wherein the search results have a call-to-action button for saving a product in the search results to the product registry.

8 . The non-transitory computer-readable medium of claim 7 , further comprising a second API, wherein the first API calls the second API with the URL for the image, and the second API interfaces with the internet image searching service and receives search results back from the internet image searching service.

9 . The non-transitory computer-readable medium of claim 7 , wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server normalizing the URL for the product offers.

10 . The non-transitory computer-readable medium of claim 7 , further comprising updating the product database with the one or more product offers in the search results, wherein updating the product database comprises creating new product records and/or merchant offer records or updating existing product records and/or merchant offer records.

11 . A computer system for saving a product listing to a product registry based on a photographic image, the system comprising:

one or more processors;

one or more memory units coupled to the one or more processors, wherein the one or more memory units store instructions that, when executed by the one or more processors, cause the system to perform the operations of:

a client application receiving an image of a product from a user's camera or photo library;

the client application obtaining a uniform resource locator (URL) for the image;

the client application calling a first application programming interface (API) with the URL for the image, wherein the first API requests search results from an internet image searching service using the URL for the image;

a server receiving search results from the internet image searching service via the first API, wherein the server has a product database that comprises a plurality of product records, wherein each product record is associated with one or more merchant offer records, and wherein the search results comprise one or more product offers;

the server comparing the one or more product offers in the search results with the product database by matching a product offer in the search results to a product record in the product database based on the product offer and matched product record having a same URL, wherein the server identifies the matched product record as a product listing, wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server filtering out any product offers in the search results that have the same GTIN as the matched product record; and

the server creating a consolidated product listing by grouping all the merchant offer records associated with the matched product record;

in response to the server finding a match between the product offer in the search results and the product record in the product database, performing the following:

the server sending the consolidated product listing to the client application for display, and

the client application displaying the consolidated product listing, wherein the consolidated product listing has a call-to-action button for saving the product to the product registry, wherein for a plurality of consolidated product listings, displaying the consolidated product listing further comprises:

for each of a plurality of consolidated product listings:

the server receiving a primary merchant from the internet image searching service,

the server ranking the primary merchant based on sales volume data from the product database, and

the server calculating a score, wherein the score is based on the ranking of the primary merchant based on sales volume data and a weighted number of merchant offer records associated with the product record;

the server sorting the plurality of consolidated product listings based on each score; and

the server sending the sorted plurality of consolidated product listings to the client application for display; and

in response to the server not finding a match between the product offer in the search results and any product record in the product database, performing the following:

returning the search results to the client application for display, and

the client application displaying the search results, wherein the search results have a call-to-action button for saving a product in the search results to the product registry.

12 . The computer system of claim 11 , further comprising a second API, wherein the first API calls the second API with the URL for the image, and the second API interfaces with the internet image searching service and receives search results back from the internet image searching service.

13 . The computer system of claim 11 , wherein the server comparing the one or more product offers in the search results with the product database further comprises:

the server normalizing the URL for the product offers.

14 . The computer system of claim 11 , further comprising updating the product database with the one or more product offers in the search results, wherein updating the product database comprises creating new product records and/or merchant offer records or updating existing product records and/or merchant offer records.

Assignments (2)
SECURITY INTEREST Recorded Oct 2, 2025
From: BABY LIST, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072453/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2024
From: SMITH, AARON; TURNER, KRISTEN; FANG, HARVEY; MIRANDA, BEATRIZ
To: BABY LIST, INC.
Reel/Frame 068144/0846 →
References Cited (83)
US 6611814B1 · Lee et al. · 2003 [cited by applicant]
US 7756753B1 · McFarland · 2010 [cited by applicant]
US 7877289B1 · Cunningham et al. · 2011 [cited by applicant]
US 8280781B1 · Pottier · 2012 [cited by examiner]
US 8346625B2 · Song · 2013 [cited by examiner]
US 8510145B2 · Rowland · 2013 [cited by applicant]
US 8560401B1 · Bharara et al. · 2013 [cited by applicant]
US 8612312B1 · Edwards et al. · 2013 [cited by applicant]
US 8751281B2 · Chaushev · 2014 [cited by applicant]
US 9269103B1 · Kumar et al. · 2016 [cited by applicant]
US 9787521B1 · Boynes · 2017 [cited by examiner]
US 10650433B2 · Agarwal · 2020 [cited by examiner]
US 10776750B2 · Lindbo et al. · 2020 [cited by applicant]
US 10783151B1 · Bushkin et al. · 2020 [cited by applicant]
US 11244376B1 · Van Thomme · 2022 [cited by examiner]
US 11295364B1 · Flanagan · 2022 [cited by examiner]
US 11743353B1 · Flanagan · 2023 [cited by examiner]
US 11868934B1 · Mandal et al. · 2024 [cited by applicant]
US 12248974B1 · Gates · 2025 [cited by examiner]
US 12340410B1 · Gates · 2025 [cited by examiner]
US 20020133387A1 · Wilson et al. · 2002 [cited by applicant]
US 20030066093A1 · Cruz-Rivera et al. · 2003 [cited by applicant]
US 20030131021A1 · Wight et al. · 2003 [cited by applicant]
US 20040254855A1 · Shah · 2004 [cited by examiner]
US 20070204308A1 · Nicholas et al. · 2007 [cited by applicant]
US 20070299736A1 · Perrochon et al. · 2007 [cited by applicant]
US 20080172304A1 · Berkowitz · 2008 [cited by examiner]
US 20080288332A1 · Altounian et al. · 2008 [cited by applicant]
US 20090099941A1 · Berkowitz · 2009 [cited by examiner]
US 20090164340A1 · Lluch · 2009 [cited by examiner]
US 20090216549A1 · Causey et al. · 2009 [cited by applicant]
US 20100287256A1 · Neilio · 2010 [cited by examiner]
US 20110016023A1 · Zakas · 2011 [cited by applicant]
US 20110184855A1 · Webber · 2011 [cited by examiner]
US 20110185390A1 · Faenger et al. · 2011 [cited by applicant]
US 20110264460A1 · Jagemann et al. · 2011 [cited by applicant]
US 20110320437A1 · Kim et al. · 2011 [cited by applicant]
US 20120030067A1 · Pothukuchi et al. · 2012 [cited by applicant]
US 20120150882A1 · Deutsch · 2012 [cited by applicant]
US 20130024452A1 · Defusco et al. · 2013 [cited by applicant]
US 20130031017A1 · LaVoie et al. · 2013 [cited by applicant]
US 20130054404A1 · Garcia · 2013 [cited by applicant]
US 20130117151A1 · Macaisa et al. · 2013 [cited by applicant]
US 20140012765A1 · Kruglick · 2014 [cited by applicant]
US 20140019267A1 · Stoliartchouk et al. · 2014 [cited by applicant]
US 20140279207A1 · Agarwal et al. · 2014 [cited by applicant]
US 20140358662A1 · De Luca · 2014 [cited by applicant]
US 20150149298A1 · Tapley · 2015 [cited by applicant]
US 20160042438A1 · Robertson · 2016 [cited by examiner]
US 20160140519A1 · Trepca et al. · 2016 [cited by applicant]
US 20160188606A1 · Bandyopadhyay et al. · 2016 [cited by applicant]
US 20160188725A1 · Wang et al. · 2016 [cited by applicant]
US 20160328787A1 · Szulczewski · 2016 [cited by examiner]
US 20170039578A1 · Woddi et al. · 2017 [cited by applicant]
US 20170076349A1 · Rohach Miller et al. · 2017 [cited by applicant]
US 20170098284A1 · Schneider · 2017 [cited by examiner]
US 20170193591A1 · Narasimhan et al. · 2017 [cited by applicant]
US 20170206500A1 · Deshpande et al. · 2017 [cited by applicant]
US 20170270572A1 · Schydlowsky · 2017 [cited by examiner]
US 20180005304A1 · Amacker · 2018 [cited by examiner]
US 20180181873A1 · Chen · 2018 [cited by applicant]
US 20180240066A1 · Streebin et al. · 2018 [cited by applicant]
US 20180314999A1 · Nemati et al. · 2018 [cited by applicant]
US 20190057145A1 · Huang et al. · 2019 [cited by applicant]
US 20190080307A1 · Katzin · 2019 [cited by examiner]
US 20200410025A1 · Arunmozhi et al. · 2020 [cited by applicant]
US 20210166061A1 · Tapley · 2021 [cited by examiner]
US 20220114868A1 · Bronicki et al. · 2022 [cited by applicant]
US 20230121779A1 · Quigley · 2023 [cited by examiner]
US 20230196341A1 · Quigley · 2023 [cited by examiner]
US 20230214910A1 · Vacante · 2023 [cited by examiner]
US 20230245055A1 · Kang et al. · 2023 [cited by applicant]
US 20230281672A1 · Kobayashi · 2023 [cited by examiner]
US 20240029011A1 · Stroh et al. · 2024 [cited by applicant]
US 20240070603A1 · Putrevu et al. · 2024 [cited by applicant]
US 20240354635A1 · Davaloo et al. · 2024 [cited by applicant]
US 20240362583A1 · Natarajan · 2024 [cited by examiner]
Collaborative_gift_registry_in_multi-channel_retail_commerce (Year: 2005). [cited by examiner]
AI_Driven_E__Commerce_Product_Recommendation (Year: 2023). [cited by examiner]
Pathak, Bhavik K. “Comparison Shopping Agents and Online Price Dispersion: A Search Cost based Explanation”, Journal of Theoretical and Applied Electronic Commerce Research, vol. 7, Issue 1, Apr. 2012, pp. 64-76. [cited by applicant]
zola.com, FAQs (registry, receiving gifts): “How and when will we actually receive our gifts at home?”, Jun. 1, 2023, 1 page. [cited by applicant]
Team Hopstack “Top 24 Warehouse KPIs & Metrics to Track in 2025”, Jun. 7, 2023 (available at: https://www.hopstack.io/blog/ warehouse-metrics-kpis) (Year: 2023), 13 pages. [cited by applicant]
Niu, Xi et al., “Predictive Analytics of E-Commerce Search Behavior for Conversion”, Twenty-third Americas Conference on Information Systems, 2017, pp. 1-10. [cited by applicant]