{
  "openapi": "3.0.1",
  "info": {
    "title": "Dailymotion Scraper — Videos, Profiles & Search API",
    "description": "Export public Dailymotion videos from direct URLs, creator profiles, category channels and keyword search. Get titles, authors, native engagement counters and thumbnail URLs using efficient HTTP requests.",
    "version": "1.0",
    "x-build-id": "dddwGIa4ormaADcdZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/funny_ground~dailymotion-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-funny_ground-dailymotion-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/funny_ground~dailymotion-scraper/runs": {
      "post": {
        "operationId": "runs-sync-funny_ground-dailymotion-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/funny_ground~dailymotion-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-funny_ground-dailymotion-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": {
          "startUrls": {
            "title": "Dailymotion URLs — auto-detect",
            "type": "array",
            "description": "Mixed video, dai.ly, creator /username, /user/username, /channel/category and /search/query/videos URLs. Only exact Dailymotion hosts and supported routes are accepted. At most 200 entries per array and 500 across all arrays. Other URLs are ignored with warnings.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "videoUrls": {
            "title": "Video URLs or IDs",
            "type": "array",
            "description": "Public x-prefixed video IDs, canonical video URLs, embed/video URLs or dai.ly links. Each direct input requests at most one real public video. Private, deleted and unavailable videos produce no row.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "profiles": {
            "title": "Creator profiles",
            "type": "array",
            "description": "Dailymotion usernames, user IDs or profile URLs. Returns available public videos, not a complete standalone profile report. This is the field for creator channels such as NASA.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "channels": {
            "title": "Category channels",
            "type": "array",
            "description": "Dailymotion CATEGORY IDs such as travel, news or music, or /channel/category URLs. These are site-wide category feeds, NOT creator channels; use profiles for creators.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchKeywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "Non-empty native video-search queries, at most 300 characters each. Ranking and availability depend on Dailymotion and may vary by time or region.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "hashtags": {
            "title": "Hashtags — broad search, not exact tag feed",
            "type": "array",
            "description": "Tag names with or without #. Each becomes a native keyword query for #tag. Results can match ordinary keywords and are NOT guaranteed to contain the hashtag. The query semantics are included in provenance. Output hashtags are extracted from actual text, independently of this input.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "resultsPerInput": {
            "title": "Results per profile/channel/query",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum distinct valid videos examined for each feed/query before cross-source deduplication, 0–1,000. 0 means up to the safety cap of 1,000, not unlimited history. Direct inputs always request one. Page, run, request, charge and global output limits still apply.",
            "default": 50
          },
          "maxItems": {
            "title": "Global maximum saved videos",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Global unique dataset-row cap across all sources. Duplicates do not consume this cap. Free-plan and Apify charge/result caps can reduce the effective limit. Collection stops making new requests when the output budget is exhausted.",
            "default": 100
          },
          "failOnPartialFailure": {
            "title": "Fail on empty or failed inputs",
            "type": "boolean",
            "description": "False: successful data plus empty/unavailable/partially failed sources succeeds with warnings in RUN_SUMMARY. True: any attempted empty/error/partially failed source fails the run, even if rows were saved. Inputs intentionally skipped because a run/output/charge budget was reached are not treated as source failures. Zero saved rows always fails.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Maximum concurrent HTTP sources",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "1–16 lightweight native API requests. Output reservations may reduce effective concurrency for small result/charge budgets. Dataset writes are always serialized.",
            "default": 4
          },
          "requestTimeoutSecs": {
            "title": "HTTP request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Per-request timeout, including response body. Remaining runtime can shorten it.",
            "default": 25
          },
          "maxRetries": {
            "title": "Retries for transient failures",
            "minimum": 0,
            "maximum": 3,
            "type": "integer",
            "description": "Bounded retries after network failures/timeouts and HTTP/API 408, 425, 429 or 5xx responses only. Permanent 400/401/403/404 responses are not retried. Retries consume maxRequests.",
            "default": 2
          },
          "maxPagesPerInput": {
            "title": "Maximum API pages per feed",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "1–10 pages per profile/category/search input, at most 100 videos per page. Page size stays constant within a source. This is not a complete-history guarantee.",
            "default": 10
          },
          "maxRequests": {
            "title": "Global HTTP request budget",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "1–1,000 actual outbound requests across all sources, including retries and validated redirects. Native API pages return full metadata without per-item detail calls.",
            "default": 200
          },
          "maxRunTimeSecs": {
            "title": "Collection runtime limit (seconds)",
            "minimum": 10,
            "maximum": 1800,
            "type": "integer",
            "description": "10–1,800 seconds for collection, with additional early stop before Apify's hard timeout. Storage writes and final status handling can add a small amount of time.",
            "default": 300
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}