
Adult Data
@Adult Data Link
The industry leading Adult Content API. Real-time accurate adult content.
🔞 AdultDataLink MCP
The AdultDataLink Adult Content API is a production-grade solution tailored for developers, data engineers, and content platforms operating in the adult industry. It offers structured, real-time access to metadata, content feeds, search results, video analytics, and model directories—sourced from leading platforms such as Pornhub, XNXX, RedGIFs, XVideos, Pornpics, Sexstories, Pimpandhost, Babepedia, Eporner, Twitter/X, and more.
⚠️ Note: This API is for adult industry use cases only. Ensure compliance with local laws, content regulations, and platform policies before integrating.
🔑 API Features
📂 Content Feeds
- Retrieve fresh data streams from supported adult platforms.
- Includes video titles, tags, categories, duration, and performance stats.
🔍 Search & Discovery
- Perform keyword-based search across multiple adult sites.
- Filter by categories, performers, duration, or source.
📊 Video Analytics
- Access engagement metrics: views, likes, shares, and trends.
- Useful for building recommendation engines or market analysis dashboards.
👩 Models & Directories
- Explore performer profiles with bio, aliases, and related content.
- Build or integrate into model-centric apps and discovery platforms.
🌐 Multi-Source Support
- Unified access layer for many adult content sites.
- Saves engineering effort by normalizing data across platforms.
📌 Example Use Cases
- 🔎 Content Discovery Apps — Curated adult video recommendations with live data.
- 📊 Analytics Platforms — Audience insights and performance metrics across sites.
- 🤖 Recommendation Engines — AI-driven personalized adult content suggestions.
- 💼 Business Intelligence — Trend monitoring for studios, networks, and advertisers.
Details
Tools (86)
Retrieve video details by ID
Fetches detailed information for a specific video using its ID. Optionally specifies thumbnail size. Results are cached for performance.
Retrieve a list of RedGifs creators
Retrieves a list of RedGifs creators with optional filters for page, count, order, verified status, and tags. **Parameters**: - **page**: Page number to retrieve (positive integer). Defaults to 1. - **count**: Number of results to return (1-100). Defaults to 10. - **order**: Sorting order: 'TRENDING', 'TOP', 'LATEST', 'OLDEST', 'RECENT', 'BEST', 'TOP28', 'NEW'. Defaults to 'RECENT'. - **verified**: If True, returns only verified creators. Defaults to False. - **tags**: Optional list of tags to filter creators by content. **Returns**: - A dictionary containing a list of creator metadata objects. **Raises**: - **HTTPException (400)**: If an error occurs during retrieval.
Get Category Search
Get Category Search
Retrieve list of video categories
Fetches a list of all video categories available on RedTube. Results are cached for performance.
Retrieve list of stars
Fetches a list of all stars (performers) on RedTube. Results are cached for performance.
Get Sexstories Updates
Retrieve recent updates from the sex stories website. This endpoint fetches a list of recently added or updated stories, optionally paginated by page number. Parameters: - request (Request): The FastAPI request object for logging and error handling. - page_number (int, optional): The page number to retrieve (starts at 1). Defaults to None (first page). Returns: - Dict: A dictionary containing a list of recent story updates and metadata (e.g., pagination info). - None: If no updates are retrieved. Raises: - HTTPException: - 500: If an error occurs during scraping or processing (e.g., network issues, parsing errors). Example: ``` GET /sexstories/updates?page_number=2 Response: { "updates": [...], "metadata": {"page": 2, "total_pages": 10} } ```
Convert RedGifs web URL to embed URL
Converts a RedGifs web URL to an embed URL for embedding content. **Parameters**: - **web_url**: RedGifs web URL (e.g., 'https://redgifs.com/watch/abcxyz'). Required. **Returns**: - A dictionary containing the embed URL. **Raises**: - **HTTPException (422)**: If the web URL is invalid or missing. - **HTTPException (400)**: If an error occurs during conversion.
Get Motherless Search
Retrieve search results from Motherless based on the provided query and filters. Args: search_query: The search term to query Motherless. sort: Sorting option for results (e.g., relevance, views, rating, date, duration). durf: Duration filter for videos (e.g., 1-3min, 3-10min, 10-20min, 20min). quality: Quality filter for videos (e.g., all, hd, 4k). datef: Date filter for videos (e.g., today, week, month, year, alltime). Returns: List of dictionaries containing video details (title, thumbnail, view_count, duration, rating, uploader_username). Raises: HTTPException: If the search query is empty or an error occurs during scraping.
Get Letsjerktv Categories
Get Letsjerktv Categories
Search Pornstars Route
Search for pornstars by race, nationality, and body type filters. Args: request (Request): The FastAPI request object. race (Union[str, None], optional): Race filter (e.g., 'latina', 'white', 'black'). nationality (Union[str, None], optional): Nationality filter (e.g., 'argentine', 'american'). body (Union[str, None], optional): Body type filter (e.g., 'curvy', 'chubby', 'slim'). am_api (AuntMiaApi): The API client for scraping auntmia.com. Returns: List[Dict]: A list of dictionaries containing pornstar information (thumbnail_url, gallery_url, title, category). Raises: HTTPException: If an error occurs during scraping.
Retrieve detailed list of stars
Fetches a detailed list of stars (performers) on RedTube, including additional metadata such as video count or profile details. Results are cached for performance.
Get Letsjerktv Pornstar Videos
Get Letsjerktv Pornstar Videos
Scrape detailed video information from a Tnaflix video URL
Extracts detailed metadata from a Tnaflix video page, including title, thumbnail, video URLs with quality, likes, dislikes, badges, views, upload date, description, tags, and duration. Requires a valid API key.
Retrieve list of deleted videos
Fetches a paginated list of videos that have been deleted from RedTube. Results are cached for performance.
Retrieve list of tags
Fetches a list of all tags used for categorizing videos on RedTube. Results are cached for performance.
Get Social Profiles
Get Social Profiles
Search
Search for videos with various filtering options. This endpoint allows searching for videos using multiple parameters to filter and sort results. Returns a JSON object containing an array of video objects under the 'videos' key. Args: q (str): The search term to look for (required) page (int, optional): Page number for paginated results ordering (str, optional): How to sort the results. Options: - 'featured': Featured videos - 'newest': Most recent videos - 'mostviewed': Most viewed videos - 'rating': Highest rated videos thumbsize (str, optional): Size of returned thumbnails. Options: - 'small': Small size - 'medium': Medium size - 'large': Large size - 'small_hd': Small HD - 'medium_hd': Medium HD - 'large_hd': Large HD category (str, optional): Filter by specific category phrase (List[str], optional): Filter by specific pornstars tags (List[str], optional): Filter by specific tags period (str, optional): Time period for ordered results. Options: - 'weekly': Last week - 'monthly': Last month - 'alltime': All time Returns: Dict: JSON response containing: - videos: List of video objects, each containing: - title: Video title - duration: Length in MM:SS format - views: Number of views - video_id: Unique video identifier - rating: Rating percentage - ratings: Number of ratings - url: Video URL - default_thumb: Default thumbnail URL - thumb: Primary thumbnail URL - publish_date: ISO format publication date - segment: Video segment - thumbs: List of thumbnail objects (size, width, height, src) - tags: List of tag names - categories: List of category names - pornstars: List of pornstar names Raises: HTTPException: 400 if invalid parameter values are provided HTTPException: 500 if there's an internal server error Example: GET /search?q=test&ordering=mostviewed&period=weekly&tags=["tag1"]
Retrieve RedGifs tags
Retrieves a list of tags from RedGifs, either trending or all available tags. **Parameters**: - **trending**: If True, returns trending tags sorted by count; otherwise, all tags. Defaults to False. **Returns**: - A dictionary containing a list of tag objects with name and count. **Raises**: - **HTTPException (400)**: If an error occurs during retrieval.
Retrieve RedGifs GIF web URLs
Retrieves web URLs for GIFs based on a search query, with optional filters for count, page, and order. **Parameters**: - **query**: Search query to retrieve GIF URLs (e.g., 'funny'). Required. - **count**: Number of results to return (1-100). Defaults to 10. - **page**: Page number to retrieve (positive integer). Defaults to 1. - **order**: Sorting order: 'TRENDING', 'TOP', 'LATEST', 'OLDEST', 'RECENT', 'BEST', 'TOP28', 'NEW'. Defaults to 'TRENDING'. **Returns**: - A dictionary containing a list of GIF web URLs. **Raises**: - **HTTPException (422)**: If the query is missing. - **HTTPException (400)**: If an error occurs during retrieval.
Fetch Tags Route
Fetch tags based on the provided filter. Params: filter_by: The letter or word 'alphanumeric' value to filter tags by. Default is 'all'
Get Sexstories Genres
Retrieve the list of available story genres. This endpoint returns a dictionary of genre IDs and their corresponding names, useful for filtering stories by genre. Parameters: - request (Request): The FastAPI request object for logging and error handling. Returns: - Dict: A dictionary mapping genre IDs to genre names (e.g., {"1": "Fiction", "9": "Fantasy"}). - None: If no genres are retrieved. Raises: - HTTPException: - 500: If an error occurs during scraping or processing (e.g., network issues, parsing errors). Example: ``` GET /sexstories/genres Response: { "1": "Fiction", "9": "Fantasy", ... } ```
Get Model Information
Get Model Information
Retrieve RedGifs tag suggestions
Retrieves tag suggestions from RedGifs based on a query string. **Parameters**: - **query**: Tag query to generate suggestions (e.g., 'fun'). Required. **Returns**: - A dictionary containing a list of tag suggestion objects with name and count. **Raises**: - **HTTPException (422)**: If the query is missing. - **HTTPException (400)**: If an error occurs during retrieval.
Retrieve detailed metadata from an Erome album
Fetches detailed metadata for a specific Erome album using the album ID. Includes title, user, user avatar, views, likes, reposts, comments (username and text), video source URLs, and more posts (album link, title, username, thumbnail, video count). Responses are cached to improve performance for repeated requests.
Fetch Hits Route
Fetch hits for a given period (day, week, month, or all). Params: period: Time period (day, week, month). Leave Blank for all page_number: Page number for paginated results (optional).
Get Pornpics Image Links
Retrieves direct image URLs for a specified PornPics tag. The tag must be a valid PornPics tag as defined in the tags configuration. Args: request (Request): The FastAPI request object for logging and context. tag (Union[str, None], optional): The tag to search for (e.g., "blonde"). Must be a valid PornPics tag. Defaults to None. Returns: dict: A dictionary containing a list of image URLs. Example: ```json { "urls": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ] } ``` Raises: HTTPException: - 422: If the `tag` parameter is missing or empty. - 404: If no image links are found for the provided tag. - 400: If an unexpected error occurs during the scraping process. Example: ```bash curl "http://api.adultdatalink.com/pornpics/tag-image-links?tag=blonde" ``` Notes: - The `tag` must be a valid tag as defined in the tags configuration. - Errors are logged using the provided logger for debugging purposes.
Get Eporner Video By Id
Retrieves image links from a specified gallery.
Retrieve a paginated index of pornstars from Xvideos
Fetches a paginated list of pornstars from Xvideos. The endpoint returns a list of pornstar metadata, including names and profile URLs. **Parameters**: - **page**: Page number for pagination (1 to 100,000, limited by total_pages in response). Defaults to 0. **Returns**: - A list of pornstar metadata objects containing details such as name and profile URL. **Raises**: - **HTTPException (400)**
Get Eporner Search
Retrieves search results from a specified query.
Retrieve top weekly RedGifs content
Retrieves the 'Top This Week' feed from RedGifs with optional filters for media type, count, and page. Returns a list of media metadata (GIFs or images) based on the specified parameters. **Parameters**: - **count**: Number of results to return (1-100). Defaults to 30. - **page**: Page number to retrieve (positive integer). Defaults to 1. - **media_type**: Media type to retrieve ('g' for GIFs, 'i' for images). Defaults to 'g'. **Returns**: - A dictionary containing the media type and a list of media metadata objects with details such as ID, title, URLs, and duration. **Raises**: - **HTTPException (422)**: If invalid parameters are provided. - **HTTPException (400)**: If an error occurs during retrieval.
Retrieve pornstar information from Xvideos
Fetches detailed information about a pornstar from Xvideos using the provided model name. The endpoint returns metadata such as total video views, profile hits, last activity, and tags. **Parameters**: - **model_name**: The name of the pornstar (e.g., 'Abella Danger'). Required, must not be empty or whitespace-only. **Returns**: - A dictionary containing the pornstar's metadata, such as total video views, profile hits, and tags. **Raises**: - **HTTPException (400)**: If the model name is empty, whitespace-only.
Retrieve album metadata from Erome homepage
Fetches a list of albums from the Erome homepage based on the specified feed type and page number. Includes metadata such as album link, title, thumbnail, user, user avatar, views, and video count. Responses are cached to improve performance for repeated requests.
Get Sexstories Authors
Retrieve a list of authors, filtered and paginated. This endpoint fetches authors based on a specified filter (e.g., by rating, name, number of stories, or date) and page number. Parameters: - request (Request): The FastAPI request object for logging and error handling. - filter_ (str): The filter to apply. Valid options: 'rate', 'name', 'nbstories', 'date'. - page_number (int): The page number to retrieve (starts at 1). Defaults to 1. Returns: - Dict: A dictionary containing a list of authors and metadata (e.g., pagination info). - None: If no authors are retrieved. Raises: - HTTPException: - 400: If an invalid filter is provided. - 500: If an error occurs during scraping or processing (e.g., network issues, parsing errors). Example: ``` GET /sexstories/authors?filter_=rate&page_number=1 Response: { "authors": [...], "metadata": {"filter": "rate", "page": 1, "total_pages": 5} } ```
Stream an MP4 file as a download
Streams an MP4 file from a provided URL directly to the client as a download. Requires API key authentication.
Get Letsjerktv Pornstars
Get Letsjerktv Pornstars
Get Sexstories Themes
Retrieve the list of available story themes. This endpoint returns a dictionary of theme IDs and their corresponding names, useful for filtering stories by category. Parameters: - request (Request): The FastAPI request object for logging and error handling. Returns: - Dict: A dictionary mapping theme IDs to theme names (e.g., {"1": "Alien", "2": "Anal"}). - None: If no themes are retrieved. Raises: - HTTPException: - 500: If an error occurs during scraping or processing (e.g., network issues, parsing errors). Example: ``` GET /sexstories/themes Response: { "1": "Alien", "2": "Anal", ... } ```
Get Model Search
Search for galleries by model name and scrape detailed information for each gallery. Args: request (Request): The FastAPI request object. model_name (Union[str, None]): The model name to search for (e.g., 'Aletta Ocean'). Returns: List[Dict]: A list of dictionaries containing detailed gallery information. Raises: HTTPException: If the model name is invalid or an error occurs during scraping.
Get Auntmia Feed
Get Auntmia Feed
Get Tnaflix Categories
Retrieve a list of categories from TNAFlix. This endpoint scrapes category data from the TNAFlix categories page, including title, image URL, views, and video count for each category. Args: request (Request): The incoming HTTP request. tf_api (TnaflixApi): The TNAFlix API dependency for scraping. Returns: List[Dict[str, str]]: A list of dictionaries containing category details with the following keys: - title: Category title (e.g., 'VR Porn'). - image: URL of the category thumbnail image. - views: Number of views for the category (e.g., '59.5K'). - video_count: Number of videos in the category (e.g., '232'). Raises: HTTPException: If an error occurs during scraping, returns a 400 status code with the error message.
Search pornstars by physical and demographic features
Search for pornstars by physical and demographic characteristics. This endpoint allows you to filter pornstar profiles based on a wide range of attributes such as age, physical features, and origin. It's designed to help you explore and discover models that match specific criteria. ### Available Query Parameters - **year1** (str, optional): Minimum birth year of the pornstar. - **year2** (str, optional): Maximum birth year of the pornstar. - **eyes** (str, optional): Eye color. Example values: `blue`, `green`, `brown`, `hazel`. - **hair** (str, optional): Hair color. Example values: `blonde`, `black`, `red`, `brunette`. - **ethnicity** (str, optional): Ethnic background. Example values: `white`, `asian`, `black`, `latina`. - **country** (str, optional): Country of origin or residence. Use full country names like `USA`, `Germany`, etc. - **height1** (str, optional): Minimum height in centimeters. - **height2** (str, optional): Maximum height in centimeters. - **weight1** (str, optional): Minimum weight in kilograms. - **weight2** (str, optional): Maximum weight in kilograms. - **boobs** (str, optional): Boob size category. Example values: `small`, `medium`, `big`. ### Example Usage To find blonde pornstars from the USA with blue eyes and medium breasts: ``` /search-model-by-features?hair=blonde&country=USA&eyes=blue&boobs=medium ``` To search for petite Asian models under 160 cm and 50 kg: ``` /search-model-by-features?ethnicity=asian&height2=160&weight2=50 ``` ### Response Returns a JSON object with the following structure: ```json { "results": [ { "name": "Jane Doe", "url": "https://example.com/model/jane-doe", "thumbnail": "https://example.com/img/jane.jpg", "aliases": "Janie D", "country": "USA", "ethnicity": "White", "birthday": "1992-06-01", "eyes": "Blue", "hair": "Blonde", "height": "170 cm", "weight": "55 kg", "measurements": "34C-24-36", "cup": "C", "last_update": "2024-11-20", "videos": "25", "galleries": "12" } ], "code": 200 } ``` ### Notes - All parameters are optional. Providing more filters narrows the search results. - The response is cached for performance. Repeating the same query returns cached results if available. - The endpoint supports real-time scraping, so results may vary based on live site data availability.
Retrieve detailed information about a specific LetsJerk.tv video
Fetches comprehensive metadata for a given LetsJerk.tv video URL. The endpoint scrapes details such as the video title, embed URL, download URL, thumbnail, tags, categories, and related videos. Results are cached to improve performance for repeated requests. **Note**: The provided URL must be a valid LetsJerk.tv video URL. Invalid URLs will result in a 400 error.
Get Pimpandhost Pornstar Media
Get Pimpandhost Pornstar Media
Get Pimpandhost Gifs
Get Pimpandhost Gifs
Retrieve trending RedGifs content
Retrieves trending content from RedGifs, such as tags, GIFs, or images, based on the specified parameter. **Parameters**: - **parameter**: Type of trending content ('tags', 'gif', or 'image'). Required. **Returns**: - A dictionary containing the parameter and a list of trending items (tags or media metadata). **Raises**: - **HTTPException (422)**: If the parameter is invalid or missing. - **HTTPException (400)**: If an error occurs during retrieval.
Search Sexstories
Search for stories based on specified criteria. This endpoint allows searching for stories using various parameters such as keywords, category, genre, date range, and sorting options. Parameters: - request (Request): The FastAPI request object for logging and error handling. - params (SearchRequest): Query parameters for the search, including: - page (int): Page number (starts at 1). Default: 1. - sort (str): Sort order. Options: relevance, name, rate, view, date. Default: relevance. - keywords (str, optional): Search keywords (e.g., 'Anal'). Default: "" (all stories). - category (str, optional): Category ID (e.g., '2' for Anal). See /sexstories/themes. Default: "". - genre (str, optional): Genre ID (e.g., '9' for Fantasy). See /sexstories/genres. Default: "". - date_begin (str, optional): Start date in YYYY-MM-DD format. Default: "". - date_end (str, optional): End date in YYYY-MM-DD format. Default: "". - type (str): Content type to search. Default: "stories". Returns: - Dict: A dictionary with: - results: List of matching stories or content. - metadata: Search parameters and metadata (e.g., page, total results, URL). Raises: - HTTPException: - 400: If invalid category, genre, or other parameters are provided. - 500: If an error occurs during scraping or processing (e.g., network issues). Example: ``` GET /sexstories/search?page=1&sort=relevance&keywords=Anal&category=2&genre=9&date_begin=2024-04-17&date_end=2025-04-18 Response: { "results": [ {"title": "Story 1", "url": "...", "themes": ["2"], "genres": ["9"], ...}, ... ], "metadata": { "page": 1, "total_results": 100, "search_url": "...", "parameters": {...} } } ```
Fetch Best Videos Route
Fetch the best videos for a given date (YYYY-MM format). Params: date: Date in YYYY-MM format (required). page_number: Page number for paginated results (optional).
Search for videos on Xvideos
Searches Xvideos for videos based on a query string with optional filters for sorting, duration, quality, and date. Results are cached to improve performance for repeated requests. The endpoint returns a list of video metadata. **Parameters**: - **search_query**: The search term (e.g., 'Mia Khalifa'). Required. - **sort**: Sorting option. Valid values: 'relevance', 'uploaddate' (Newest), 'rating', 'length', 'views', 'random'. Defaults to None. - **durf**: Duration filter. Valid values: 'allduration', '1-3min' (Short videos), '3-10min' (Medium videos), '10-20min' (Long videos), '20min+' (Long videos). Defaults to None. - **quality**: Quality filter (e.g., 'all', 'hd', '1080P'). Defaults to None. - **datef**: Date filter (e.g., 'today', 'week', 'month'). Defaults to None. - **p**: Page filter (e.g., '1', '2', '20', '132'). Defaults to None. **Returns**: - A list of video metadata objects containing details such as title, duration, thumbnail URL, and video URL. **Raises**: - **HTTPException (422)**: If the search query is not specified. - **HTTPException (400)**: If invalid parameters are provided.
Check if a video is active
Checks whether a specific video is active (available) on RedTube using its ID. Results are cached for performance.
Get Sexstory Details
Retrieve detailed information about a specific story. This endpoint fetches details for a story identified by its URL, including title, content, author, and metadata. Parameters: - request (Request): The FastAPI request object for logging and error handling. - story_url (str): The URL of the story to retrieve details for. Returns: - Dict: A dictionary containing story details (e.g., title, content, author, themes). - None: If no story details are retrieved. Raises: - HTTPException: - 500: If an error occurs during scraping or processing (e.g., invalid URL, network issues). Example: ``` GET /sexstories/story?story_url=https://example.com/story/12345 Response: { "title": "Story Title", "content": "...", "author": "Author Name", "themes": ["2", "20"], "metadata": {...} } ```
Get Pimpandhost Tags
Get Pimpandhost Tags
Search Letsjerktv Videos
Search Letsjerktv Videos
Search Route
Search xnxx for galleries based on a query and optional parameters. Params: query: A string representing the search query (required). mode: Search mode (default, hits, random). period: Time period (ever, year, month). length: Video length filter (all, 0-10min, 10min+, 10-20min, 20min+). quality: Video quality filter (all, hd-only, fullhd). page_number: Page number for paginated results (optional).
Get Pimpandhost Category Media
Get Pimpandhost Category Media
Root
Root
Retrieve user profile metadata from Erome
Fetches metadata for a specific Erome user profile, including username, avatar, post count, view count, follower count, bio, and a list of posts. Supports pagination for posts via the max_pages parameter. Responses are cached to improve performance for repeated requests.
Get Pornpics Tags
Retrieves a dictionary of available tags from the PornPics tags configuration. This endpoint reads the tags from the configuration file specified in `config.TAGS_FILE` and returns them as a dictionary where the keys are indices and the values are tag names. Args: request (Request): The FastAPI request object for logging and context. Returns: dict: A dictionary mapping indices to tag names. Example: ```json { "0": "tag1", "1": "tag2", ... } ``` Raises: HTTPException: - 500: If an error occurs while reading the tags file or processing the request. Example: ```bash curl "http://api.adultdatalink.com/pornpics/tags" ``` Notes: - The tags are sourced from the `config.TAGS_FILE` configuration. - Errors are logged using the provided logger for debugging purposes.
Get Tnaflix Search
Retrieve search results from TNAFlix. This endpoint scrapes video data from TNAFlix based on the provided search query, page number, upload time filter, and duration filter. The response includes details such as title, quality, duration, thumbnail, thumbnail trailer, URL, user profile URL, username, views, and likes for each video. Args: request (Request): The incoming HTTP request. query (str): The search query for videos (e.g., 'ass'). Required. page (int, optional): The page number to scrape (1 for the first page). Defaults to 1. uploaded_when (str, optional): Filter for when videos were uploaded ('day', 'week', 'month', 'year'). Defaults to no filter. duration (str, optional): Duration filter for videos ('short', 'medium', 'long', 'full'). Defaults to no filter. tf_api (TnaflixApi): The TNAFlix API dependency for scraping. Returns: List[Dict[str, str]]: A list of dictionaries containing video details with the following keys: - title: Video title. - quality: Video quality (e.g., '720p', '4p'). - duration: Video duration (e.g., '17:14'). - thumbnail: URL of the video thumbnail. - thumbnail_trailer: URL of the trailer thumbnail. - url: URL of the video page. - user_profile_url: URL of the uploader's profile. - username: Username of the uploader. - views: Number of views. - likes: Number of likes (or 'N/A' if not available). Raises: HTTPException: If an error occurs during scraping, returns a 400 status code with the error message.
Search Pornpics
Searches PornPics for galleries based on a query string. This endpoint performs a search on PornPics using the provided query string and returns a list of gallery results in JSON format. Args: request (Request): The FastAPI request object for logging and context. query (Union[str, None], optional): The search query string (e.g., "blonde milf"). Must be a valid search term. Defaults to None. Returns: dict: A JSON-compatible dictionary containing the search results. Example: ```json { "results": [ { "gallery_url": "https://www.pornpics.com/galleries/...", "title": "Gallery Title", ... } ] } ``` Raises: HTTPException: - 422: If the `query` parameter is missing, empty, or invalid (e.g., URLs or bytecode). - 404: If no results are found for the provided query. - 400: If an unexpected error occurs during the search process. Example: ```bash curl "http://api.adultdatalink.com/pornpics/search?query=blonde+milf" ``` Notes: - The `query` must be a valid search term (alphanumeric, spaces, and common punctuation allowed). - URLs, bytecode, or other invalid inputs are rejected. - The response is always JSON-formatted. - Errors are logged using the provided logger for debugging purposes.
Get Pornpics Gallery Links
Retrieves direct image URLs from a specified PornPics gallery page. This endpoint scrapes a given PornPics gallery URL to extract and return a list of direct image links. Args: request (Request): The FastAPI request object for logging and context. gallery (Union[str, None], optional): The full URL of the PornPics gallery to scrape (e.g., "https://www.pornpics.com/galleries/tall-woman-alexis-fawx-flashes-upskirt-panties-before-stripping-naked-55377150/"). Must be a valid PornPics gallery URL. Defaults to None. Returns: dict: A dictionary containing a list of image URLs. Example: ```json { "urls": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ] } ``` Raises: HTTPException: - 422: If the `gallery` parameter is missing or empty. - 404: If no image links are found for the provided gallery URL. - 400: If an unexpected error occurs during the scraping process. Example: ```bash curl "http://api.adultdatalink.com/pornpics/gallery-image-links?gallery=https://www.pornpics.com/galleries/tall-woman-alexis-fawx-flashes-upskirt-panties-before-stripping-naked-55377150/" ``` Notes: - The `gallery` URL must be a valid PornPics gallery page. - Errors are logged using the provided logger for debugging purposes.
Scrape Gallery Route
Scrape detailed information for a specific gallery using its URL. Args: request (Request): The FastAPI request object. gallery_id (str): The URL or URL-compatible identifier of the gallery to scrape. am_api (AuntMiaApi): The API client for scraping auntmia.com. Returns: Dict: A dictionary containing detailed gallery information (site, title, model info, category info, tags, images, related content). Raises: HTTPException: If the gallery_id is invalid or an error occurs during scraping.
Get Video By Id
Retrieve detailed information about a specific video by its ID. This endpoint fetches comprehensive details for a video specified by its unique video ID. Returns a JSON object containing video information or null if the video is not found. Args: video_id (str): The unique identifier of the video (required). Typically in the format 'phxxxxxxxxxxxxxx' Returns: Dict: JSON response containing: - video: Object with video details or null if not found, containing: - title: Video title - duration: Length in MM:SS format - views: Number of views - video_id: Unique video identifier - rating: Rating percentage - ratings: Number of ratings - url: Video URL - default_thumb: Default thumbnail URL - thumb: Primary thumbnail URL - publish_date: ISO format publication date (e.g., "2015-10-05T10:30:08") - segment: Video segment (e.g., 'straight') - thumbs: List of thumbnail objects (size, width, height, src) - tags: List of tag names - categories: List of category names - pornstars: List of pornstar names Raises: HTTPException: 400 if the video_id is invalid or empty HTTPException: 500 if there's an internal server error Example: GET /get-video-by-id?video_id=ph560b93077ddae
Get Eporner Model Information
Retrieves model information
Feed
Feed
Get Sexstories Home
Retrieve the homepage content of the sex stories website. This endpoint fetches the main page content, including featured stories, recent updates, or other highlighted sections. Parameters: - request (Request): The FastAPI request object for logging and error handling. Returns: - Dict: A dictionary containing the homepage content (e.g., featured stories, sections). - None: If no content is retrieved. Raises: - HTTPException: - 500: If an error occurs during scraping or processing (e.g., network issues, parsing errors). Example: ``` GET /sexstories/home Response: { "featured": [...], "recent": [...], "sections": {...} } ```
Get Letsjerktv Feed
Get Letsjerktv Feed
Search for RedGifs media
Searches RedGifs for GIFs or images based on a query string, with optional filters for media type, count, page, and order. **Parameters**: - **media_type**: Media type to search ('gif' or 'image'). Required. - **search_text**: Search query text (e.g., 'funny'). Required. - **count**: Number of results to return (1-100). Defaults to 10. - **page**: Page number to retrieve (positive integer). Defaults to 1. - **order**: Sorting order: 'TRENDING', 'TOP', 'LATEST', 'OLDEST', 'RECENT', 'BEST', 'TOP28', 'NEW'. Defaults to 'TRENDING'. **Returns**: - A dictionary containing the search text, media type, and a list of media metadata. **Raises**: - **HTTPException (422)**: If media_type or search_text is invalid. - **HTTPException (500)**: If the API returns an error. - **HTTPException (400)**: If an error occurs during retrieval.
Retrieve detailed information about a video
Fetches comprehensive metadata for a video from Eporner using either a video ID or URL. Includes details such as title, thumbnail, duration, resolution, uploader, views, likes, dislikes, comments, description, embed URL, raw MP4 URLs, download links, related content, and actors. Responses are cached to improve performance for repeated requests.
Retrieve album metadata from Erome search results
Fetches a list of albums from Erome search results based on the specified query, order, and page number. Includes metadata such as album link, title, thumbnail, user, user avatar, views, video count, and image count. Responses are cached to improve performance for repeated requests.
Stream Video
Stream Video
Retrieve pornstar biography data
Fetches detailed biography data for a specified pornstar using the Freeones API. The endpoint supports caching to optimize performance for repeated queries. If the requested pornstar is not found or an error occurs, an appropriate HTTP exception is raised. This endpoint requires a valid pornstar name to be provided as a query parameter.
Retrieve detailed information about a specific XNXX video
Fetches comprehensive metadata for a given XNXX video URL. The endpoint scrapes details such as the video title, duration, quality, view count, rating, likes, dislikes, tags, embed URL, comments, description, and video URLs (high and low quality). Results are cached to improve performance for repeated requests. **Note**: The provided URL must be a valid XNXX video URL. Invalid URLs will result in a 400 error.
Retrieve video embed code
Fetches the embed code for a specific video using its ID. Results are cached for performance.
Get Search
Search for galleries by query and scrape detailed information for each gallery. Args: request (Request): The FastAPI request object. query (Union[str, None]): The search query (e.g., 'big boobs'). Returns: List[Dict]: A list of dictionaries containing detailed gallery information. Raises: HTTPException: If the query is invalid or an error occurs during scraping.
Retrieve a specific RedGifs GIF
Retrieves details of a specific GIF by its ID. **Parameters**: - **gif_id**: Unique ID of the GIF (e.g., 'abcxyz' from 'https://redgifs.com/watch/abcxyz'). Required. **Returns**: - A dictionary containing the GIF's metadata, including ID, title, URLs, and duration. **Raises**: - **HTTPException (404)**: If the GIF is not found. - **HTTPException (400)**: If an error occurs during retrieval.
Get Letsjerktv Category Videos
Get Letsjerktv Category Videos
Retrieve detailed information about a Barelist video
Fetches metadata for a video from Barelist using either a video ID or URL. Includes details such as the model's name, profile picture, Barelist rank, career status, country, height, hair color, bust size, video title, and raw MP4 video URL.
Retrieve Xvideos categories
Fetches a list of video categories from Xvideos, optionally filtered by sexual orientation. The endpoint returns a list of category metadata, including category names and links. **Parameters**: - **sexual_orientation**: Filter by sexual orientation (e.g., 'shemale', 'gay'). Leave empty for straight content. **Returns**: - A list of category metadata objects containing details such as category name and URL. **Raises**: - **HTTPException (400)**
Fetch Todays Selection Route
Fetch today's selection for a given date (YYYY-MM-DD). Params: date: Date in YYYY-MM-DD format (required). page_number: Page number for paginated results (optional).
Get Tnaflix Feed
Retrieve a feed of videos from TNAFlix. This endpoint scrapes video data from TNAFlix based on the specified page number, feed type, and duration filter. The response includes details such as title, quality, duration, thumbnail, thumbnail trailer, URL, user profile URL, username, views, and likes for each video. Args: request (Request): The incoming HTTP request. page (int, optional): The page number to scrape (0 for the first page). Defaults to 0. feed_type (str, optional): The type of feed to scrape ('new', 'featured', 'toprated'). Defaults to 'new'. duration (str, optional): Duration filter for videos ('short', 'medium', 'long', 'full'). Defaults to no filter. tf_api (TnaflixApi): The TNAFlix API dependency for scraping. Returns: List[Dict[str, str]]: A list of dictionaries containing video details with the following keys: - title: Video title. - quality: Video quality (e.g., '720p', '4p'). - duration: Video duration (e.g., '17:14'). - thumbnail: URL of the video thumbnail. - thumbnail_trailer: URL of the trailer thumbnail. - url: URL of the video page. - user_profile_url: URL of the uploader's profile. - username: Username of the uploader. - views: Number of views. - likes: Number of likes (or 'N/A' if not available). Raises: HTTPException: If an error occurs during scraping, returns a 400 status code with the error message.
Retrieve the Xvideos feed
Fetches the latest video feed from Xvideos, optionally filtered by sexual orientation and paginated by page number. The endpoint returns a list of video metadata, including titles, thumbnails, durations, and links. **Parameters**: - **page**: Page number for pagination (1 to 100,000, limited by total_pages in response). Defaults to 0. - **sexual_orientation**: Filter by sexual orientation (e.g., 'shemale', 'gay'). Leave empty for straight content. **Returns**: - A list of video metadata objects containing details such as title, duration, thumbnail URL, and video URL. **Raises**: - **HTTPException (400)**: If invalid parameters are provided or fails.
Retrieve a RedGifs creator's profile
Retrieves a RedGifs creator's profile and content by username, with optional filters for count, page, order, and media type. **Parameters**: - **username**: Creator's username. Required. - **count**: Number of results to return (1-100). Defaults to 10. - **page**: Page number to retrieve (positive integer). Defaults to 1. - **order**: Sorting order: 'TRENDING', 'TOP', 'LATEST', 'OLDEST', 'RECENT', 'BEST', 'TOP28', 'NEW'. Defaults to 'RECENT'. - **media_type**: Media type: 'g' for GIFs, 'i' for images. Defaults to 'g'. **Returns**: - A dictionary containing the creator's profile and content metadata. **Raises**: - **HTTPException (404)**: If the creator is not found. - **HTTPException (400)**: If an error occurs during retrieval.
Get Pimpandhost Trending Images
Get Pimpandhost Trending Images
Retrieve detailed information about a specific Xvideos video
Fetches comprehensive metadata for a given Xvideos video URL. The endpoint scrapes details such as the video title, duration, quality, uploader information, model details, tags, like/dislike counts, video URLs (HD and SD), embed URL, and related videos. Results are cached to improve performance for repeated requests. **Note**: The provided URL must be a valid Xvideos video URL. Invalid URLs will result in a 400 error.
Get Pimpandhost Pornstars
Get Pimpandhost Pornstars
Search for videos
Retrieves a list of videos from the RedTube API based on a search query and optional filters. Supports filtering by category, tags, stars, thumbnail size, sort order, and period. Results are paginated and cached to optimize performance for repeated queries.
Retrieve detailed information about a specific xHamster video
Fetches comprehensive metadata for a given xHamster video URL. The endpoint scrapes details such as the video title, views, rating, tags, author information (name, avatar, subscribers, URL), likes, dislikes, related videos, comments, video URL, and embed URL. Results are cached to improve performance for repeated requests. **Note**: The provided URL must be a valid xHamster video URL. Invalid URLs will result in a 400 error.