Accsly VPS API
The VPS API from Accsly — 2 operation(s) for vps.
The VPS API from Accsly — 2 operation(s) for vps.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/accsly-io:accsly-io-vps-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: accsly.io agent VPS API
version: 1.0.0
summary: 'Read-only price data of accsly.io: VPS/VDS, shared hosting and dedicated plans of 2,000+ hosts, and ready-made accounts across shops.'
description: 'accsly.io compares prices; it does not sell servers or accounts. Plan prices are read on the hosts'' own sites and refreshed hourly; order_url / buy_url links lead to the seller. Prices follow the language of the URL (RUB on /ru, USD on /en, EUR on /de, /es, /pt, TRY on /tr). Overview for language models: https://accsly.io/llms.txt (full: https://accsly.io/llms-full.txt). The same data as MCP tools: https://accsly.io/mcp (Streamable HTTP, no auth). Please keep to about one request a second.'
contact:
name: accsly.io
url: https://accsly.io/promo
servers:
- url: https://accsly.io
tags:
- name: VPS
paths:
/{locale}/vps:
get:
operationId: searchVps
tags:
- VPS
summary: Search VPS/VDS plans
description: 'The VPS finder. With format=json: plans matching the filters, 10 a page, cheapest first by default. The same parameters work on /{locale}/hosting (shared hosting) and /{locale}/dedicated.'
parameters:
- name: locale
in: path
required: true
schema:
type: string
enum:
- ru
- en
- de
- tr
- es
- pt
description: Site language; also the price currency.
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- md
description: json = the search as data (10 plans a page); md = the page as Markdown. Without it the HTML page.
- name: q
in: query
required: false
schema:
type: string
maxLength: 60
description: Free text over plan and host names, disk type, virtualization («aeza», «timeweb nvme»; Cyrillic spellings are matched too).
- name: price
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Maximum monthly price in the locale currency (RUB on /ru, USD on /en, EUR on /de, /es, /pt, TRY on /tr).
- name: price_min
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum monthly price in the locale currency.
- name: ram
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum RAM, GB.
- name: cpu
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum vCPU cores.
- name: ghz
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum core frequency, GHz.
- name: disk
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum disk, GB.
- name: port
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum port speed, Mbit/s.
- name: sites
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: 'Shared hosting: at least this many sites.'
- name: db
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: 'Shared hosting: at least this many databases.'
- name: traffic
in: query
required: false
schema:
type: string
pattern: ^(unlim|\d+(\.\d+)?)$
description: «unlim» = unmetered traffic, or a minimum in TB.
- name: disk_type
in: query
required: false
schema:
type: string
enum:
- ssd
- nvme
- hdd
description: ssd = SSD or NVMe, nvme = NVMe only, hdd.
- name: region
in: query
required: false
schema:
type: string
enum:
- abroad
- eu
- cis
- asia
- america
description: abroad = outside Russia, eu, cis, asia, america.
- name: country
in: query
required: false
schema:
type: string
description: 'Server locations (any of them), ISO 3166-1 alpha-2, comma-separated. Values: RU, NL, DE, FI, US, PL, FR, GB, KZ, TR, LV, EE, LT, SE, CH, CZ, BG, MD, RO, AT, ES, IT, GR, HU, SK, RS, BE, DK, NO, IE, IS, PT, HR, SI, ME, MK, AL, CY, UA, BY, AM, GE, UZ, KG, IL, AE, HK, SG, JP, KR, CN, IN, ID, MY, TH, PK, AU, CA, MX, BR, AR, CL, CO, PE, EC, BO, CR, GT, PR, ZA, LU, LI, BA, TW, VN, PH, KH, MM, BD, NP, SA, QA, BH, KW, OM, IQ, EG, NG, NZ, AQ, AZ, MT, LA, IR, LB, PA, PY, UY, CW, KE, CG, MA, GH.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: os
in: query
required: false
schema:
type: string
description: 'Operating systems offered (all of them). Values: linux, windows, freebsd, iso.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: virt
in: query
required: false
schema:
type: string
description: 'Virtualization (any of them). Values: kvm, openvz, lxc, hyperv, vmware, xen.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: pay
in: query
required: false
schema:
type: string
description: 'Payment methods (any of them): card_ru = Russian MIR card, sbp = Russian fast payments, card_world = non-Russian card. Values: card_ru, sbp, card_world, crypto, yoomoney, webmoney, paypal, invoice.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: opt
in: query
required: false
schema:
type: string
description: 'Required features (all of them); hourly = hourly billing, smtp = port 25 open. Values: ipv6, ddos, hourly, trial, moneyback, win_license, panel, no_kyc, smtp, api, instant, ru_clients, gpu, ssl, mail, ru_support, rub.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: host
in: query
required: false
schema:
type: string
description: Host slugs (any of them), as in host_page URLs.
- name: jur
in: query
required: false
schema:
type: string
description: Country of the host's legal entity, ISO codes; «!RU» = not Russia.
- name: distro
in: query
required: false
schema:
type: string
description: 'OS templates (crawl data). Values: ubuntu, debian, almalinux, rocky, centos, fedora, opensuse, arch, oracle, alpine, cloudlinux, kali, astra, mikrotik, pfsense, proxmox, win2016, win2019, win2022, win2025, win10, win11.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: panel
in: query
required: false
schema:
type: string
description: 'Control panels (crawl data). Values: cpanel, plesk, directadmin, ispmanager, fastpanel, hestiacp, cyberpanel, aapanel, webmin, cloudpanel.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: chip
in: query
required: false
schema:
type: string
description: 'CPU families (crawl data). Values: ryzen, epyc, xeon, xeon_gold, intel_core.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: city
in: query
required: false
schema:
type: string
description: 'Data-centre cities. Values: moscow, saint-petersburg, novosibirsk, kazan, yekaterinburg, amsterdam, frankfurt, falkenstein, nuremberg, helsinki, london, paris, warsaw, stockholm, riga, bucharest, sofia, madrid, milan, istanbul, almaty, dubai, new-york, los-angeles, miami, dallas, chicago, ashburn, seattle, toronto, tokyo, sydney, mumbai, sao-paulo.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: coin
in: query
required: false
schema:
type: string
description: 'Accepted cryptocurrencies. Values: usdt, btc, eth, ltc, xmr, ton, trx.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: card
in: query
required: false
schema:
type: string
description: 'GPU models. Values: rtx-pro-6000, h100, a100, l40s, l4, a10, t4, a16, a2, rtx-4000-ada, v100, named.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: task
in: query
required: false
schema:
type: string
enum:
- vpn
- site
- bot
- games
- windows
- docker
- storage
- proxy
- parsing
- db
- mail
- dev
- ai
- game-minecraft
- game-cs2
- game-cs16
- game-rust
- game-palworld
- game-ark
- game-valheim
- game-dayz
- game-gta5
- game-samp
- game-terraria
- game-zomboid
- game-7dtd
- game-gmod
- game-satisfactory
- game-enshrouded
- game-factorio
- game-vrising
- game-unturned
- game-l4d2
- game-dst
- game-arma3
description: Preset filter of a typical job (vpn = corporate VPN, site, bot, games, windows, docker, storage, proxy, parsing, db, mail, dev, ai) or a game server (game-minecraft…). Explicit parameters override it.
- name: kind
in: query
required: false
schema:
type: string
enum:
- hosting
- dedicated
description: 'On /{locale}/vps: 301 to /{locale}/hosting or /{locale}/dedicated with the other parameters kept.'
- name: period
in: query
required: false
schema:
type: integer
enum:
- 1
- 3
- 6
- 12
description: Billing period in months the price is computed for (1 = monthly).
- name: sort
in: query
required: false
schema:
type: string
enum:
- price
- price_desc
- ram_value
- cpu_value
- disk_value
- ram
- disk
- ghz
- ram_value_rev
- cpu_value_rev
- disk_value_rev
- ram_rev
- disk_rev
- ghz_rev
description: price (default), price_desc, ram_value / cpu_value / disk_value = cheapest per GB RAM / core / GB disk, ram, disk, ghz; «_rev» reverses a field.
- name: one
in: query
required: false
schema:
type: string
enum:
- '1'
description: At most one plan per host.
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 500
description: 'Page of the result (format=json: 10 plans a page).'
responses:
'200':
description: 'format=json: the search result; format=md: the landing as Markdown.'
content:
application/json:
schema:
$ref: '#/components/schemas/VpsSearchResult'
text/markdown:
schema:
type: string
'301':
description: Renamed landing, or kind=hosting|dedicated on /vps.
'302':
description: A landing that exists only in Russian, asked in another language.
/{locale}/vps/{landing}:
get:
operationId: searchVpsLanding
tags:
- VPS
summary: A ready-made VPS selection (landing)
description: 'A landing is the finder with a preset filter: for-docker, for-website, for-game-server, germany, netherlands, cheap, nvme, 4-gb-ram, nvme-germany… (list: https://accsly.io/en/vps/all). Query parameters add to or override the preset. Shared hosting landings live at /{locale}/hosting/{path} (wordpress, cheap, russia…), dedicated at /{locale}/dedicated/{path}, GPU servers at /{locale}/gpu/{path}.'
parameters:
- name: locale
in: path
required: true
schema:
type: string
enum:
- ru
- en
- de
- tr
- es
- pt
description: Site language; also the price currency.
- name: landing
in: path
required: true
schema:
type: string
pattern: ^[a-z0-9-]+$
description: Landing slug.
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- md
description: json = the search as data (10 plans a page); md = the page as Markdown. Without it the HTML page.
- name: q
in: query
required: false
schema:
type: string
maxLength: 60
description: Free text over plan and host names, disk type, virtualization («aeza», «timeweb nvme»; Cyrillic spellings are matched too).
- name: price
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Maximum monthly price in the locale currency (RUB on /ru, USD on /en, EUR on /de, /es, /pt, TRY on /tr).
- name: price_min
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum monthly price in the locale currency.
- name: ram
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum RAM, GB.
- name: cpu
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum vCPU cores.
- name: ghz
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum core frequency, GHz.
- name: disk
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum disk, GB.
- name: port
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: Minimum port speed, Mbit/s.
- name: sites
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: 'Shared hosting: at least this many sites.'
- name: db
in: query
required: false
schema:
type: number
exclusiveMinimum: 0
description: 'Shared hosting: at least this many databases.'
- name: traffic
in: query
required: false
schema:
type: string
pattern: ^(unlim|\d+(\.\d+)?)$
description: «unlim» = unmetered traffic, or a minimum in TB.
- name: disk_type
in: query
required: false
schema:
type: string
enum:
- ssd
- nvme
- hdd
description: ssd = SSD or NVMe, nvme = NVMe only, hdd.
- name: region
in: query
required: false
schema:
type: string
enum:
- abroad
- eu
- cis
- asia
- america
description: abroad = outside Russia, eu, cis, asia, america.
- name: country
in: query
required: false
schema:
type: string
description: 'Server locations (any of them), ISO 3166-1 alpha-2, comma-separated. Values: RU, NL, DE, FI, US, PL, FR, GB, KZ, TR, LV, EE, LT, SE, CH, CZ, BG, MD, RO, AT, ES, IT, GR, HU, SK, RS, BE, DK, NO, IE, IS, PT, HR, SI, ME, MK, AL, CY, UA, BY, AM, GE, UZ, KG, IL, AE, HK, SG, JP, KR, CN, IN, ID, MY, TH, PK, AU, CA, MX, BR, AR, CL, CO, PE, EC, BO, CR, GT, PR, ZA, LU, LI, BA, TW, VN, PH, KH, MM, BD, NP, SA, QA, BH, KW, OM, IQ, EG, NG, NZ, AQ, AZ, MT, LA, IR, LB, PA, PY, UY, CW, KE, CG, MA, GH.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: os
in: query
required: false
schema:
type: string
description: 'Operating systems offered (all of them). Values: linux, windows, freebsd, iso.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: virt
in: query
required: false
schema:
type: string
description: 'Virtualization (any of them). Values: kvm, openvz, lxc, hyperv, vmware, xen.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: pay
in: query
required: false
schema:
type: string
description: 'Payment methods (any of them): card_ru = Russian MIR card, sbp = Russian fast payments, card_world = non-Russian card. Values: card_ru, sbp, card_world, crypto, yoomoney, webmoney, paypal, invoice.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: opt
in: query
required: false
schema:
type: string
description: 'Required features (all of them); hourly = hourly billing, smtp = port 25 open. Values: ipv6, ddos, hourly, trial, moneyback, win_license, panel, no_kyc, smtp, api, instant, ru_clients, gpu, ssl, mail, ru_support, rub.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: host
in: query
required: false
schema:
type: string
description: Host slugs (any of them), as in host_page URLs.
- name: jur
in: query
required: false
schema:
type: string
description: Country of the host's legal entity, ISO codes; «!RU» = not Russia.
- name: distro
in: query
required: false
schema:
type: string
description: 'OS templates (crawl data). Values: ubuntu, debian, almalinux, rocky, centos, fedora, opensuse, arch, oracle, alpine, cloudlinux, kali, astra, mikrotik, pfsense, proxmox, win2016, win2019, win2022, win2025, win10, win11.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: panel
in: query
required: false
schema:
type: string
description: 'Control panels (crawl data). Values: cpanel, plesk, directadmin, ispmanager, fastpanel, hestiacp, cyberpanel, aapanel, webmin, cloudpanel.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: chip
in: query
required: false
schema:
type: string
description: 'CPU families (crawl data). Values: ryzen, epyc, xeon, xeon_gold, intel_core.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: city
in: query
required: false
schema:
type: string
description: 'Data-centre cities. Values: moscow, saint-petersburg, novosibirsk, kazan, yekaterinburg, amsterdam, frankfurt, falkenstein, nuremberg, helsinki, london, paris, warsaw, stockholm, riga, bucharest, sofia, madrid, milan, istanbul, almaty, dubai, new-york, los-angeles, miami, dallas, chicago, ashburn, seattle, toronto, tokyo, sydney, mumbai, sao-paulo.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: coin
in: query
required: false
schema:
type: string
description: 'Accepted cryptocurrencies. Values: usdt, btc, eth, ltc, xmr, ton, trx.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: card
in: query
required: false
schema:
type: string
description: 'GPU models. Values: rtx-pro-6000, h100, a100, l40s, l4, a10, t4, a16, a2, rtx-4000-ada, v100, named.'
pattern: ^[A-Za-z0-9_!-]+(,[A-Za-z0-9_!-]+)*$
- name: task
in: query
required: false
schema:
type: string
enum:
- vpn
- site
- bot
- games
- windows
- docker
- storage
- proxy
- parsing
- db
- mail
- dev
- ai
- game-minecraft
- game-cs2
- game-cs16
- game-rust
- game-palworld
- game-ark
- game-valheim
- game-dayz
- game-gta5
- game-samp
- game-terraria
- game-zomboid
- game-7dtd
- game-gmod
- game-satisfactory
- game-enshrouded
- game-factorio
- game-vrising
- game-unturned
- game-l4d2
- game-dst
- game-arma3
description: Preset filter of a typical job (vpn = corporate VPN, site, bot, games, windows, docker, storage, proxy, parsing, db, mail, dev, ai) or a game server (game-minecraft…). Explicit parameters override it.
- name: kind
in: query
required: false
schema:
type: string
enum:
- hosting
- dedicated
description: 'On /{locale}/vps: 301 to /{locale}/hosting or /{locale}/dedicated with the other parameters kept.'
- name: period
in: query
required: false
schema:
type: integer
enum:
- 1
- 3
- 6
- 12
description: Billing period in months the price is computed for (1 = monthly).
- name: sort
in: query
required: false
schema:
type: string
enum:
- price
- price_desc
- ram_value
- cpu_value
- disk_value
- ram
- disk
- ghz
- ram_value_rev
- cpu_value_rev
- disk_value_rev
- ram_rev
- disk_rev
- ghz_rev
description: price (default), price_desc, ram_value / cpu_value / disk_value = cheapest per GB RAM / core / GB disk, ram, disk, ghz; «_rev» reverses a field.
- name: one
in: query
required: false
schema:
type: string
enum:
- '1'
description: At most one plan per host.
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 500
description: 'Page of the result (format=json: 10 plans a page).'
responses:
'200':
description: 'format=json: the search result; format=md: the landing as Markdown.'
content:
application/json:
schema:
$ref: '#/components/schemas/VpsSearchResult'
text/markdown:
schema:
type: string
'301':
description: Renamed landing, or kind=hosting|dedicated on /vps.
'302':
description: A landing that exists only in Russian, asked in another language.
components:
schemas:
VpsSearchResult:
type: object
required:
- total
- page
- pages
- currency
- page_url
- plans
properties:
query:
type: object
additionalProperties:
type: string
description: The normalised filter (preset values included).
total:
type: integer
page:
type: integer
pages:
type: integer
currency:
type: string
enum:
- RUB
- USD
- EUR
- TRY
page_url:
type: string
format: uri
plans:
type: array
items:
$ref: '#/components/schemas/VpsPlan'
VpsPlan:
type: object
properties:
host:
type: string
host_slug:
type: string
host_page:
type: string
format: uri
plan:
type: string
kind:
type: string
enum:
- vps
- hosting
- dedicated
price_per_month:
type: string
description: Formatted in the locale currency, «4.50 $».
price_value:
type: number
description: Monthly price in the locale currency.
price_rub:
type: integer
description: Monthly price in roubles (the catalog unit).
price_note:
type:
- string
- 'null'
description: Prepaid term, long-term price or the period total.
cpu_cores:
type: number
cpu_ghz:
type:
- number
- 'null'
ram_gb:
type: number
disk_gb:
type: number
disk_type:
type: string
enum:
- nvme
- ssd
- hdd
traffic_tb:
description: TB a month, «unlimited», or null when the host does not say.
oneOf:
- type: number
- type: string
enum:
- unlimited
- type: 'null'
virtualization:
type: string
gpu:
type:
- string
- 'null'
countries:
type: array
items:
type: string
payment_methods:
type: array
items:
type: string
enum:
- card_ru
- sbp
- card_world
- crypto
- yoomoney
- webmoney
- paypal
- invoice
source_price:
type:
- string
- 'null'
description: 'The host''s own price as published: «12.5 USD» a month, «35 USD/3» for 3 months.'
prepay_months:
type:
- integer
- 'null'
price_year_rub:
type: integer
setup_fee_rub:
type:
- integer
- 'null'
hourly:
type: boolean
ipv4:
type:
- integer
- 'null'
description: 0 = IPv6 only.
order_url:
type: string
format: uri
description: Redirect to the plan on the host's site.
externalDocs:
description: llms.txt — site overview for language models
url: https://accsly.io/llms.txt