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-v3-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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 V3 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…'
version: '1.0'
contact: {}
servers: []
tags:
- name: v3
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:
- v3
/itemDetails:
get:
operationId: V3Controller_itemDetails
summary: Get items details
description: This service returns product details based on Product or item Id.
parameters:
- name: productId
required: true
in: query
description: Product Id
schema:
type: string
- name: itemNumber
required: false
in: query
description: Item number(SKU ID)
schema:
type: string
- name: accountId
required: false
in: query
description: Account Id
schema:
type: string
- name: jobNumber
required: false
in: query
description: Job Number
schema:
type: string
- name: uom
required: false
in: query
description: Unit of Measure
schema:
type: string
- name: showHoverAttrs
required: false
in: query
description: if "true", display hover attributes
schema:
type: string
responses:
'200':
description: successful operation<br><br>refer to the <i>API Uniform Format</i> dropdown above
content:
application/json:
schema:
$ref: '#/components/schemas/itemDetailsResponse'
'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:
- v3
/downloadCatalogItemData:
get:
operationId: V3Controller_downloadCatalogItemData
summary: Downloads catalog item data
description: Downloads a zipped folder that contains sets of .csv files for branch data, SKU availability data, and SKU detail data.
parameters:
- name: productId
required: true
in: query
description: Product Id
schema:
type: string
- name: itemNumber
required: false
in: query
description: Item number(SKU ID)
schema:
type: string
- name: accountId
required: false
in: query
description: Account Id
schema:
type: string
- name: jobNumber
required: false
in: query
description: Job Number
schema:
type: string
- name: uom
required: false
in: query
description: Unit of Measure
schema:
type: string
- name: showHoverAttrs
required: false
in: query
description: if "true", display hover attributes
schema:
type: string
responses:
'200':
description: successful operation<br><br>refer to the <i>API Uniform Format</i> dropdown above
content:
application/json:
schema:
$ref: '#/components/schemas/'
'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:
- v3
/mincronMapping:
get:
operationId: V3Controller_mincronMapping
summary: Returns Mincron mapping products
description: Returns products mapped to an item number from the product description for a specific customer.
parameters:
- name: accountId
required: true
in: query
description: Account Id
schema:
type: string
responses:
'200':
description: successful operation<br><br>refer to the <i>API Uniform Format</i> dropdown above
content:
application/json:
schema:
$ref: '#/components/schemas/mincronMappingResponse'
'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:
- v3
components:
schemas:
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
Resource:
type: object
properties:
General Instructrions:
type: string
Warranty:
type: string
MSDS:
type: string
Brochure:
type: string
required:
- General Instructrions
- Warranty
- MSDS
- Brochure
SkuList:
type: object
properties:
currentUOM:
type: string
color:
type: string
unitPrice:
type: number
itemNumber:
type: string
productNumber:
type: string
itemImage:
type: string
heroImage:
type: string
thumbImage:
type: string
swatchImage:
type: string
skuShortDesc:
type: string
auxiliaryImages:
type: array
items:
type: string
required:
- currentUOM
- color
- unitPrice
- itemNumber
- productNumber
- itemImage
- heroImage
- thumbImage
- swatchImage
- skuShortDesc
- auxiliaryImages
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
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
Product:
type: object
properties:
productImage:
type: string
productOnErrorImage:
type: string
longDesc:
type: string
manufactureNumber:
type: string
categories:
type: array
items:
$ref: '#/components/schemas/Category'
shortDesc:
type: string
itemNumber:
type: string
hoverAttributes:
$ref: '#/components/schemas/HoverAttributes'
productName:
type: string
productId:
type: string
baseProductName:
type: string
internalProductName:
type: string
brand:
type: string
url:
type: string
relatedProducts:
type: array
items:
type: string
required:
- productImage
- productOnErrorImage
- longDesc
- manufactureNumber
- categories
- shortDesc
- itemNumber
- hoverAttributes
- productName
- productId
- baseProductName
- internalProductName
- brand
- url
- relatedProducts
itemDetailsResponse:
type: object
properties:
product:
$ref: '#/components/schemas/Product'
message:
type: string
specification:
$ref: '#/components/schemas/Specification'
resource:
$ref: '#/components/schemas/Resource'
currentSKU:
$ref: '#/components/schemas/CurrentSKU'
skuList:
type: array
items:
$ref: '#/components/schemas/SkuList'
variations:
$ref: '#/components/schemas/Variations2'
required:
- product
- message
- specification
- resource
- currentSKU
- skuList
- variations
Thickness:
type: object
properties:
2mm:
type: array
items:
type: string
4mm:
type: array
items:
type: string
6mm:
type: array
items:
type: string
required:
- 2mm
- 4mm
- 6mm
Variations2:
type: object
properties:
color:
$ref: '#/components/schemas/Color'
size:
$ref: '#/components/schemas/Size'
thickness:
$ref: '#/components/schemas/Thickness'
required:
- color
- size
- thickness
Category:
type: object
properties:
categoryName:
type: string
categoryId:
type: string
required:
- categoryName
- categoryId
Child:
type: object
properties:
facetId:
type: string
facetName:
type: string
recordCount:
type: number
selected:
type: boolean
required:
- facetId
- facetName
- recordCount
- selected
Category2:
type: object
properties:
categoryName:
type: string
categoryId:
type: string
recordCount:
type: number
facetId:
type: string
required:
- categoryName
- categoryId
- recordCount
- facetId
Specification:
type: object
properties:
Shingles_Per_Square:
type: string
Algae_Resistance:
type: string
Coverage_Per_Square:
type: string
Bundles_Per_Square:
type: string
Nominal_Size:
type: string
Net_Free_Vent_Area__NFVA_:
type: string
Exposure:
type: string
Wind_Resistance:
type: string
required:
- Shingles_Per_Square
- Algae_Resistance
- Coverage_Per_Square
- Bundles_Per_Square
- Nominal_Size
- Net_Free_Vent_Area__NFVA_
- Exposure
- Wind_Resistance
DidYouMean:
type: object
properties:
message:
type: string
items:
type: array
items:
$ref: '#/components/schemas/Item'
required:
- message
- items
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
Size:
type: object
properties:
12x10:
type: array
items:
type: string
4x4:
type: array
items:
type: string
required:
- 12x10
- 4x4
Item:
type: object
properties:
filter:
type: string
required:
- filter
mincronMappingResponse:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/Product'
required:
- products
Color:
type: object
properties:
White:
type: array
items:
type: string
Dover:
type: array
items:
type: string
required:
- White
- Dover
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
CurrentSKU:
type: object
properties:
currentUOM:
type: string
color:
type: string
manufactureNumber:
type: string
unitPrice:
type: number
itemNumber:
type: string
productNumber:
type: string
uomlist:
type: array
items:
type: string
itemImage:
type: string
heroImage:
type: string
thumbImage:
type: string
swatchImage:
type: string
skuShortDesc:
type: string
auxiliaryImages:
type: array
items:
type: string
required:
- currentUOM
- color
- manufactureNumber
- unitPrice
- itemNumber
- productNumber
- uomlist
- itemImage
- heroImage
- thumbImage
- swatchImage
- skuShortDesc
- auxiliaryImages