{
    "openapi": "3.1.0",
    "info": {
        "title": "APK API",
        "version": "1.0.0",
        "description": "Google Play data API: 4 million apps (live and removed), developers, new releases, removals and title keywords. JSON, UTF-8, CORS enabled.\n\nEvery call costs 0–3 tokens regardless of the number of rows (up to 100); /apps costs 1 token per app. Monthly free tokens are used first, then the purchased balance; if a request fails on our side, the tokens are returned. Remaining tokens are in the `_tokens` field of every response; `_credits` is a deprecated alias.\n\nDocumentation: https://apkapi.com/api-docs.php",
        "contact": {
            "url": "https://apkapi.com/api-docs.php"
        },
        "termsOfService": "https://apkapi.com/legal/terms.php"
    },
    "servers": [
        {
            "url": "https://apkapi.com/api/v1"
        }
    ],
    "security": [
        {
            "ApiKeyHeader": []
        },
        {
            "BearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Εφαρμογές"
        },
        {
            "name": "Προγραμματιστές"
        },
        {
            "name": "Αλλαγές στο κατάστημα"
        },
        {
            "name": "Αγορά"
        }
    ],
    "paths": {
        "/account": {
            "get": {
                "operationId": "account",
                "tags": [
                    "Account"
                ],
                "summary": "Your plan, token balance, the monthly reset date and the per-minute limit.",
                "description": "Free: no tokens are charged.",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/app": {
            "get": {
                "operationId": "app",
                "tags": [
                    "Εφαρμογές"
                ],
                "summary": "Η πλήρης καρτέλα εφαρμογής: τίτλος, περιγραφή, «Τι νέο υπάρχει», εγκαταστάσεις (όριο και ακριβής αριθμός), βαθμολογία, αριθμός βαθμολογιών και κριτικών, κατανομή αστεριών, τιμή, αγορές εντός εφαρμογής, διαφημίσεις, κατηγορία, ηλικιακή βαθμολόγηση, έκδοση, ελάχιστο Android, ημερομηνίες κυκλοφορίας και ενημέρωσης, εικονίδιο, στιγμιότυπα οθόνης, βίντεο, προγραμματιστής και ο ιστότοπός του. Για τις αποσυρμένες: τα τελευταία αποθηκευμένα δεδομένα και η ημερομηνία απόσυρσης.",
                "description": "Η πλήρης καρτέλα εφαρμογής: τίτλος, περιγραφή, «Τι νέο υπάρχει», εγκαταστάσεις (όριο και ακριβής αριθμός), βαθμολογία, αριθμός βαθμολογιών και κριτικών, κατανομή αστεριών, τιμή, αγορές εντός εφαρμογής, διαφημίσεις, κατηγορία, ηλικιακή βαθμολόγηση, έκδοση, ελάχιστο Android, ημερομηνίες κυκλοφορίας και ενημέρωσης, εικονίδιο, στιγμιότυπα οθόνης, βίντεο, προγραμματιστής και ο ιστότοπός του. Για τις αποσυρμένες: τα τελευταία αποθηκευμένα δεδομένα και η ημερομηνία απόσυρσης.\n\nCost: 1 token per call.",
                "x-tokens": 1,
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "όνομα πακέτου εφαρμογής",
                        "schema": {
                            "type": "string"
                        },
                        "example": "com.whatsapp"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/apps": {
            "get": {
                "operationId": "apps",
                "tags": [
                    "Εφαρμογές"
                ],
                "summary": "Έως 100 εφαρμογές με ένα αίτημα: GET ?ids=a,b,c ή POST με τη λίστα στο σώμα (μία ανά γραμμή ή JSON {\"ids\": […]}). 1 token ανά εφαρμογή· όσες δεν βρεθούν επιστρέφονται στο not_found.",
                "description": "Έως 100 εφαρμογές με ένα αίτημα: GET ?ids=a,b,c ή POST με τη λίστα στο σώμα (μία ανά γραμμή ή JSON {\"ids\": […]}). 1 token ανά εφαρμογή· όσες δεν βρεθούν επιστρέφονται στο not_found.\n\nCost: 1 token per app.",
                "x-tokens": 1,
                "parameters": [
                    {
                        "name": "ids",
                        "in": "query",
                        "required": true,
                        "description": "ονόματα πακέτων χωρισμένα με κόμμα, έως 100",
                        "schema": {
                            "type": "string"
                        },
                        "example": "com.whatsapp,org.telegram.messenger"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "apps_post",
                "tags": [
                    "Εφαρμογές"
                ],
                "summary": "Same as GET, with package names in the request body (one per line, or JSON {\"ids\": [...]}).",
                "description": "Έως 100 εφαρμογές με ένα αίτημα: GET ?ids=a,b,c ή POST με τη λίστα στο σώμα (μία ανά γραμμή ή JSON {\"ids\": […]}). 1 token ανά εφαρμογή· όσες δεν βρεθούν επιστρέφονται στο not_found.\n\nCost: 1 token per app.",
                "x-tokens": 1,
                "parameters": [],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "text/plain": {
                            "schema": {
                                "type": "string"
                            },
                            "example": "com.whatsapp\norg.telegram.messenger"
                        }
                    }
                }
            }
        },
        "/search": {
            "get": {
                "operationId": "search",
                "tags": [
                    "Εφαρμογές"
                ],
                "summary": "Αναζήτηση και φίλτρα σε ολόκληρη τη βάση. Απαιτείται τουλάχιστον ένα φίλτρο. Χωρίς q η ταξινόμηση γίνεται κατά εγκαταστάσεις.",
                "description": "Αναζήτηση και φίλτρα σε ολόκληρη τη βάση. Απαιτείται τουλάχιστον ένα φίλτρο. Χωρίς q η ταξινόμηση γίνεται κατά εγκαταστάσεις.\n\nCost: 2 tokens per call.",
                "x-tokens": 2,
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "λέξεις για αναζήτηση στον τίτλο, την περιγραφή και το όνομα του προγραμματιστή",
                        "schema": {
                            "type": "string"
                        },
                        "example": "photo editor"
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "ID κατηγορίας, π.χ. GAME_PUZZLE (βλ. /v1/categories)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "developer_id",
                        "in": "query",
                        "required": false,
                        "description": "ID προγραμματιστή στο Google Play",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_installs",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστες εγκαταστάσεις (όρια Google Play: 1000, 10000…)",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "max_installs",
                        "in": "query",
                        "required": false,
                        "description": "μέγιστες εγκαταστάσεις",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "min_score",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστη βαθμολογία, 0–5",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_ratings",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστες βαθμολογίες",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "free",
                        "in": "query",
                        "required": false,
                        "description": "true — μόνο δωρεάν, false — μόνο επί πληρωμή",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "ads",
                        "in": "query",
                        "required": false,
                        "description": "true — με διαφημίσεις, false — χωρίς",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "iap",
                        "in": "query",
                        "required": false,
                        "description": "true — με αγορές εντός εφαρμογής",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "required": false,
                        "description": "γλώσσα τίτλου, κωδικός ISO: en, de, pt…",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "released_from",
                        "in": "query",
                        "required": false,
                        "description": "κυκλοφόρησαν από την ημερομηνία, YYYY-MM-DD",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "released_to",
                        "in": "query",
                        "required": false,
                        "description": "κυκλοφόρησαν έως και την ημερομηνία",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "updated_from",
                        "in": "query",
                        "required": false,
                        "description": "ενημερώθηκαν από την ημερομηνία",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "updated_to",
                        "in": "query",
                        "required": false,
                        "description": "ενημερώθηκαν έως και την ημερομηνία",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "live (στο κατάστημα, προεπιλογή), removed ή all",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "live",
                                "removed",
                                "all"
                            ]
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "relevance | installs | real_installs | score | ratings | reviews | released | updated | price",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "description": "desc | asc",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/suggest": {
            "get": {
                "operationId": "suggest",
                "tags": [
                    "Εφαρμογές"
                ],
                "summary": "Προτάσεις βάσει της αρχής του τίτλου: τα 10 πιο δημοφιλή αποτελέσματα. Δωρεάν.",
                "description": "Προτάσεις βάσει της αρχής του τίτλου: τα 10 πιο δημοφιλή αποτελέσματα. Δωρεάν.\n\nCost: 0 tokens per call.",
                "x-tokens": 0,
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "description": "αρχή του τίτλου, από 2 χαρακτήρες",
                        "schema": {
                            "type": "string"
                        },
                        "example": "whats"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/developer": {
            "get": {
                "operationId": "developer",
                "tags": [
                    "Προγραμματιστές"
                ],
                "summary": "Ένας προγραμματιστής και όλες οι εφαρμογές του: αριθμός (στο κατάστημα και αποσυρμένες), συνολικές εγκαταστάσεις, μέση βαθμολογία, πρώτη κυκλοφορία, κατηγορίες, ιστότοπος. Στο πλάνο Business — email, τηλέφωνο, διεύθυνση και νομική επωνυμία.",
                "description": "Ένας προγραμματιστής και όλες οι εφαρμογές του: αριθμός (στο κατάστημα και αποσυρμένες), συνολικές εγκαταστάσεις, μέση βαθμολογία, πρώτη κυκλοφορία, κατηγορίες, ιστότοπος. Στο πλάνο Business — email, τηλέφωνο, διεύθυνση και νομική επωνυμία.\n\nCost: 2 tokens per call.",
                "x-tokens": 2,
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": false,
                        "description": "ID προγραμματιστή (από την καρτέλα εφαρμογής: developer.id)",
                        "schema": {
                            "type": "string"
                        },
                        "example": "5191370068110375942"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "required": false,
                        "description": "ή το ακριβές όνομα του προγραμματιστή",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "all (προεπιλογή), live ή removed",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "live",
                                "removed",
                                "all"
                            ]
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "relevance | installs | real_installs | score | ratings | reviews | released | updated | price",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/new": {
            "get": {
                "operationId": "new",
                "tags": [
                    "Αλλαγές στο κατάστημα"
                ],
                "summary": "Νέες εφαρμογές κατά ημερομηνία πρώτης κυκλοφορίας, οι πιο πρόσφατες πρώτα.",
                "description": "Νέες εφαρμογές κατά ημερομηνία πρώτης κυκλοφορίας, οι πιο πρόσφατες πρώτα.\n\nCost: 2 tokens per call.",
                "x-tokens": 2,
                "parameters": [
                    {
                        "name": "since",
                        "in": "query",
                        "required": false,
                        "description": "από την ημερομηνία, YYYY-MM-DD (προεπιλογή: πριν από 7 ημέρες)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "required": false,
                        "description": "έως και την ημερομηνία",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "ID κατηγορίας, π.χ. GAME_PUZZLE (βλ. /v1/categories)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_installs",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστες εγκαταστάσεις (όρια Google Play: 1000, 10000…)",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "required": false,
                        "description": "γλώσσα τίτλου, κωδικός ISO: en, de, pt…",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "relevance | installs | real_installs | score | ratings | reviews | released | updated | price",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/removed": {
            "get": {
                "operationId": "removed",
                "tags": [
                    "Αλλαγές στο κατάστημα"
                ],
                "summary": "Εφαρμογές που εξαφανίστηκαν από το Google Play (δεν υπάρχουν σε καμία από τις 19 χώρες που ελέγχουμε), κατά ημερομηνία απόσυρσης. Η καρτέλα διατηρεί τα τελευταία δεδομένα.",
                "description": "Εφαρμογές που εξαφανίστηκαν από το Google Play (δεν υπάρχουν σε καμία από τις 19 χώρες που ελέγχουμε), κατά ημερομηνία απόσυρσης. Η καρτέλα διατηρεί τα τελευταία δεδομένα.\n\nCost: 2 tokens per call.",
                "x-tokens": 2,
                "parameters": [
                    {
                        "name": "since",
                        "in": "query",
                        "required": false,
                        "description": "από την ημερομηνία, YYYY-MM-DD (προεπιλογή: πριν από 7 ημέρες)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "until",
                        "in": "query",
                        "required": false,
                        "description": "έως και την ημερομηνία",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "ID κατηγορίας, π.χ. GAME_PUZZLE (βλ. /v1/categories)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_installs",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστες εγκαταστάσεις (όρια Google Play: 1000, 10000…)",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "removed_at | installs | score",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/keywords": {
            "get": {
                "operationId": "keywords",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Λέξεις και φράσεις από τίτλους εφαρμογών ξεχωριστά για κάθε γλώσσα: πόσες εφαρμογές και προγραμματιστές τις χρησιμοποιούν, πόσες από αυτές είναι ισχυρές (100 χιλ.+ εγκαταστάσεις), συνολικές εγκαταστάσεις, μερίδιο του ηγέτη και βαθμολογία ευκαιρίας (opportunity).",
                "description": "Λέξεις και φράσεις από τίτλους εφαρμογών ξεχωριστά για κάθε γλώσσα: πόσες εφαρμογές και προγραμματιστές τις χρησιμοποιούν, πόσες από αυτές είναι ισχυρές (100 χιλ.+ εγκαταστάσεις), συνολικές εγκαταστάσεις, μερίδιο του ηγέτη και βαθμολογία ευκαιρίας (opportunity).\n\nCost: 2 tokens per call.",
                "x-tokens": 2,
                "parameters": [
                    {
                        "name": "lang",
                        "in": "query",
                        "required": false,
                        "description": "γλώσσα, προεπιλογή en",
                        "schema": {
                            "type": "string"
                        },
                        "example": "en"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "λέξη ή φράση",
                        "schema": {
                            "type": "string"
                        },
                        "example": "vpn"
                    },
                    {
                        "name": "phrase",
                        "in": "query",
                        "required": false,
                        "description": "true — μόνο φράσεις δύο λέξεων, false — μόνο μεμονωμένες λέξεις",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "min_apps",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστες εφαρμογές",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "max_apps",
                        "in": "query",
                        "required": false,
                        "description": "μέγιστες εφαρμογές",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "opportunity | apps | installs | strong | devs | max_installs",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "description": "desc | asc",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/categories": {
            "get": {
                "operationId": "categories",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Όλες οι κατηγορίες με αριθμό εφαρμογών και συνολικές εγκαταστάσεις. Δωρεάν.",
                "description": "Όλες οι κατηγορίες με αριθμό εφαρμογών και συνολικές εγκαταστάσεις. Δωρεάν.\n\nCost: 0 tokens per call.",
                "x-tokens": 0,
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "live (στο κατάστημα, προεπιλογή), removed ή all",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "live",
                                "removed",
                                "all"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/free_domains": {
            "get": {
                "operationId": "free_domains",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Εφαρμογές των οποίων ο τομέας του ιστότοπου του προγραμματιστή είναι διαθέσιμος προς εγγραφή, με τη δημοτικότητα της εφαρμογής. Ανοίγει μετά την πρώτη αγορά tokens.",
                "description": "Εφαρμογές των οποίων ο τομέας του ιστότοπου του προγραμματιστή είναι διαθέσιμος προς εγγραφή, με τη δημοτικότητα της εφαρμογής. Ανοίγει μετά την πρώτη αγορά tokens.\n\nCost: 3 tokens per call. Opens after the first token purchase.",
                "x-tokens": 3,
                "parameters": [
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "ID κατηγορίας, π.χ. GAME_PUZZLE (βλ. /v1/categories)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_installs",
                        "in": "query",
                        "required": false,
                        "description": "ελάχιστες εγκαταστάσεις (όρια Google Play: 1000, 10000…)",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "live (στο κατάστημα, προεπιλογή), removed ή all",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "live",
                                "removed",
                                "all"
                            ]
                        }
                    },
                    {
                        "name": "tld",
                        "in": "query",
                        "required": false,
                        "description": "επέκταση τομέα, π.χ. com",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "relevance | installs | real_installs | score | ratings | reviews | released | updated | price",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/charts": {
            "get": {
                "operationId": "charts",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Top chart του Google Play για μία χώρα και κατηγορία: έως 200 θέσεις, αλλαγή θέσης από το προηγούμενο στιγμιότυπο (change: πόσες θέσεις ανέβηκε, «new» — νέα στο chart), εικονίδιο και εγκαταστάσεις.",
                "description": "Top chart του Google Play για μία χώρα και κατηγορία: έως 200 θέσεις, αλλαγή θέσης από το προηγούμενο στιγμιότυπο (change: πόσες θέσεις ανέβηκε, «new» — νέα στο chart), εικονίδιο και εγκαταστάσεις.\n\nCost: 2 tokens per call.",
                "x-tokens": 2,
                "parameters": [
                    {
                        "name": "country",
                        "in": "query",
                        "required": true,
                        "description": "χώρα, κωδικός ISO: US, DE, BR…",
                        "schema": {
                            "type": "string"
                        },
                        "example": "US"
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "required": true,
                        "description": "κατηγορία, π.χ. GAME_PUZZLE",
                        "schema": {
                            "type": "string"
                        },
                        "example": "GAME_PUZZLE"
                    },
                    {
                        "name": "collection",
                        "in": "query",
                        "required": false,
                        "description": "free | paid | grossing",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "free",
                                "paid",
                                "grossing"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/rankings": {
            "get": {
                "operationId": "rankings",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Όλα τα charts στα οποία βρίσκεται η εφαρμογή στο τελευταίο στιγμιότυπο: χώρα, κατηγορία, συλλογή, θέση· αριθμός charts, χωρών και η καλύτερη θέση.",
                "description": "Όλα τα charts στα οποία βρίσκεται η εφαρμογή στο τελευταίο στιγμιότυπο: χώρα, κατηγορία, συλλογή, θέση· αριθμός charts, χωρών και η καλύτερη θέση.\n\nCost: 1 token per call.",
                "x-tokens": 1,
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "όνομα πακέτου εφαρμογής",
                        "schema": {
                            "type": "string"
                        },
                        "example": "com.whatsapp"
                    },
                    {
                        "name": "country",
                        "in": "query",
                        "required": false,
                        "description": "μόνο μία χώρα",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "collection",
                        "in": "query",
                        "required": false,
                        "description": "free | paid | grossing",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "free",
                                "paid",
                                "grossing"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/availability": {
            "get": {
                "operationId": "availability",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Χώρες όπου η εφαρμογή είναι διαθέσιμη στο Google Play (βάσει hreflang στο sitemap του καταστήματος). Αν οι χώρες είναι 190+, επιστρέφεται worldwide = true χωρίς λίστα.",
                "description": "Χώρες όπου η εφαρμογή είναι διαθέσιμη στο Google Play (βάσει hreflang στο sitemap του καταστήματος). Αν οι χώρες είναι 190+, επιστρέφεται worldwide = true χωρίς λίστα.\n\nCost: 1 token per call.",
                "x-tokens": 1,
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "όνομα πακέτου εφαρμογής",
                        "schema": {
                            "type": "string"
                        },
                        "example": "com.whatsapp"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/markets": {
            "get": {
                "operationId": "markets",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Ανταγωνισμός αγορών βάσει των δωρεάν charts: όριο εισόδου στο top 100 και στο top 200 (εγκαταστάσεις της εφαρμογής σε αυτή τη θέση), μερίδιο νέων (τελευταίοι 12 μήνες) και τοπικών (≤3 χώρες) εφαρμογών στην κορυφή, μέγεθος της τοπικής αγοράς. Χωρίς παραμέτρους — όλες οι χώρες· country — οι κατηγορίες μίας χώρας· category — μία κατηγορία σε όλες τις χώρες.",
                "description": "Ανταγωνισμός αγορών βάσει των δωρεάν charts: όριο εισόδου στο top 100 και στο top 200 (εγκαταστάσεις της εφαρμογής σε αυτή τη θέση), μερίδιο νέων (τελευταίοι 12 μήνες) και τοπικών (≤3 χώρες) εφαρμογών στην κορυφή, μέγεθος της τοπικής αγοράς. Χωρίς παραμέτρους — όλες οι χώρες· country — οι κατηγορίες μίας χώρας· category — μία κατηγορία σε όλες τις χώρες.\n\nCost: 1 token per call.",
                "x-tokens": 1,
                "parameters": [
                    {
                        "name": "country",
                        "in": "query",
                        "required": false,
                        "description": "χώρα, κωδικός ISO",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "ID κατηγορίας, π.χ. GAME_PUZZLE (βλ. /v1/categories)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "entry100 | entry200 | new_share | local_share | local_apps | local_installs | local_new",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "order",
                        "in": "query",
                        "required": false,
                        "description": "desc | asc",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desc",
                                "asc"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "σελίδα, από 1",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "γραμμές ανά σελίδα, 1–100 (προεπιλογή 20)",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/stats": {
            "get": {
                "operationId": "stats",
                "tags": [
                    "Αγορά"
                ],
                "summary": "Μέγεθος της βάσης: εφαρμογές στο κατάστημα και αποσυρμένες, προγραμματιστές, νέες και αποσυρμένες τις τελευταίες 7 ημέρες, ώρα τελευταίας ανανέωσης. Δωρεάν.",
                "description": "Μέγεθος της βάσης: εφαρμογές στο κατάστημα και αποσυρμένες, προγραμματιστές, νέες και αποσυρμένες τις τελευταίες 7 ημέρες, ώρα τελευταίας ανανέωσης. Δωρεάν.\n\nCost: 0 tokens per call.",
                "x-tokens": 0,
                "parameters": [],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    },
                    "400": {
                        "$ref": "#/components/responses/Error"
                    },
                    "401": {
                        "$ref": "#/components/responses/Error"
                    },
                    "402": {
                        "$ref": "#/components/responses/Error"
                    },
                    "403": {
                        "$ref": "#/components/responses/Error"
                    },
                    "429": {
                        "$ref": "#/components/responses/Error"
                    },
                    "502": {
                        "$ref": "#/components/responses/Error"
                    },
                    "503": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/health": {
            "get": {
                "operationId": "health",
                "tags": [
                    "Account"
                ],
                "summary": "Service status. No key required.",
                "security": [],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Ok"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKeyHeader": {
                "type": "apiKey",
                "in": "header",
                "name": "X-API-Key"
            },
            "BearerAuth": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "Tokens": {
                "type": "object",
                "properties": {
                    "cost": {
                        "type": "integer",
                        "description": "tokens this request cost"
                    },
                    "remaining": {
                        "type": "integer",
                        "description": "tokens left (monthly + purchased)"
                    }
                }
            },
            "Ok": {
                "type": "object",
                "required": [
                    "ok"
                ],
                "additionalProperties": true,
                "properties": {
                    "ok": {
                        "type": "boolean",
                        "const": true
                    },
                    "results": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "total": {
                        "type": "integer"
                    },
                    "page": {
                        "type": "integer"
                    },
                    "per": {
                        "type": "integer"
                    },
                    "pages": {
                        "type": "integer"
                    },
                    "_tokens": {
                        "$ref": "#/components/schemas/Tokens"
                    },
                    "_credits": {
                        "$ref": "#/components/schemas/Tokens",
                        "deprecated": true
                    }
                }
            },
            "Error": {
                "type": "object",
                "required": [
                    "ok",
                    "error",
                    "code"
                ],
                "properties": {
                    "ok": {
                        "type": "boolean",
                        "const": false
                    },
                    "error": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string",
                        "examples": [
                            "missing_api_key",
                            "invalid_api_key",
                            "account_blocked",
                            "insufficient_credits",
                            "rate_limited",
                            "invalid_param",
                            "invalid_request",
                            "not_found",
                            "upstream_error",
                            "service_unavailable"
                        ]
                    }
                }
            }
        },
        "responses": {
            "Ok": {
                "description": "Success",
                "headers": {
                    "X-Cache": {
                        "description": "HIT — served from cache, MISS — fresh query to the database",
                        "schema": {
                            "type": "string"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Ok"
                        }
                    }
                }
            },
            "Error": {
                "description": "Error",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        }
                    }
                }
            }
        }
    }
}