Fashion Assistant | Outfit | Shopping | Budget

Fashion Assistant | Outfit | Shopping | Budget · GPT Actions

Google Custom Search API

API to search the web using Google's Custom Search engine. Includes filters for availability and image analysis to ensure relevant results.

  • GET /customsearch/v1Search the web using Google Custom Search API

    Retrieve search results from Google's Custom Search engine, including brand, description, color, price, direct link, and associated image. Filters out unavailable, sold-out, broken, and restricted items. Includes image analysis for relevance.

原始 API 定义
{
  "openapi": "3.1.0",
  "info": {
    "title": "Google Custom Search API",
    "description": "API to search the web using Google's Custom Search engine. Includes filters for availability and image analysis to ensure relevant results.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://www.googleapis.com"
    }
  ],
  "paths": {
    "/customsearch/v1": {
      "get": {
        "summary": "Search the web using Google Custom Search API",
        "description": "Retrieve search results from Google's Custom Search engine, including brand, description, color, price, direct link, and associated image. Filters out unavailable, sold-out, broken, and restricted items. Includes image analysis for relevance.",
        "operationId": "searchWebWithCustomSearchAPI",
        "parameters": [
          {
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "AIzaSyAINmCK9moXy6rftThX32RsclpxhZTqo2s",
            "value": "AIzaSyAINmCK9moXy6rftThX32RsclpxhZTqo2s"
          },
          {
            "in": "query",
            "name": "cx",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "617fd5a4266eb4314",
            "value": "617fd5a4266eb4314"
          },
          {
            "in": "query",
            "name": "q",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "cars"
          },
          {
            "in": "query",
            "name": "num",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of search results to return. Max is 10."
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response containing search results.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "The title of the search result."
                          },
                          "link": {
                            "type": "string",
                            "description": "The URL of the search result."
                          },
                          "snippet": {
                            "type": "string",
                            "description": "A brief snippet of the result content."
                          },
                          "image": {
                            "type": "string",
                            "description": "The URL of an image associated with the search result."
                          },
                          "brand": {
                            "type": "string",
                            "description": "The brand of the product."
                          },
                          "description": {
                            "type": "string",
                            "description": "The description of the product."
                          },
                          "color": {
                            "type": "string",
                            "description": "The color of the product."
                          },
                          "price": {
                            "type": "string",
                            "description": "The price of the product."
                          },
                          "availability": {
                            "type": "string",
                            "description": "The availability status of the product. Possible values: 'available', 'sold-out', 'out-of-stock'."
                          }
                        }
                      }
                    },
                    "searchInformation": {
                      "type": "object",
                      "properties": {
                        "totalResults": {
                          "type": "string",
                          "description": "The total number of search results found."
                        },
                        "searchTime": {
                          "type": "number",
                          "format": "float",
                          "description": "The time taken to complete the search, in seconds."
                        }
                      }
                    },
                    "filters": {
                      "type": "object",
                      "properties": {
                        "unavailable": {
                          "type": "boolean",
                          "description": "Filter out unavailable items.",
                          "default": true
                        },
                        "soldOut": {
                          "type": "boolean",
                          "description": "Filter out sold-out items.",
                          "default": true
                        },
                        "brokenLinks": {
                          "type": "boolean",
                          "description": "Filter out items with broken links.",
                          "default": true
                        },
                        "outOfStock": {
                          "type": "boolean",
                          "description": "Filter out out-of-stock items.",
                          "default": true
                        },
                        "expiredPromotionalLinks": {
                          "type": "boolean",
                          "description": "Filter out items with expired promotional links.",
                          "default": true
                        },
                        "incorrectOrMisleadingLinks": {
                          "type": "boolean",
                          "description": "Filter out items with incorrect or misleading links.",
                          "default": true
                        },
                        "restrictedProductPages": {
                          "type": "boolean",
                          "description": "Filter out restricted product pages.",
                          "default": true
                        },
                        "popUpAndAdHeavyPages": {
                          "type": "boolean",
                          "description": "Filter out pop-up and ad-heavy pages.",
                          "default": true
                        },
                        "nonResponsiveWebsites": {
                          "type": "boolean",
                          "description": "Filter out non-responsive websites.",
                          "default": true
                        },
                        "restrictedGeographicalAvailability": {
                          "type": "boolean",
                          "description": "Filter out items with restricted geographical availability.",
                          "default": true
                        }
                      }
                    },
                    "imageAnalysis": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Enable image analysis to ensure the displayed images match the search criteria and are appropriate for the specified gender.",
                          "default": true
                        },
                        "criteria": {
                          "type": "object",
                          "properties": {
                            "gender": {
                              "type": "string",
                              "description": "The gender for which the products are being searched. Possible values: 'male', 'female', 'unisex'."
                            },
                            "colorMatch": {
                              "type": "boolean",
                              "description": "Ensure the displayed images match the color criteria.",
                              "default": true
                            },
                            "relevance": {
                              "type": "boolean",
                              "description": "Ensure the displayed images are relevant to the search query.",
                              "default": true
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Instagram Scraper

Scrape and download Instagram posts, profiles, places, hashtags, photos, and comments. Get data from Instagram using one or more Instagram URLs or search queries. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.

  • POST /acts/apify~instagram-scraper/run-sync-get-dataset-itemsScrape and download Instagram posts, profiles, places, hashtags, photos, and comments. Get data from Instagram using one or more Instagram URLs or search queries. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.
原始 API 定义
{
  "openapi": "3.1.0",
  "info": {
    "title": "Instagram Scraper",
    "description": "Scrape and download Instagram posts, profiles, places, hashtags, photos, and comments. Get data from Instagram using one or more Instagram URLs or search queries. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/apify~instagram-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "apify_instagram-scraper",
        "x-openai-isConsequential": false,
        "summary": "Scrape and download Instagram posts, profiles, places, hashtags, photos, and comments. Get data from Instagram using one or more Instagram URLs or search queries. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "directUrls": {
            "title": "Instagram URLs you want to scrape",
            "uniqueItems": true,
            "type": "array",
            "description": "Add one or more Instagram URLs to scrape. The field is optional, but you need to either use this field or search query below.",
            "items": {
              "type": "string"
            }
          },
          "resultsType": {
            "title": "What do you want to scrape from each page?",
            "enum": [
              "posts",
              "comments",
              "details",
              "mentions",
              "stories"
            ],
            "type": "string",
            "description": "You can choose to get posts, comments or details from Instagram URLs. Comments can only be scraped from post URLs.",
            "default": "posts"
          },
          "resultsLimit": {
            "title": "Max results per URL",
            "minimum": 1,
            "type": "integer",
            "description": "How many posts or comments (max 50 comments per post) you want to scrape from each Instagram URL. If you set this to 1, you will get a single post from each page."
          },
          "onlyPostsNewerThan": {
            "title": "Newer than",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])(T[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?Z?)?$|^(\\d+)\\s*(minute|hour|day|week|month|year)s?$",
            "type": "string",
            "description": "Limit how far back to the history the scraper should go. The date should be in YYYY-MM-DD or full ISO absolute format or in relative format e.g. 1 days, 2 months, 3 years. All time values are taken in UTC timezone"
          },
          "isUserTaggedFeedURL": {
            "title": "Tagged posts",
            "type": "boolean",
            "description": "Get the tagged posts for each profile"
          },
          "isUserReelFeedURL": {
            "title": "Reels posts",
            "type": "boolean",
            "description": "Get the reels posts for each profile"
          },
          "search": {
            "title": "Search query",
            "type": "string",
            "description": "Provide a search query which will be used to search Instagram for profiles, hashtags or places."
          },
          "searchType": {
            "title": "Search type",
            "enum": [
              "user",
              "hashtag",
              "place"
            ],
            "type": "string",
            "description": "What type of pages to search for (you can look for hashtags, profiles or places).",
            "default": "hashtag"
          },
          "searchLimit": {
            "title": "Search results limit",
            "minimum": 1,
            "maximum": 250,
            "type": "integer",
            "description": "How many search results (hashtags, users or places) should be returned."
          },
          "enhanceUserSearchWithFacebookPage": {
            "title": "Enhance user search (top 10) with Facebook page & email if available (higher credit usage)",
            "type": "boolean",
            "description": "For each user from the top 10, the scraper extracts their Facebook page that sometimes contains their business email. Please keep in mind that you are forbidden to collect personal data in certain jurisdictions. Please see <a href=\"https://blog.apify.com/is-web-scraping-legal/#think-twice-before-scraping-personal-data\">this article</a> for more details."
          },
          "addParentData": {
            "title": "Add metadata",
            "type": "boolean",
            "description": "Only for feed items - add data source to results, i.e. for profile posts metadata is profile, for tag posts metadata is hashtag",
            "default": false
          }
        }
      }
    }
  }
}