{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Marketplace Scraper + Discord Alerts",
    "description": "An extremely CHEAP and FAST Facebook Marketplace scraper! Best for flippers and resellers. Instantly finds and sends the newest listings to your Discord for rapid sourcing and real-time alerts. Also supports mass scraping of listing info for analysis or research.",
    "version": "0.0",
    "x-build-id": "6QRfmhBHEla0kcgnJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/futurafree~facebook-marketplace-scraper-discord-alerts/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-futurafree-facebook-marketplace-scraper-discord-alerts",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/futurafree~facebook-marketplace-scraper-discord-alerts/runs": {
      "post": {
        "operationId": "runs-sync-futurafree-facebook-marketplace-scraper-discord-alerts",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/futurafree~facebook-marketplace-scraper-discord-alerts/run-sync": {
      "post": {
        "operationId": "run-sync-futurafree-facebook-marketplace-scraper-discord-alerts",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "searchTerms",
          "minPrices",
          "maxPrices",
          "daysListed",
          "latitude",
          "longitude",
          "listingsPerSearch",
          "proxyConfiguration"
        ],
        "properties": {
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "List of search terms (e.g. 'iphone', 'xbox')",
            "items": {
              "type": "string"
            }
          },
          "minPrices": {
            "title": "Minimum Prices (same number order as search terms)",
            "type": "array",
            "description": "List the minimum prices for your search terms, matching the order exactly. For example, if your search terms are 'iPhone', 'PS5', and you want $50 for iPhone and $100 for PS5, enter '50', '100'. ⚠️ The first price is for the first search term, the second price is for the second, and so on.",
            "items": {
              "type": "string"
            }
          },
          "maxPrices": {
            "title": "Maximum Prices (same number order as search terms)",
            "type": "array",
            "description": "List the maximum prices for your search terms, matching the order exactly. For example, if your search terms are 'iPhone', 'PS5', and you want $50 for iPhone and $100 for PS5, enter '50', '100'. ⚠️ The first price is for the first search term, the second price is for the second, and so on.",
            "items": {
              "type": "string"
            }
          },
          "daysListed": {
            "title": "Days Since Listed (same number order as search terms)",
            "type": "array",
            "description": "List the days since listed for your search terms, matching the order exactly. For example, if your search terms are 'iPhone', 'PS5', and you want 7 days for iPhone and 30 days for PS5, enter '7', '30'. ⚠️ The first number is for the first search term, the second number is for the second, and so on.",
            "items": {
              "type": "string"
            }
          },
          "searchRadii": {
            "title": "Search Radius (can make searches take longer) (same number order as search terms)",
            "type": "array",
            "description": "Optional: Enter a search radius for each term. Max allowed is 130 km (higher values will be automatically capped). If you leave this blank or enter fewer radii than search terms, those specific searches will search everywhere with no distance limits.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Latitude (go to latlong.net to find!)",
            "type": "string",
            "description": "The latitude coordinate for the search location (e.g., '40.7128'). Can be negative, so make sure you get them right! You can find it with a quick Google search of where you live."
          },
          "longitude": {
            "title": "Longitude (go to latlong.net to find!)",
            "type": "string",
            "description": "The longitude coordinate for the search location (e.g., '-74.00608'). Can be negative, so make sure you get them right! You can find it with a quick Google search of where you live."
          },
          "filterKeywords": {
            "title": "Filter by Keywords",
            "type": "array",
            "description": "Only listings containing one or more of these keywords in the title will be saved and/or sent to Discord.",
            "items": {
              "type": "string"
            }
          },
          "discordWebhook": {
            "title": "Discord Webhook URL",
            "type": "string",
            "description": "Paste your Discord webhook URL here to receive notifications for each found listing. Notifications are already designed for you."
          },
          "listingsPerSearch": {
            "title": "Number of Listings to Find Per Search Term",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to scrape per search term."
          },
          "useDeduplication": {
            "title": "Deduplicate Across Runs",
            "type": "boolean",
            "description": "Enable deduplication using processed listings file. Never be sent back a listing that's been found before.",
            "default": true
          },
          "pushToDataset": {
            "title": "Export Listings to JSON (⚠️ Costs More)",
            "type": "boolean",
            "description": "Output to dataset. Auto-enabled if Discord webhook is disabled to ensure you get results.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration (Select residential, keep it as 'Anywhere')",
            "type": "object",
            "description": "Select proxies to use for the scraper. Apify Proxy is recommended."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}