Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/beacon-roofing-supply:beacon-roofing-supply-itemlist-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
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: Beacon Rest Services Itemlist API
description: 'A combination of all methods in the beacon-api
[ BASE URL: https://beaconproplus.com
Beacon ProPlus
Version 1: https://beaconproplus.com/v1/rest/com/becn
Version 2: https://beaconproplus.com/v2/rest/com/becn
Version 3: https://beaconproplus.com/v3/rest/com/becn
Beacon Stack
[ BASE URL: https://beacon-api-x7xzzdp35a-uk.a.run.app
Version 1: https://beacon-api-x7xzzdp35a-uk.a.run.app/v1/rest/com/becn/
Version 2: https://beacon-api-x7xzzdp35a-uk.a.run.app/v2/rest/com/becn/
Version 3: https://beacon-api-x7xzzdp35a-uk.a.run.app/v3/rest/com/becn/
API Site ID
Show... Most of the APIs supports the apiSiteId parameter in the following locations, the parsing priority is higher to lower. For example, if this parameter appears both in request parameter and request body, will get the one in the request parameter, any other locations will be ignored. apiSiteId in Request Parameter/URL/Query String e.g. example.com/?apiSiteId=XYZ... example.com/?...&apiSiteId=XYZ... apiSiteId in Request Body/Payload e.g. { ... "apiSiteId": "XYZ", ... }
Please be noted, only support when apiSiteId is the root element of request body. For example, the apiSiteId in the following request body is the second element, so this property will be ignored:
{ ... "foo": { "apiSiteId": "XYZ", } ... }
apiSiteId related OAuth Token in Request Header e.g. Authorization Bearer atdy9au5qtg0ofkxdewwr3169... In this case, the apiSiteId will be parsed via the OAuth Token. For example, if one token is generated by the client id "nigu0zjtyih7lb36l2...", then this client related api site id(pre-defined and stored in the server database) will be the value of apiSiteId
API Uniform Format
Show... Response
{ "success":true, "messages":[ { "key":null, "code":null, "type":"success", "value":"" } ], "result": }
Explanation
If the response example value of one endpoint /foo is:
{ "name":"bar", "age":123 }
Then the actual response value of this endpoint is: (replace the value of "result" element in API Uniform Format with example response)
{ "success":true, "messages":[ { "code":null, "type":"success", "value":"" } ], "result":{ "name":"bar", "age":123 } }
API Response Message Code
Show... Code Group
Code
Comments
1XXX:
common request param error 1001 Param is required. 1002 Repository item not found via request
1003 Param max length is invalid. 1004 Param min length is invalid. 1005 Param regular expression is invalid. 1006 Request param requestBody is not a valid
1007 Request param caused validation exception
1008 Request param caused form error
2XXX:
current profile error 2001 Current profile in request is empty
2002 Current profile type/instance in request is empty
2003 Current profile in request do not have available accounts
2004 Current profile is unauthorized
2005 Current profile is already authorized
2006 Current profile is permission denied
3XXX:
specified request param error 3001 Request param account id is not available/not belong to current profile
3002 Request param product id is not available to current region of current profile
3003 Request param profile id is not equal to current profile
3004 Request param profile id is not found
3005 Request param site id is not equal to current site
3006 Request param sku id is not available to current region of current profile
3007 Request param shipping is invalid to current region of current profile
4XXX:
system level common error 4001 System error
4002 Mincron error
4003 ATG Order version invalid error
5XXX:
specified response error 5001 Submit order failed response
5002 Submit order failed with integration exception message returned
5003 Query order detail not match with current
5004 No result is returned to order history
5005 Template name invalid
5006 Need change account
5007 Account no longer available for current user
5008 Illegal data
5009 Account token invalid
5010 No current Order
5011 Quote order account not match
Glossary
Show...'
version: '1.0'
contact: {}
servers: []
tags:
- name: Itemlist
paths:
/itemlist:
get:
operationId: V3Controller_itemlist
summary: Get list of items
description: This service will list all the products for selected account, based on availability.
parameters:
- name: accountId
required: false
in: query
description: Account Id
schema:
type: string
- name: pageSize
required: false
in: query
description: Default page size is 21. Max Page Size can be configured in BCC, maxPageSize default value is 30. If pageSize exceeds maxPageSize, the amount of maxPageSize items return.
schema:
type: number
- name: pageNo
required: false
in: query
description: Default page no is 1, the first page
schema:
type: number
- name: filter
required: false
in: query
description: 'Search terms<br><br>This parameter also support the following syntax:<br><blockquote>●`productId:ID1,ID2...IDn`<blockquote>○Filter by given product Id list, separated by comma. Example: "productId:C-010001,C-010002,C-010003"</blockquote></blockquote>'
schema:
type: string
- name: cateFilter
required: false
in: query
description: Category search terms
schema:
type: string
- name: facetsFilter
required: false
in: query
description: 'Filter syntax:<br><br><blockquote>●Facets search IDs, separated by comma<blockquote>○ Example: "4294965847,4294965836"</blockquote></blockquote><blockquote>●Indicate which dimension to search, < facet type >: <facet name >, separated by comma, case insensitive, ignore white space<blockquote>○ Example: "size:0ft x 2ft,packaging:100 bag,thickness:102mm,style:A Slop,color: Beige"</blockquote></blockquote><blockquote>●Special charactors should be URL encoded then append to query string<blockquote>○ Example:raw: "facetsFilter=Thickness:20_,Thickness:20",Thickness:20mm,Size:"9 x "12,Size:#12,Size:1! x 1!,Size:1-5/8",Size:10" x 15",Size:100" x 200",Size:2-7/8",Size:6> x 500<"</blockquote><blockquote>○ Example:URL encoded: "facetsFilter=Thickness%3a20_%2cThickness%3a20%22%2cThickness%3a20mm%2cSize%3a%229+x+%2212%2cSize%3a%2312%2cSize%3a1!+x+1!%2cSize%3a1-5%2f8%22%2cSize%3a10%22+x+15%22%2cSize%3a100%27+x+200%27%2cSize%3a2-7%2f8%22%2cSize%3a6%3e+x+500%3c"</blockquote></blockquote><blockquote>●The above syntax can be mixed together<blockquote>○ Example: "size:0ft x 2ft,4294965847,packaging:100 bag,thickness:102mm,4294965836,style:A Slop,color: Beige"</blockquote></blockquote>'
schema:
type: string
- name: showSkuList
required: false
in: query
description: if "false", display sku list
schema:
type: string
- name: showFacets
required: false
in: query
description: if "false", do not display facets. Default is "false"
schema:
type: string
- name: enableAutoCorrection
required: false
in: query
description: Default is false, will enable auto correction for `filter`
schema:
type: string
- name: enableDidYouMean
required: false
in: query
description: Default is false, will enable did you mean features for `filter`
schema:
type: string
- name: showHoverAttrs
required: false
in: query
description: if "false", display Hover attributes
schema:
type: string
- name: hoverSearch
required: false
in: query
description: if "false", display Hover version of search
schema:
type: string
responses:
'200':
description: 'successful operation<br/><br/>If failed, return messageCode, refer to messageCode doc.<br/><br/>Example<br/><br/>{ "messageCode": "1001", "message": "Validation exception" }'
content:
application/json:
schema:
$ref: '#/components/schemas/itemListResponse'
'400':
description: Bad Request, accountId is invalid.
'401':
description: Unauthorized, the authorization bearer token is invalid.
'405':
description: Method not allowed, the request method is not valid for this API or this API is not available.
'500':
description: Internal exception.
security:
- basic: []
tags:
- Itemlist
components:
schemas:
Category:
type: object
properties:
categoryName:
type: string
categoryId:
type: string
required:
- categoryName
- categoryId
Category3:
type: object
properties:
facetId:
type: string
facetName:
type: string
selected:
type: boolean
children:
type: array
items:
$ref: '#/components/schemas/Child2'
required:
- facetId
- facetName
- selected
- children
Category2:
type: object
properties:
categoryName:
type: string
categoryId:
type: string
recordCount:
type: number
facetId:
type: string
required:
- categoryName
- categoryId
- recordCount
- facetId
Item:
type: object
properties:
filter:
type: string
required:
- filter
Child:
type: object
properties:
facetId:
type: string
facetName:
type: string
recordCount:
type: number
selected:
type: boolean
required:
- facetId
- facetName
- recordCount
- selected
Child2:
type: object
properties:
facetId:
type: string
facetName:
type: string
recordCount:
type: number
selected:
type: boolean
children:
type: array
items:
$ref: '#/components/schemas/Child'
required:
- facetId
- facetName
- recordCount
- selected
- children
itemListResponse:
type: object
properties:
message:
type: string
totalNumRecs:
type: number
pageNumRecs:
type: number
didYouMean:
$ref: '#/components/schemas/DidYouMean'
autoCorrection:
$ref: '#/components/schemas/DidYouMean'
items:
type: array
items:
$ref: '#/components/schemas/Item2'
categories:
type: array
items:
$ref: '#/components/schemas/Category2'
facets:
$ref: '#/components/schemas/Facets'
required:
- message
- totalNumRecs
- pageNumRecs
- didYouMean
- autoCorrection
- items
- categories
- facets
Item2:
type: object
properties:
productImage:
type: string
productOnErrorImage:
type: string
longDesc:
type: string
brand:
type: string
categories:
type: array
items:
$ref: '#/components/schemas/Category'
shortDesc:
type: string
hoverAttributes:
$ref: '#/components/schemas/HoverAttributes'
productName:
type: string
productId:
type: string
baseProductName:
type: string
internalProductName:
type: string
url:
type: string
required:
- productImage
- productOnErrorImage
- longDesc
- brand
- categories
- shortDesc
- hoverAttributes
- productName
- productId
- baseProductName
- internalProductName
- url
HoverAttributes:
type: object
properties:
sellingUom:
type: string
piecesPerUom:
type: string
coverageUom:
type: string
ppCoverageUom:
type: string
lengthExposure:
type: string
widthExposure:
type: string
lengthHover:
type: string
widthHover:
type: string
ncpSellingUom:
type: string
gcpSellingUom:
type: string
sslvoDimensionIn:
type: string
sswhoDimensionOption1In:
type: string
sswhoDimensionOption2In:
type: string
sswhoDimensionOption3In:
type: string
lslvoDimensionIn:
type: string
lswhoDimensionIn:
type: string
rvlvoDimensionIn:
type: string
rvwhoDimensionIn:
type: string
nfvaHover:
type: string
nfvaUomHover:
type: string
fhLapIn:
type: string
fvLapIn:
type: string
chLapIn:
type: string
cvLapIn:
type: string
cfmValue:
type: string
cfmUom:
type: string
required:
- sellingUom
- piecesPerUom
- coverageUom
- ppCoverageUom
- lengthExposure
- widthExposure
- lengthHover
- widthHover
- ncpSellingUom
- gcpSellingUom
- sslvoDimensionIn
- sswhoDimensionOption1In
- sswhoDimensionOption2In
- sswhoDimensionOption3In
- lslvoDimensionIn
- lswhoDimensionIn
- rvlvoDimensionIn
- rvwhoDimensionIn
- nfvaHover
- nfvaUomHover
- fhLapIn
- fvLapIn
- chLapIn
- cvLapIn
- cfmValue
- cfmUom
Facets:
type: object
properties:
Categories:
type: array
items:
$ref: '#/components/schemas/Category3'
Color:
type: array
items:
$ref: '#/components/schemas/Child'
Product Style:
type: array
items:
$ref: '#/components/schemas/Child'
Brand:
type: array
items:
$ref: '#/components/schemas/Child'
required:
- Categories
- Color
- Product Style
- Brand
DidYouMean:
type: object
properties:
message:
type: string
items:
type: array
items:
$ref: '#/components/schemas/Item'
required:
- message
- items