NAV -image
bash javascript

Introduction

This documentation aims to provide all the information you need to work with our API.

Base URL

https://api.metadataapi.net

Authenticating requests

Authenticate requests to this API's endpoints by sending an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Performer Sites

List Performer Sites

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/performer_sites?q=quidem&site_id=repudiandae" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/performer_sites"
);

let params = {
    "q": "quidem",
    "site_id": "repudiandae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": "076ddcab-0cf1-348b-abd3-218b8e2f7a39",
            "_id": 204049,
            "site_id": null,
            "slug": null,
            "name": "Yessenia DAmore",
            "bio": "quam",
            "is_parent": false,
            "extra": {
                "gender": null,
                "birthday": null,
                "iafd": null,
                "astrology": null,
                "birthplace": null,
                "ethnicity": null,
                "nationality": null,
                "haircolor": null,
                "height": null,
                "weight": null,
                "measurements": null,
                "tattoos": null,
                "piercings": null,
                "yearsactive": null,
                "cupsize": null,
                "fakeboobs": false,
                "status": null
            },
            "image": "https:\/\/via.placeholder.com\/1000x1500",
            "thumbnail": "https:\/\/via.placeholder.com\/3000x3000",
            "parent": {
                "id": "d9b05ee5-03be-36eb-b2e5-0857753d4ba5",
                "_id": 136993,
                "slug": "mr-zachery-abernathy",
                "name": "Mr. Zachery Abernathy",
                "bio": "quam",
                "is_parent": true,
                "extras": {
                    "gender": "Male",
                    "birthday": null,
                    "birthday_timestamp": null,
                    "birthplace": null,
                    "birthplace_code": "TT",
                    "active": 1,
                    "astrology": "qui",
                    "ethnicity": "Earum",
                    "nationality": "dicta",
                    "hair_colour": "et",
                    "weight": null,
                    "height": null,
                    "measurements": null,
                    "cupsize": null,
                    "tattoos": "dignissimos",
                    "piercings": "suscipit",
                    "first_seen": "2021-04-25T00:00:00.000000Z",
                    "waist": null,
                    "hips": null
                },
                "external": {
                    "iafd_url": "https:\/\/swift.com\/ut-suscipit-rerum-doloremque-et-eum.html",
                    "babeopedia_id": null,
                    "freeones_id": null,
                    "indexxx_id": null
                },
                "image": "https:\/\/via.placeholder.com\/1000x1500",
                "thumbnail": "https:\/\/via.placeholder.com\/3000x3000"
            }
        },
        {
            "id": "9eeeee04-4324-370b-b29d-64a5cf0e23c3",
            "_id": 204050,
            "site_id": null,
            "slug": null,
            "name": "Jackeline McClure MD",
            "bio": "error",
            "is_parent": false,
            "extra": {
                "gender": null,
                "birthday": null,
                "iafd": null,
                "astrology": null,
                "birthplace": null,
                "ethnicity": null,
                "nationality": null,
                "haircolor": null,
                "height": null,
                "weight": null,
                "measurements": null,
                "tattoos": null,
                "piercings": null,
                "yearsactive": null,
                "cupsize": null,
                "fakeboobs": false,
                "status": null
            },
            "image": "https:\/\/via.placeholder.com\/1000x1500",
            "thumbnail": "https:\/\/via.placeholder.com\/3000x3000",
            "parent": {
                "id": "c14b6fc4-ed85-3055-8bfa-573b9e56df44",
                "_id": 136994,
                "slug": "dr-sierra-heidenreich",
                "name": "Dr. Sierra Heidenreich",
                "bio": "error",
                "is_parent": true,
                "extras": {
                    "gender": "Female",
                    "birthday": null,
                    "birthday_timestamp": null,
                    "birthplace": "Chaco, Argentina",
                    "birthplace_code": "AR",
                    "active": 1,
                    "astrology": "minus",
                    "ethnicity": "Qui",
                    "nationality": "velit",
                    "hair_colour": "et",
                    "weight": null,
                    "height": null,
                    "measurements": null,
                    "cupsize": null,
                    "tattoos": "sunt",
                    "piercings": "consequatur",
                    "first_seen": "2021-04-25T00:00:00.000000Z",
                    "waist": null,
                    "hips": null
                },
                "external": {
                    "iafd_url": "http:\/\/www.koelpin.com\/expedita-aperiam-maiores-incidunt-quia-tempora",
                    "babeopedia_id": null,
                    "freeones_id": null,
                    "indexxx_id": null
                },
                "image": "https:\/\/via.placeholder.com\/1000x1500",
                "thumbnail": "https:\/\/via.placeholder.com\/3000x3000"
            }
        }
    ]
}

Request      

GET performer_sites

Query Parameters

q  string optional  
the name to search for

site_id  string optional  
the site to list performers by

Performers

APIs for performers

List Performers

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/performers?q=Mia+Malkova" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/performers"
);

let params = {
    "q": "Mia Malkova",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": "059f4cb0-fd6a-3e01-9396-fde59d44bb18",
            "_id": 136991,
            "slug": "repellendus-velit-quis-qui",
            "name": "Taya Graham",
            "bio": "qui",
            "is_parent": true,
            "extras": {
                "gender": "Male",
                "birthday": null,
                "birthday_timestamp": null,
                "birthplace": "Minas Gerais, Brazil",
                "birthplace_code": "BR",
                "active": true,
                "astrology": "quis",
                "ethnicity": "Ut",
                "nationality": "quas",
                "hair_colour": "et",
                "weight": null,
                "height": null,
                "measurements": null,
                "cupsize": null,
                "tattoos": "alias",
                "piercings": "est",
                "first_seen": "2021-04-25T00:00:00.000000Z",
                "waist": null,
                "hips": null
            },
            "external": {
                "iafd_url": "https:\/\/feest.com\/suscipit-id-illo-commodi-qui-praesentium.html",
                "babeopedia_id": null,
                "freeones_id": null,
                "indexxx_id": null
            },
            "image": "https:\/\/via.placeholder.com\/1000x1500",
            "thumbnail": "https:\/\/via.placeholder.com\/3000x3000"
        },
        {
            "id": "d00f91b5-6d1e-3568-a9d8-ad1e7c54f75d",
            "_id": 136992,
            "slug": "architecto-dolore-officiis-voluptatem",
            "name": "Misty Dibbert",
            "bio": "nemo",
            "is_parent": true,
            "extras": {
                "gender": "Male",
                "birthday": null,
                "birthday_timestamp": null,
                "birthplace": null,
                "birthplace_code": "ZM",
                "active": false,
                "astrology": "saepe",
                "ethnicity": "Eius",
                "nationality": "sit",
                "hair_colour": "ducimus",
                "weight": null,
                "height": null,
                "measurements": null,
                "cupsize": null,
                "tattoos": "modi",
                "piercings": "enim",
                "first_seen": "2021-04-25T00:00:00.000000Z",
                "waist": null,
                "hips": null
            },
            "external": {
                "iafd_url": "http:\/\/www.towne.com\/dolor-autem-quidem-ipsam-laboriosam-quo-sed-vel",
                "babeopedia_id": null,
                "freeones_id": null,
                "indexxx_id": null
            },
            "image": "https:\/\/via.placeholder.com\/1000x1500",
            "thumbnail": "https:\/\/via.placeholder.com\/3000x3000"
        }
    ]
}

Request      

GET performers

Query Parameters

q  string optional  
Search query to search using.

Show Performer

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/performers/blanditiis" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/performers/blanditiis"
);

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": "6a869530-20ab-3ca7-9b62-2d6efed3e022",
        "_id": 136995,
        "slug": "enim-dolorum-architecto-non-dolorem-provident-ut-molestiae",
        "name": "Prof. Delpha Block I",
        "bio": "est",
        "is_parent": true,
        "extras": {
            "gender": "Female",
            "birthday": null,
            "birthday_timestamp": null,
            "birthplace": "Ile-de-France, France",
            "birthplace_code": "FR",
            "active": false,
            "astrology": "autem",
            "ethnicity": "Sed",
            "nationality": "fugit",
            "hair_colour": "illo",
            "weight": null,
            "height": null,
            "measurements": null,
            "cupsize": null,
            "tattoos": "exercitationem",
            "piercings": "tempora",
            "first_seen": "2021-04-25T00:00:00.000000Z",
            "waist": null,
            "hips": null
        },
        "external": {
            "iafd_url": "https:\/\/mann.biz\/soluta-ut-vero-aut-aliquam-libero-quis.html",
            "babeopedia_id": null,
            "freeones_id": null,
            "indexxx_id": null
        },
        "image": "https:\/\/via.placeholder.com\/1000x1500",
        "thumbnail": "https:\/\/via.placeholder.com\/3000x3000"
    }
}

Request      

GET performers/{uuid}

URL Parameters

uuid  string optional  
The performers id/slug

Performer Scenes

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/performers/ut/scenes" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/performers/ut/scenes"
);

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": "e179b3c6-c798-34a9-a78e-961a06635a9a",
            "_id": 974052,
            "title": "cumque",
            "slug": "saepe-nihil-non-non",
            "external_id": "enim",
            "description": "Sed distinctio at voluptatum doloremque accusantium odit. Optio molestiae aut nisi ut odio et. Rerum tempora enim voluptatem quo libero et. Nemo assumenda ullam eum asperiores vel omnis.",
            "site_id": 3311,
            "date": "2018-07-20",
            "url": "https:\/\/www.shields.com\/et-recusandae-tempore-vel",
            "image": "http:\/\/www.boyer.org\/et-rerum-qui-maiores-quae.html",
            "trailer": "https:\/\/www.steuber.com\/aut-maiores-animi-ut-in-qui-id-voluptatem-laborum",
            "created": "2021-04-25",
            "last_updated": "2021-04-25 22:24:41",
            "hashes": []
        },
        {
            "id": "668aacff-3480-33c4-bd40-85398cccc51d",
            "_id": 974053,
            "title": "fuga",
            "slug": "illo-suscipit-explicabo-sed-et-debitis-dicta",
            "external_id": "est",
            "description": "Suscipit cumque voluptates dolor amet porro voluptas. Aliquam quaerat totam voluptatem eum ducimus. Aut aliquam magnam sit sunt aperiam.",
            "site_id": 3312,
            "date": "1999-01-11",
            "url": "http:\/\/muller.com\/",
            "image": "http:\/\/www.gleason.com\/",
            "trailer": "http:\/\/www.hackett.com\/nam-ex-rem-qui-dolorum-exercitationem-qui-cupiditate",
            "created": "2021-04-25",
            "last_updated": "2021-04-25 22:24:41",
            "hashes": []
        }
    ]
}

Request      

GET performers/{uuid}/scenes

URL Parameters

uuid  string  

Scenes

APIs for scenes

List Scenes

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/scenes?parse=asperiores&q=illum&hash=qui&limit=1" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/scenes"
);

let params = {
    "parse": "asperiores",
    "q": "illum",
    "hash": "qui",
    "limit": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": "67884b90-0c2f-37d7-9829-003b0aa678a4",
            "_id": 974050,
            "title": "voluptates",
            "slug": "voluptas-minima-consectetur-et-sit-sed-et-est",
            "external_id": "inventore",
            "description": "Iste inventore sequi architecto. Ratione et aperiam rerum. Rerum veritatis est illo ex neque. Distinctio molestiae esse fugit minima.",
            "site_id": 3309,
            "date": "1991-05-07",
            "url": "http:\/\/wolf.org\/minus-in-recusandae-id-nihil-facilis-in-beatae.html",
            "image": "http:\/\/hane.com\/quia-nisi-velit-distinctio-officia-illum-illo-qui-debitis",
            "trailer": "http:\/\/sporer.com\/illum-est-ab-autem-voluptas-minus",
            "created": "2021-04-25",
            "last_updated": "2021-04-25 22:24:38",
            "hashes": []
        },
        {
            "id": "04ae1639-d880-3f29-b7d4-bac033fe204f",
            "_id": 974051,
            "title": "ut",
            "slug": "alias-quia-quia-sint-aut-quibusdam-voluptatibus-et",
            "external_id": "quia",
            "description": "Numquam facilis expedita aut. Et consequatur debitis atque et reiciendis sunt. Ut perspiciatis dolore qui sit eius ut.",
            "site_id": 3310,
            "date": "1997-03-23",
            "url": "http:\/\/www.ankunding.com\/accusantium-veniam-ut-voluptates",
            "image": "http:\/\/www.homenick.biz\/eum-similique-laboriosam-tempore-aut-aperiam-molestias-veritatis.html",
            "trailer": "https:\/\/ondricka.com\/aut-sed-beatae-ut-praesentium-repudiandae.html",
            "created": "2021-04-25",
            "last_updated": "2021-04-25 22:24:38",
            "hashes": []
        }
    ]
}

Request      

GET scenes

Query Parameters

parse  string optional  
A filename string to parse in to search terms

q  string optional  
The search query

hash  string optional  
A MD5/OSUB/PHASH hash to search by

limit  string optional  
How many results to return. Default: 25

Get Scene

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/scenes/et" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/scenes/et"
);

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": "2ef7a42a-dd08-3e67-af52-83c8266a0fac",
        "_id": 974054,
        "title": "quasi",
        "slug": "et-minus-repudiandae-blanditiis-deleniti-illo",
        "external_id": "quia",
        "description": "Ipsum nam quasi ut corporis repellendus ullam consequatur. Accusamus adipisci ut sapiente cumque qui illum repellat. Magni dolorem et doloribus nihil libero. Perspiciatis eveniet in dicta natus.",
        "site_id": 3314,
        "date": "2004-08-14",
        "url": "https:\/\/schulist.biz\/possimus-dolor-nemo-excepturi-pariatur-nihil.html",
        "image": "http:\/\/www.leannon.net\/",
        "trailer": "https:\/\/www.connelly.info\/eos-omnis-quis-eveniet-minima-quo-ducimus",
        "created": "2021-04-25",
        "last_updated": "2021-04-25 22:24:41",
        "hashes": []
    }
}

Request      

GET scenes/{uuid}

URL Parameters

uuid  string optional  
The id/slug of the specific scene

Create a Scene

requires authentication

Example request:

curl -X POST \
    "https://api.metadataapi.net/scenes" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"title":"et","description":"tenetur","date":"2021-04-25T22:24:41+0000","image":"https:\/\/nicolas.com\/soluta-eum-vel-voluptate-atque-deleniti-harum-quasi-numquam.html","url":"https:\/\/barrows.info\/consequatur-quia-natus-dolorem-quo-nihil-reprehenderit-dolorem.html","performers":["et","distinctio"],"tags":["asperiores","officiis"],"external_id":"eos","trailer":"http:\/\/www.bartell.com\/","site":"quisquam"}'
const url = new URL(
    "https://api.metadataapi.net/scenes"
);

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "et",
    "description": "tenetur",
    "date": "2021-04-25T22:24:41+0000",
    "image": "https:\/\/nicolas.com\/soluta-eum-vel-voluptate-atque-deleniti-harum-quasi-numquam.html",
    "url": "https:\/\/barrows.info\/consequatur-quia-natus-dolorem-quo-nihil-reprehenderit-dolorem.html",
    "performers": [
        "et",
        "distinctio"
    ],
    "tags": [
        "asperiores",
        "officiis"
    ],
    "external_id": "eos",
    "trailer": "http:\/\/www.bartell.com\/",
    "site": "quisquam"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": "b8eeeb00-725e-3bfa-9e0e-136eb3f10724",
        "_id": 974055,
        "title": "maiores",
        "slug": "error-omnis-magni-et-amet",
        "external_id": "quis",
        "description": "Error facilis fugit omnis vel iure temporibus. Dolores corporis culpa et laboriosam. Est voluptas tempora officiis modi.",
        "site_id": 3315,
        "date": "2007-04-10",
        "url": "https:\/\/dooley.com\/id-nihil-excepturi-amet-eum.html",
        "image": "http:\/\/www.dibbert.com\/autem-sunt-amet-laboriosam-dolores-sunt-architecto-perspiciatis",
        "trailer": "http:\/\/www.cartwright.biz\/",
        "created": "2021-04-25",
        "last_updated": "2021-04-25 22:24:41",
        "hashes": []
    }
}

Request      

POST scenes

Body Parameters

title  string  

description  string optional  

date  string  
The value must be a valid date.

image  string optional  
The value must be a valid URL.

url  string  
The value must be a valid URL.

performers  string[]  

tags  string[] optional  

external_id  string  

trailer  string optional  
The value must be a valid URL.

site  string  

Sites

APIs for sites

List Sites

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/sites?per_page=3&page=9" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/sites"
);

let params = {
    "per_page": "3",
    "page": "9",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 3307,
            "parent_id": null,
            "network_id": null,
            "name": "Oceane Monahan",
            "short_name": "ayana-mcdermott",
            "url": "http:\/\/hessel.com\/delectus-omnis-fuga-officiis-ipsum-commodi.html"
        },
        {
            "id": 3308,
            "parent_id": null,
            "network_id": null,
            "name": "Ernest Murray",
            "short_name": "cristina-hahn",
            "url": "http:\/\/schroeder.org\/est-magnam-dolorem-commodi-voluptas"
        }
    ]
}

Request      

GET sites

Query Parameters

per_page  integer optional  

page  integer optional  

Show Site

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/sites/illum" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/sites/illum"
);

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 3313,
        "parent_id": null,
        "network_id": null,
        "name": "Dr. Gay Ondricka Sr.",
        "short_name": "lurline-hoppe",
        "url": "http:\/\/cormier.net\/"
    }
}

Request      

GET sites/{site}

URL Parameters

site  string  

Tags

List Tags

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/tags?q=repudiandae" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/tags"
);

let params = {
    "q": "repudiandae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 16727,
            "tag": "Doris Leuschke",
            "name": "Doris Leuschke"
        },
        {
            "id": 16728,
            "tag": "Marquise Kuvalis Sr.",
            "name": "Marquise Kuvalis Sr."
        }
    ]
}

Request      

GET tags

Query Parameters

q  string optional  

User

Class UserController

Your User

requires authentication

Example request:

curl -X GET \
    -G "https://api.metadataapi.net/auth/user" \
    -H "Authorization: Bearer {YOUR_AUTH_KEY}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.metadataapi.net/auth/user"
);

let headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 505,
        "name": "Deshaun Nolan IV",
        "roles": [],
        "permissions": []
    }
}

Request      

GET auth/user