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/synup-listings-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: Synup Listings API
version: '4'
description: 'REST API v4 for the Synup local marketing platform: business locations, listing syndication to 80+ directories, review/interaction aggregation and response, review campaigns, local rank tracking and grid-rank heatmaps, local and social posts, AI post ideas, menus, connected accounts, users and profile analytics.
ASSEMBLED BY API EVANGELIST from the per-endpoint OpenAPI documents Synup publishes on its own documentation host (developer.synup.com, Apidog project 797384). Every operation, parameter, response, example and schema below is verbatim provider content; only the merge into a single document is ours. Source index: https://developer.synup.com/llms.txt'
contact:
name: Synup Developer Documentation
url: https://developer.synup.com/
x-assembled-by: api-evangelist enrichment pipeline (local-v1)
x-assembled-from: 506 per-endpoint OpenAPI fragments published at https://developer.synup.com/<slug>.md
x-assembled-date: '2026-08-13'
servers:
- url: https://api.synup.com/api/v4
description: Base ENV (as published in every Synup doc fragment). Tenant workspace domains (https://<workspace>.synup.com/api/v4) also serve the same API.
tags:
- name: Listings
paths:
/locations/{locationId}/ai-listings:
get:
summary: Get AI listings
deprecated: false
description: 'This API retrieves all premium listings associated with a specific location.
Response Includes: Business Advice , Visibility Score and Sites Results'
tags:
- Listings
parameters:
- name: locationId
in: path
description: ID of the location in base-64 enconded format
required: true
example: TG9jYXRpb246MTI0MjE=
schema:
type: string
- name: Authorization
in: header
description: 'API key for authentication
Example:
API T9V35W3xxxxxxxxxxx'
required: true
example: API T9V35W3xxxxxxxxxxx
schema:
type: string
- name: Content-Type
in: header
description: 'Example:
application/json'
required: true
example: application/json
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
fetchAiListings:
type: object
properties:
aiBusinessAdvice:
type: object
properties:
footer:
type: string
header:
type: string
tips:
type: array
items:
type: string
__typename:
type: string
required:
- footer
- header
- tips
- __typename
x-apidog-orders:
- footer
- header
- tips
- __typename
aiVisibilityScore:
type: integer
aiSitesResults:
type: array
items:
type: object
properties:
siteUrl:
type: string
liveLink:
type:
- string
- 'null'
aiScore:
type: object
properties:
addressSimilarity:
type: number
phoneSimilarity:
type: integer
overallSimilarity:
type: number
websiteSimilarity:
type: integer
required:
- addressSimilarity
- phoneSimilarity
- overallSimilarity
- websiteSimilarity
x-apidog-orders:
- addressSimilarity
- phoneSimilarity
- overallSimilarity
- websiteSimilarity
aiResponse:
type: object
properties:
name:
type: string
address:
type: string
website:
type: string
phone:
type: string
required:
- name
- address
- website
- phone
x-apidog-orders:
- name
- address
- website
- phone
customerPrompt:
type: string
required:
- siteUrl
- liveLink
- aiScore
- aiResponse
- customerPrompt
x-apidog-orders:
- siteUrl
- liveLink
- aiScore
- aiResponse
- customerPrompt
required:
- aiBusinessAdvice
- aiVisibilityScore
- aiSitesResults
x-apidog-orders:
- aiBusinessAdvice
- aiVisibilityScore
- aiSitesResults
required:
- fetchAiListings
x-apidog-orders:
- fetchAiListings
required:
- data
x-apidog-orders:
- data
example:
data:
fetchAiListings:
aiBusinessAdvice:
footer: By focusing on these locally inspired tips, you can enhance your business's appeal and attract more customers in Winter Park.
header: 'Winter Park is a popular destination known for its stunning mountain views, outdoor recreational activities, and vibrant local culture. Based on the local trends and traditions, here are some suggestions to improve your bicycle rental business:'
tips:
- 'Local Partnerships :: Collaborate with nearby hotels and resorts to offer exclusive rental deals.'
- 'Trail Maps :: Provide detailed maps of popular biking trails and scenic routes.'
- 'Guided Tours :: Offer guided bike tours showcasing local landmarks and hidden gems.'
- 'Seasonal Events :: Host biking events or races during peak tourist seasons.'
- 'Loyalty Programs :: Implement a rewards program for repeat customers and referrals.'
- 'Social Media Presence :: Share customer stories and local biking highlights on social platforms.'
- 'Merchandise Sales :: Sell branded gear and souvenirs to enhance the customer experience.'
- 'Maintenance Workshops :: Offer bike maintenance workshops to attract biking enthusiasts.'
- 'Eco-Friendly Options :: Introduce eco-friendly bike options and promote sustainable practices.'
- 'Community Engagement :: Participate in local festivals and sponsor community events.'
__typename: AiBusinessAdvice
aiVisibilityScore: 40
aiSitesResults:
- siteUrl: openai.com
liveLink: https://ai-listing-chatgpt.vercel.app/listing/4140924
aiScore:
addressSimilarity: 0.7952201644509336
phoneSimilarity: 1
overallSimilarity: 0.5
websiteSimilarity: 1
__typename: AiListingsScore
aiResponse:
name: Christy Sports
address: 78902 US-40, Winter Park, CO 80482, USA
website: https://www.christysports.com
phone: +1 970-726-8873
__typename: AiListingsResponse
customerPrompt: What is the Address, Phone Number, Business Website, Opening Hours of Christy Sports located in Winter Park as of today.
__typename: AiListingsData
- siteUrl: gemini.google.com
liveLink: https://ai-listing-gemini.vercel.app/listing/4141628
aiScore:
addressSimilarity: 0.7952201644509336
phoneSimilarity: 1
overallSimilarity: 0.5
websiteSimilarity: 1
__typename: AiListingsScore
aiResponse:
name: Christy Sports
address: 78902 US-40, Winter Park, CO 80482, USA
website: https://www.christysports.com
phone: +1 970-726-8873
__typename: AiListingsResponse
customerPrompt: What is the Address, Phone Number, Business Website, Opening Hours of Christy Sports located in Winter Park as of today.
__typename: AiListingsData
- siteUrl: perplexity.ai
liveLink: null
aiScore:
addressSimilarity: 0.7952201644509336
phoneSimilarity: 1
overallSimilarity: 0
websiteSimilarity: 1
__typename: AiListingsScore
aiResponse:
name: Christy Sports
address: 78902 US-40, Winter Park, CO 80482, USA
website: https://www.christysports.com
phone: +1 970-726-8873
__typename: AiListingsResponse
customerPrompt: What is the Address, Phone Number, Business Website, Opening Hours of Christy Sports located in Winter Park as of today.
__typename: AiListingsData
- siteUrl: copilot.microsoft.com
liveLink: null
aiScore:
addressSimilarity: 0.7952201644509336
phoneSimilarity: 1
overallSimilarity: 0
websiteSimilarity: 1
__typename: AiListingsScore
aiResponse:
name: Christy Sports
address: 78902 US-40, Winter Park, CO 80482, USA
website: https://www.christysports.com
phone: +1 970-726-8873
__typename: AiListingsResponse
customerPrompt: What is the Address, Phone Number, Business Website, Opening Hours of Christy Sports located in Winter Park as of today.
__typename: AiListingsData
- siteUrl: intellychat.com
liveLink: https://ai-listing-intellychat.vercel.app/listing/4141631
aiScore:
addressSimilarity: 0.7952201644509336
phoneSimilarity: 1
overallSimilarity: 0
websiteSimilarity: 1
__typename: AiListingsScore
aiResponse:
name: Christy Sports
address: 78902 US-40, Winter Park, CO 80482, USA
website: https://www.christysports.com
phone: +1 970-726-8873
__typename: AiListingsResponse
customerPrompt: What is the Address, Phone Number, Business Website, Opening Hours of Christy Sports located in Winter Park as of today.
__typename: AiListingsData
- siteUrl: myndmeld.com
liveLink: https://ai-listing-myndmeld.vercel.app/listing/4141630
aiScore:
addressSimilarity: 0.7952201644509336
phoneSimilarity: 1
overallSimilarity: 0.5
websiteSimilarity: 1
__typename: AiListingsScore
aiResponse:
name: Christy Sports
address: 78902 US-40, Winter Park, CO 80482, USA
website: https://www.christysports.com
phone: +1 970-726-8873
__typename: AiListingsResponse
customerPrompt: What is the Address, Phone Number, Business Website, Opening Hours of Christy Sports located in Winter Park as of today.
__typename: AiListingsData
__typename: AiListings
headers: {}
x-apidog-name: Success
security: []
x-apidog-folder: Listings
x-apidog-status: released
x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-19356815-run
/locations/listings/duplicates:
get:
summary: Get all duplicate listings for an account
deprecated: false
description: '<span style="font-size: 14px;">
This API retrieves a paginated list of all duplicate listings detected within the account, with optional filtering
</span>'
operationId: getAccountDuplicateListings
tags:
- Listings
parameters:
- name: tag
in: query
description: Filter duplicates by location tag
required: false
example: test
schema:
type: string
- name: page
in: query
description: Page number for pagination
required: false
example: 1
schema:
type: integer
minimum: 1
- name: Authorization
in: header
description: API key for authentication
required: true
example: API T9V35W3xxxxxxxxxxx
schema:
type: string
- name: Content-Type
in: header
description: ''
required: true
example: application/json
schema:
type: string
responses:
'200':
description: Duplicate listings retrieved successfully
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
duplicateListingsRollup:
type: object
properties:
pageInfo:
type: object
properties:
hasNextPage:
type: boolean
description: Indicates if there are more pages after the current one
hasPreviousPage:
type: boolean
description: Indicates if there are previous pages
totalPages:
type: integer
description: Total number of pages available
totalRecords:
type: integer
description: Total number of duplicate listings
x-apidog-orders:
- hasNextPage
- hasPreviousPage
- totalPages
- totalRecords
records:
type: array
items:
type: object
properties:
addressValid:
type: boolean
description: Indicates if the address matches the primary listing
categoryValid:
type:
- boolean
- 'null'
description: Indicates if the business category matches
city:
type: string
description: City name
countryCode:
type:
- string
- 'null'
description: ISO country code
duplicateProcessingState:
type: string
enum:
- POTENTIAL
description: Current state of duplicate processing
id:
type: string
description: Unique identifier for the duplicate listing
liveLink:
type: string
description: URL of the duplicate listing
locationId:
type: string
description: ID of the associated location
name:
type: string
description: Business name
nameValid:
type: boolean
description: Indicates if the business name matches
originalLiveLink:
type: string
description: URL of the primary listing
phone:
type:
- string
- 'null'
description: Phone number
phoneValid:
type: boolean
description: Indicates if the phone number matches
postalCode:
type: string
description: Postal/ZIP code
siteName:
type: string
description: Name of the directory site
siteUrl:
type: string
description: Base URL of the directory site
state:
type:
- string
- 'null'
description: State/province code
street:
type: string
description: Street address
x-apidog-orders:
- addressValid
- categoryValid
- city
- countryCode
- duplicateProcessingState
- id
- liveLink
- locationId
- name
- nameValid
- originalLiveLink
- phone
- phoneValid
- postalCode
- siteName
- siteUrl
- state
- street
x-apidog-orders:
- pageInfo
- records
x-apidog-orders:
- duplicateListingsRollup
x-apidog-orders:
- data
example:
data:
duplicateListingsRollup:
pageInfo:
hasNextPage: true
hasPreviousPage: false
totalPages: 2
totalRecords: 89
records:
- addressValid: false
categoryValid: null
city: Chicago
countryCode: null
duplicateProcessingState: POTENTIAL
id: '43843437'
liveLink: https://www.judysbook.com/Buffalo-Wild-Wings-Restaurants-chicago-r14401354.htm
locationId: '203040'
name: Buffalo Wild Wings
nameValid: true
originalLiveLink: https://www.judysbook.com/Buffalo-Wild-Wings-BtoB%7eAccountants-Business-chicago-r39915056.htm
phone: '--- ''7738689453''
'
phoneValid: true
postalCode: '60614'
siteName: Judys Book
siteUrl: judysbook.com
state: IL
street: 2464 North Lincoln Avenue
headers: {}
x-apidog-name: OK
'400':
description: Bad request - invalid parameters
content:
application/json:
schema:
type: object
properties: {}
x-apidog-orders: []
headers: {}
x-apidog-name: Bad Request
'401':
description: Unauthorized - invalid or missing API key
content:
application/json:
schema:
type: object
properties: {}
x-apidog-orders: []
headers: {}
x-apidog-name: Unauthorized
'403':
description: Forbidden - insufficient permissions
content:
application/json:
schema:
type: object
properties:
errors:
type: array
items:
type: string
examples:
- Insufficient permissions to access duplicate listings
x-apidog-orders:
- errors
headers: {}
x-apidog-name: Forbidden
security: []
x-apidog-folder: Listings
x-apidog-status: released
x-run-in-apidog: https://app.apidog.com/web/project/797384/apis/api-13672026-run
/locations/{locationId}/listings/duplicates:
get:
summary: Get duplicate listings for a location
deprecated: false
description: '<span style="font-size: 14px;">
This API retrieves all duplicate listings identified for a specific location across various directories.
</span>'
operationId: getDuplicateListings
tags:
- Listings
parameters:
- name: locationId
in: path
description: The unique identifier of the location
required: true
example: TG9jYXRpb246MjcyODc2
schema:
type: string
- name: Authorization
in: header
description: API key for authentication
required: true
example: API T9V35W3xxxxxxxxxxx
schema:
type: string
- name: Content-Type
in: header
description: ''
required: true
example: application/json
schema:
type: string
responses:
'200':
description: Duplicate listings retrieved successfully
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
duplicateListingsForLocation:
type: array
items:
type: object
properties:
primaryListingUrl:
type: string
description: URL of the primary business listing
siteId:
type: string
description: Unique identifier for the directory site
siteName:
type: string
description: Name of the directory site
siteUrl:
type: string
description: Base URL of the directory site
duplicateListings:
type: array
items:
type: object
properties:
addressValid:
type: boolean
description: Indicates if the address matches the primary listing
city:
type: string
description: City name
street:
type: string
description: Street address
state:
type:
- string
- 'null'
description: State/province code
postalCode:
type: string
description: Postal/ZIP code
phone:
type:
- string
- 'null'
description: Phone number
phoneValid:
type: boolean
description: Indicates if the phone number matches the primary listing
name:
type: string
description: Business name
nameValid:
type: boolean
description: Indicates if the business name matches the primary listing
duplicateProcessingState:
type: string
enum:
- POTENTIAL
description: Current state of duplicate processing
liveLink:
type: string
description: URL of the duplicate listing
id:
type: string
description: Unique identifier for the duplicate listing
countryCode:
type:
- string
- 'null'
description: ISO country code
x-apidog-orders:
- addressValid
- city
- street
- state
- postalCode
- phone
- phoneValid
- name
- nameValid
- duplicateProcessingState
- liveLink
- id
- countryCode
x-apidog-orders:
- primaryListingUrl
- siteId
- siteName
- siteUrl
- duplicateListings
x-apidog-orders:
- duplicateListingsForLocation
x-apidog-orders:
- data
example:
data:
duplicateListingsForLocation:
- primaryListingUrl: https://chicago.opendi.us/9170659.html
siteId: U2l0ZToxNjI=
siteName: OpenDi.us
siteUrl: opendi.us
duplicateListings:
- addressValid: false
city: Chicago
street: 111/1123 N Elston Ave street 2
state: null
postalCode: '60603'
phone: null
phoneValid: false
name: Jr consultants
nameValid: true
duplicateProcessingState: POTENTIAL
liveLink: https://chicago.opendi.us/8773423.html
id: TGlzdGluZ0l0ZW06NDMzODcxMzE=
countryCode: US
headers: {}
x-apidog-name: OK
'400':
description: Bad request - invalid location ID
content:
application/json:
schema:
type: object
properties: {}
x-apidog-orders: []
headers: {}
x-apidog-name: Bad Request
'401':
description: Unauthorized - invalid or missing API key
content:
application/json:
schema:
type: object
properties: {}
x-apidog-orders: []
headers: {}
x-apidog-name: Unauthorized
'403':
description: Forbidden - insufficient permissions
content:
application/json:
schema:
type: object
properties:
errors:
type: array
items:
type: string
examples:
- Insufficient permissions to access
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/synup/refs/heads/main/openapi/synup-listings-api-openapi.yml