{
  "openapi": "3.0.1",
  "info": {
    "title": "Agroads Scraper: Argentina Tractors, Trucks & Machinery",
    "description": "Scrape agroads.com.ar: about 60,000 ads of Argentine tractors, harvesters, sprayers, trucks, trailers, spare parts and farm equipment with USD and ARS prices, hours, power, province, photos and 756 dealers. Monitor new ads and price drops. No login. Export JSON, CSV, Excel or XML.",
    "version": "0.1",
    "x-build-id": "GpbKtdgULftylqvpk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~agroads-ar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-agroads-ar-scraper",
        "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/recordsdata~agroads-ar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-agroads-ar-scraper",
        "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/recordsdata~agroads-ar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-agroads-ar-scraper",
        "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",
        "properties": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "search",
              "urls",
              "dealers"
            ],
            "type": "string",
            "description": "search = machinery ads for the categories and filters below. urls = the ad, list page or dealer addresses and ad numbers you list. dealers = dealer (seller business) profiles of agroads.com.ar.",
            "default": "search"
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops after this many rows (all record types together). Free plans are limited to 10 items per run.",
            "default": 50
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Which sections of the site to read (search mode). All agricultural machinery covers every machine and vehicle category in one list. Spare parts and farm equipment are separate sections of the site.",
            "items": {
              "type": "string",
              "enum": [
                "all-machinery",
                "tractors",
                "harvesters",
                "seeders",
                "sprayers",
                "fertilizer-spreaders",
                "brush-cutters",
                "mowers",
                "balers",
                "headers",
                "hoppers",
                "trucks",
                "pickups",
                "trailers",
                "semitrailers",
                "road-machinery",
                "parts",
                "equipment"
              ],
              "enumTitles": [
                "All agricultural machinery",
                "Tractors",
                "Combine harvesters",
                "Seeders and planters",
                "Sprayers",
                "Fertilizer spreaders",
                "Brush cutters and slashers",
                "Mowers",
                "Round balers",
                "Harvester headers",
                "Grain hoppers",
                "Trucks",
                "Pickup trucks",
                "Trailers",
                "Semi-trailers",
                "Road and construction machinery",
                "Spare parts",
                "Farm equipment"
              ]
            },
            "default": [
              "all-machinery"
            ]
          },
          "searchQuery": {
            "title": "Search words",
            "type": "string",
            "description": "Optional. Words searched in the ad text, for example \"john deere 7515\" or \"cosechadora\". Empty means every ad of the chosen categories.",
            "default": ""
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Optional. Brand names as shown on the site, for example Zanello, John Deere, Massey Ferguson or Pauny. Each brand is searched in every chosen category. A brand the site does not list for a category (the whole-section choices have no brand list at all) is searched as text, and only ads whose make or title contains it are kept.",
            "items": {
              "type": "string"
            }
          },
          "provinces": {
            "title": "Provinces",
            "type": "array",
            "description": "Optional. Keep only ads located in these provinces. Empty means all of Argentina.",
            "items": {
              "type": "string",
              "enum": [
                "Santa Fe",
                "Chaco",
                "Corrientes",
                "Buenos Aires",
                "Tucumán",
                "Formosa",
                "La Rioja",
                "Córdoba",
                "Chubut",
                "Río Negro",
                "Misiones",
                "Entre Ríos",
                "San Luis",
                "Salta",
                "Mendoza",
                "Catamarca",
                "San Juan",
                "Santiago del Estero",
                "Santa Cruz",
                "Neuquén",
                "Jujuy",
                "La Pampa",
                "Tierra del Fuego"
              ]
            }
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "all",
              "new",
              "used"
            ],
            "type": "string",
            "description": "New or used machines. The site applies this filter only inside a subcategory, so on a whole section (all machinery, spare parts, farm equipment) the Actor reads the subcategories one by one, biggest first.",
            "default": "all"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "all",
              "dealer",
              "shop",
              "manufacturer",
              "private"
            ],
            "type": "string",
            "description": "Who sells the machine. Private sellers are returned without any name or contact data; this also covers private sellers who show a trade name on the site.",
            "default": "all"
          },
          "minPriceUsd": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only ads priced at or above this amount in US dollars. The site applies this filter to ads priced in dollars. Leave empty for no limit."
          },
          "maxPriceUsd": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only ads priced at or below this amount in US dollars. Leave empty for no limit."
          },
          "onlyWithPrice": {
            "title": "Only ads with a price",
            "type": "boolean",
            "description": "Skip ads that show \"Consultar\" (price on request).",
            "default": false
          },
          "onlyOffers": {
            "title": "Only discounted ads",
            "type": "boolean",
            "description": "Keep only ads the seller marks with a discount (the Ofertas list of the site).",
            "default": false
          },
          "powerBand": {
            "title": "Engine power",
            "enum": [
              "any",
              "under-100",
              "100-150",
              "150-200",
              "over-200"
            ],
            "type": "string",
            "description": "Horsepower band. Only subcategories that have a power field answer (for example tractors, combine harvesters and sprayers); the others return nothing. On a whole section the Actor reads the subcategories one by one, biggest first.",
            "default": "any"
          },
          "hoursBand": {
            "title": "Hours of use",
            "enum": [
              "any",
              "under-1000",
              "1000-3000",
              "3000-5000",
              "5000-8000",
              "over-8000"
            ],
            "type": "string",
            "description": "Hours-of-use band for used machines. Only subcategories that have an hours field answer (for example tractors, combine harvesters and sprayers). On a whole section the Actor reads the subcategories one by one, biggest first.",
            "default": "any"
          },
          "commercialCondition": {
            "title": "Commercial condition",
            "enum": [
              "any",
              "interest-free-installments",
              "grain-swap",
              "factory-financing",
              "immediate-delivery",
              "down-payment-financing",
              "financing-years",
              "rate-in-pesos",
              "rate-in-dollars",
              "interest-free-cheques",
              "accepts-used-trade-in",
              "free-shipping-nationwide",
              "free-shipping-up-to"
            ],
            "type": "string",
            "description": "Sale terms advertised by the seller, for example financing or accepting a used machine as part payment.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "newest",
              "relevance",
              "popular",
              "price",
              "year-oldest",
              "year-newest"
            ],
            "type": "string",
            "description": "Order of the results. Newest first suits monitoring; on a whole section (all machinery, spare parts, farm equipment) the site lists only its latest new ads that way, so pick the site default to read the entire section. When condition, power or hours is set on a whole section, the order applies inside each subcategory. Sorting by price mixes dollar and peso ads.",
            "default": "newest"
          },
          "maxSearchPages": {
            "title": "Maximum list pages per search",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Each list page holds up to 60 ads. Raise it to go deeper into big categories.",
            "default": 100
          },
          "startUrls": {
            "title": "Addresses",
            "type": "array",
            "description": "urls mode: agroads.com.ar ad addresses (detalle.asp?clasi=1234567), list pages (seccion.asp?subcat=10) or dealer pages (agroads.com.ar/e/dealer-name/).",
            "items": {
              "type": "string"
            }
          },
          "listingIds": {
            "title": "Ad numbers",
            "type": "array",
            "description": "urls mode: ad numbers, the number after clasi= in an ad address.",
            "items": {
              "type": "string"
            }
          },
          "dealerQuery": {
            "title": "Dealer name filter",
            "type": "string",
            "description": "dealers mode: keep only dealers whose address name contains these words, for example \"zanello\" or \"agro\".",
            "default": ""
          },
          "fetchDetails": {
            "title": "Open every ad",
            "type": "boolean",
            "description": "Adds the full description, model, engine power, fuel, all photos, coordinates, dealer profile data and view count. Costs one extra site request per ad and uses the detail event price.",
            "default": false
          },
          "includeContactDetails": {
            "title": "Include dealer contact details",
            "type": "boolean",
            "description": "Adds the dealer WhatsApp number (open ad pages only) and keeps phone numbers and e-mails written in ad texts of businesses. Private sellers never get contact data.",
            "default": false
          },
          "includeRaw": {
            "title": "Include raw site data",
            "type": "boolean",
            "description": "Adds a raw field with the unprocessed values read from the page.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new ads (monitor)",
            "type": "boolean",
            "description": "Return only ads this search has not returned before. The memory is stored in your own account. Schedule the run to watch the market.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "With Only new ads: ads already seen whose price changed are returned again as changed-listing rows with the previous price.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the memory used by Only new ads. Use one name per saved search. Empty derives a name from your filters.",
            "default": ""
          },
          "resetSeen": {
            "title": "Forget seen ads",
            "type": "boolean",
            "description": "Clears the memory of this search before the run.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Ad pages read at the same time. All requests share one gentle pace of about one request per second.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Keep Apify Proxy on. The site answers a challenge page after a few requests from one address, so every request goes out through a fresh proxy address.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}