{
  "openapi": "3.0.1",
  "info": {
    "title": "RX Reed Exhibitions Exhibitor List Scraper",
    "description": "Exhibitor lists from RX (Reed Exhibitions) trade shows (World Travel Market, ISC West, MIPIM...) or any RX (Reed Exhibitions) show by URL: company, booth, email, phone, website, address.",
    "version": "0.1",
    "x-build-id": "xMUKSVIGIzny5mKaj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tacps126~rx-exhibitor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tacps126-rx-exhibitor-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/tacps126~rx-exhibitor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tacps126-rx-exhibitor-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/tacps126~rx-exhibitor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tacps126-rx-exhibitor-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": {
          "exhibitionList": {
            "title": "Exhibitions",
            "uniqueItems": true,
            "type": "array",
            "description": "Pick one or more built-in shows. The README lists every show with a link to its official exhibitor list. Combined with *Exhibition (single)* and *Exhibitor list URLs* if you fill those too.",
            "items": {
              "type": "string",
              "enum": [
                "aluminium",
                "batimat",
                "equiphotel",
                "fibo-germany",
                "isc-west",
                "london-book-fair",
                "mipim",
                "wtm-london"
              ],
              "enumTitles": [
                "ALUMINIUM 2026 (Düsseldorf, Germany) - Aluminium Industry",
                "Batimat (Paris, France) - Construction",
                "EquipHotel (Paris, France) - Hospitality",
                "FIBO Germany (Cologne) - Fitness, Wellness & Health",
                "ISC West 2026 (Las Vegas, USA) - Security",
                "The London Book Fair (London, UK) - Publishing",
                "MIPIM (Cannes, France) - Real Estate",
                "World Travel Market (London, UK) - Travel & Tourism"
              ]
            }
          },
          "exhibitions": {
            "title": "Exhibition (single)",
            "enum": [
              "aluminium",
              "batimat",
              "equiphotel",
              "fibo-germany",
              "isc-west",
              "london-book-fair",
              "mipim",
              "wtm-london"
            ],
            "type": "string",
            "description": "One built-in show. To pick several, use **Exhibitions** below; both can be used together. Kept for saved tasks and integrations."
          },
          "startUrls": {
            "title": "Exhibitor list URLs",
            "type": "array",
            "description": "Paste the link to any RX show's exhibitor directory. The Actor reads the event from that page, so you get exactly the show and year the page shows. Shows on other platforms: use Exhibition Scraper (tacps126/exhibition-scraper). Example: https://www.wtm.com/london/en-gb/exhibitor-directory.html",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "checkUrlsOnly": {
            "title": "Only check the links (free)",
            "type": "boolean",
            "description": "Don't scrape: just report, for each link, whether it is supported and which show and edition it maps to. The answer is in the run's key-value store under URL_CHECK, and nothing is charged.",
            "default": false
          },
          "maxResults": {
            "title": "Max exhibitors",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of exhibitors per exhibition. Leave empty for all."
          },
          "includeDetails": {
            "title": "Include contact details",
            "type": "boolean",
            "description": "Open each exhibitor's profile for emails, phones, address and social links. Turn off for a faster list of names and booths only.",
            "default": true
          },
          "findEmails": {
            "title": "Find emails on company websites",
            "type": "boolean",
            "description": "For exhibitors that have a website but no email in the show's list, visit the company's own website (home, contact and imprint pages) and add the email, phone and social profiles found there (`contactSource: \"company website\"`). No extra charge; runs take longer.",
            "default": false
          },
          "includeRawData": {
            "title": "Include original record",
            "type": "boolean",
            "description": "Also return each exhibitor's record exactly as the organiser's directory sent it, in `raw`, next to the clean fields. Useful for fields we don't map (product groups, brands, keywords, contact persons) and for custom n8n / Make / Zapier workflows. Adds about 5-10 KB per exhibitor; for shows over about 3,000 exhibitors set memory to 512 MB.",
            "default": false
          },
          "incrementalScrape": {
            "title": "Only new exhibitors",
            "type": "boolean",
            "description": "Return only exhibitors no earlier run with the same input delivered. Ideal for watching a show's list fill up before the event.",
            "default": false
          },
          "changesOnly": {
            "title": "Changes only",
            "type": "boolean",
            "description": "Return only exhibitors that are new, changed or gone since the last run with the same shows (or monitor name). Changed exhibitors carry `changeType: \"changed\"` and `changes` with the old and new booth, email, phone, website or address; exhibitors who dropped out come as `changeType: \"removed\"` (only when the whole list was read, i.e. without *Max results*). Schedule it weekly before a show to catch new exhibitors and booth moves. The first run returns everyone as new.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name for the \"only new\" history, so several monitors can run side by side."
          },
          "delivery": {
            "title": "Send results to Slack, Discord, a webhook or Google Sheets",
            "type": "object",
            "description": "Webhook: {\"webhookUrl\": \"https://...\", \"format\": \"json\" | \"slack\" | \"discord\", \"onlyWhenResults\": true, \"includeItems\": 10}. Google Sheets: {\"spreadsheetId\": \"<id from the sheet URL>\", \"sheetName\": \"Sheet1\"} plus the service account key below; share the sheet with the service account's e-mail first. Leave empty to only save results in the dataset."
          },
          "googleServiceAccountJson": {
            "title": "Google service account key (for Sheets)",
            "type": "string",
            "description": "Only for Google Sheets delivery: paste the service account's JSON key. Stored encrypted; the account sees only sheets you share with it."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed for most exhibitions.",
            "default": {
              "useApifyProxy": false
            }
          },
          "debug": {
            "title": "Debug",
            "type": "boolean",
            "description": "Save extra diagnostics with the run.",
            "default": false
          },
          "workerOutput": {
            "title": "Helper output dataset (internal)",
            "type": "string",
            "description": "Set automatically when this Actor starts its own helper run. Leave empty."
          },
          "budgetItems": {
            "title": "Helper budget (internal)",
            "type": "integer",
            "description": "Set automatically for the helper run. Leave empty."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}