{
  "openapi": "3.0.1",
  "info": {
    "title": "PagesJaunes Business Leads Scraper & Monitor",
    "description": "Extract French business leads from PagesJaunes with verified phones, the direct-marketing opt-out flag, website, SIRET, NAF, staff size, revenue and active status from the official registry. Filter by mobile, website, rating or advertiser and monitor new businesses.",
    "version": "1.0",
    "x-build-id": "iGkk6I8uqaK5tPe01"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datamole~pagesjaunes-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datamole-pagesjaunes-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/datamole~pagesjaunes-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datamole-pagesjaunes-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/datamole~pagesjaunes-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datamole-pagesjaunes-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": {
          "searchTerms": {
            "title": "What (activity or business name)",
            "type": "array",
            "description": "Activities in French as you would type them on PagesJaunes, for example plombier, restaurant italien, avocat, agence immobilière, coiffeur. A business name also works.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Where (city, postal code, département or région)",
            "type": "array",
            "description": "Examples: Paris, Lyon, 75015, Bouches-du-Rhône, Bretagne, Île-de-France. Each location is searched separately.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "PagesJaunes search URLs (optional)",
            "type": "array",
            "description": "Paste search pages from pagesjaunes.fr (https://www.pagesjaunes.fr/annuaire/chercherlespros?quoiqui=...&ou=...). Useful to reuse a search with its suggestions already applied.",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "rating",
              "reviews"
            ],
            "type": "string",
            "description": "Same sorting options as the site. Best rated first is the fastest way to get established businesses.",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Maximum businesses",
            "minimum": 1,
            "type": "integer",
            "description": "Total businesses saved across all searches. PagesJaunes shows 20 per page.",
            "default": 100
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap per search term and location. Leave empty to go through every page."
          },
          "includeDetails": {
            "title": "Include full business details",
            "type": "boolean",
            "description": "Adds website and social profiles, SIRET, SIREN, NAF code, legal form, creation date, staff size, opening hours, GPS, all activities, description, payment methods, certifications, brands and the Google Maps link.",
            "default": false
          },
          "includeRegistry": {
            "title": "Check the official company registry (Sirene / RNE)",
            "type": "boolean",
            "description": "With full details on: adds whether the company is active or closed, company category (PME, ETI, GE), official headcount, latest revenue and net income, number of establishments, RGE and Qualiopi status, managers of companies, and the INSEE opt-out from commercial prospecting. No extra charge.",
            "default": true
          },
          "phoneFilter": {
            "title": "Phone",
            "enum": [
              "any",
              "with-phone",
              "mobile"
            ],
            "type": "string",
            "description": "Keep only businesses with a phone number, or with a mobile number.",
            "default": "any"
          },
          "excludeMarketingOptOut": {
            "title": "Exclude numbers opposed to direct marketing",
            "type": "boolean",
            "description": "PagesJaunes marks numbers whose owner refuses direct marketing (the 'Opposé aux opérations de marketing direct' icon). Turn on for cold calling: those numbers are dropped, and a business with no other number is skipped.",
            "default": false
          },
          "advertiserFilter": {
            "title": "PagesJaunes advertisers",
            "enum": [
              "any",
              "advertisers",
              "non-advertisers"
            ],
            "type": "string",
            "description": "Paying advertisers already invest in marketing. Non-advertisers are prospects for agencies that sell visibility.",
            "default": "any"
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep businesses rated at least this much (out of 5). Businesses without reviews are skipped when set."
          },
          "minReviews": {
            "title": "Minimum number of reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Keep businesses with at least this many PagesJaunes reviews."
          },
          "websiteFilter": {
            "title": "Website (needs full details)",
            "enum": [
              "any",
              "with-website",
              "without-website"
            ],
            "type": "string",
            "description": "Businesses without a website are the classic prospect list for web agencies.",
            "default": "any"
          },
          "excludeClosedBusinesses": {
            "title": "Skip businesses closed in the official registry",
            "type": "boolean",
            "description": "With full details and the registry check on: drops listings whose company or establishment is closed according to INSEE.",
            "default": true
          },
          "minEmployees": {
            "title": "Minimum employees (needs full details)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep companies whose official staff range reaches this number. Example: 10 keeps 10-19, 20-49 and larger."
          },
          "createdAfter": {
            "title": "Company created after (needs full details)",
            "type": "string",
            "description": "Keep only companies registered after this date. Great to reach new businesses that still need suppliers."
          },
          "monitorMode": {
            "title": "Monitor mode: return only new businesses",
            "type": "boolean",
            "description": "The first run saves everything and remembers it. Later runs with the same search return only businesses not seen before.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name (optional)",
            "type": "string",
            "description": "Give the memory a name to keep it when you change other settings. By default the memory is tied to the search settings."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "PagesJaunes is protected by Cloudflare: French residential proxies are required and already set.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "FR"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}