Endpoints
POST /measures/viewcast/spot
Retrieve detailed spot-level data including historical measurements, circulation patterns, and geographic context. This call gathers comprehensive data for specific spots, providing detailed measurement history, circulation patterns by day of week and hour, market information, physical characteristics of the advertising face, and reach/frequency metrics.
GET /measures/viewcast/spot/{id}
Retrieve data for a single spot by ID. Returns a single spot result object (not wrapped in a results array).
Type
POST or GET
Request Parameters
POST:
- Required
spots: Array of integers representing spot IDs (maximum 2,000)
GET:
- Required
{id}: Integer - Spot ID in the URL path
Responses
200 OK: Successfully retrieved spot data400 Bad Request: Issue with input parameters to request403 Forbidden: Viewcast not enabled on license404 Not Found: No spots requested were found
Validation error responses:
{
"FieldErrors": {
"spots": "one or more spots must be specified"
}
}{
"FieldErrors": {
"spots": "no more than 2000 spots may be specified"
}
}Not found response (all spots invalid):
{
"Error": "The requested resource could not be found"
}Response Fields
Response includes a results array. Each result contains:
Identification & Location:
spot_id: Integer - The unique spot identifierplace_id: Integer - Corresponding Motionworks Place ID for the facelocation: String - Geographic coordinates in WKT POINT format (e.g., "POINT(-73.999612 40.723536)")market: Object - Geographic market information:co_geoid: String - County FIPS codeco_name: String - County namest_name: String - State namecbsa_geoid: String - CBSA identifiercbsa_name: String - CBSA namecbsa_type: String - CBSA type (e.g., "Metropolitan")dma_geoid: String - DMA identifierdma_name: String - DMA namepostal_code: String - ZIP code
Physical Characteristics:
construction_type: String - Construction type (e.g., "Exterior Wall", "Freestanding")classification_type: String - Classification (e.g., "Roadside", "Place Based")media_type: String - Media type (e.g., "Bulletin", "Murals", "Panel")digital: Boolean - Whether the display is digitalface_orientation: Number - Face orientation in degreesface_height: Number - Face height in inchesface_width: Number - Face width in inchesviewable_distance: Number - Viewable distance in feet
Measurement Data (Current Period):
period_start: String - Measurement period start dateperiod_end: String - Measurement period end dateperiod_days: Integer - Number of days in measurement periodtraffic: Integer - Average weekly vehicle and pedestrian visitsface_circ: Integer - Face-level circulation (person-exposures)face_ots: Integer - Face-level Opportunity to Seespot_circ: Integer - Spot-level circulationspot_ots: Integer - Spot-level Opportunity to Seedwell: Number - Estimated time in minutes within view of facespot_length: Integer or null - Spot length in seconds (for digital displays)share_of_voice: Number - Spot share of voice (1.0 = always visible/static)face_share_of_voice: Number - Face share of voiceface_audit_status: Integer - Audit status code
Reach & Population:
total_population: Integer - Total national populationmarket_population: Integer - Population within the display's DMA markettotal_reach_eff1: Integer - Unique persons reached at frequency 1+ (national)market_reach_eff1: Integer - Unique persons reached at frequency 1+ (market)total_reach_eff3: Integer - Unique persons reached at frequency 3+ (national)market_reach_eff3: Integer - Unique persons reached at frequency 3+ (market)
Circulation Distribution:
percent_circ: Object containing:day: Array with 7 entries (Monday through Sunday), each with:id: String - Day abbreviation ("mo", "tu", "we", "th", "fr", "sa", "su")description: String - Day namevalue: Number - Percentage of total weekly circulationhourly: Array of 24 numbers - Percentage of daily circulation for each hour (0-23)
segment: Object containing demographic breakdown:basic_demographics: Array of demographic categories, each with:category: String - Demographic category namesegments: Array of segment entries, each with:id: String - Segment identifier (e.g., "age_00plus", "age_18plus")description: String - Segment descriptionvalue: Number - Percentage value for this segmentindex: Number - Index value for this segment
Historical Measurements:
history: Object containing:year: Array of yearly aggregates extending back to 2019, each with:id: String - Year (e.g., "2025")period_start: String - Year start datetraffic,face_circ,spot_circ,spot_ots,dwell,period_daysavg_daily_ped_traffic: Integer or null - Average daily pedestrian trafficavg_daily_veh_traffic: Integer or null - Average daily vehicle traffic
month: Array of monthly data, each with:id: String - Year-month (e.g., "2025-05")period_start: String - Month start datetraffic,face_circ,spot_circ,spot_ots,dwell,period_daysavg_daily_ped_traffic: Integer or null - Average daily pedestrian trafficavg_daily_veh_traffic: Integer or null - Average daily vehicle traffic
Assignment & Audit:
assignment_status: String - Current assignment status ("Industry Assigned", "System Assigned", or "Unverified Assignments")assignments: Array of assignment objects with:id: String - Assignment identifier (path hash)type: String - Assignment type (e.g., "path")audit_status_id: Integer - Audit status code
Geopath Comparison:
geopath: Object with Geopath-specific measurements:face_id: Integer - Geopath Face IDspot_id: Integer - Geopath Spot IDface_traffic: Integer - Geopath face trafficface_circ: Integer - Geopath face circulationspot_circ: Integer - Geopath spot circulationspot_ots: Integer - Geopath Opportunity to Seespot_lts: Integer - Geopath Likelihood to See (impressions)
Example Request - Single Spot (GET)
curl --location 'https://intermx-test.apigee.net/v1/measures/viewcast/spot/50807190' \
--header 'apikey: {YOUR API KEY HERE}'Example Request - Single Spot (POST)
curl --location 'https://intermx-test.apigee.net/v1/measures/viewcast/spot' \
--header 'Content-Type: application/json' \
--header 'apikey: {YOUR API KEY HERE}' \
--data '{
"spots": [50807190]
}'Example Request - Multiple Spots
curl --location 'https://intermx-test.apigee.net/v1/measures/viewcast/spot' \
--header 'Content-Type: application/json' \
--header 'apikey: {YOUR API KEY HERE}' \
--data '{
"spots": [50807190, 50577208]
}'Example Response
Note: The history and percent_circ arrays are truncated in this example to show the structure.
{
"results": [
{
"place_id": 166050675241,
"location": "POINT(-73.999612 40.723536)",
"market": {
"co_geoid": "US2020STCO36061",
"co_name": "New York County",
"st_name": "New York",
"cbsa_geoid": "US2020XMSA35620",
"cbsa_name": "New York-Newark-Jersey City, NY-NJ-PA",
"cbsa_type": "Metropolitan",
"dma_geoid": "US2020XDMA501",
"dma_name": "New York, NY",
"postal_code": "10012"
},
"construction_type": "Exterior Wall",
"classification_type": "Roadside",
"media_type": "Murals",
"digital": false,
"face_orientation": 125,
"face_height": 60,
"face_width": 252,
"viewable_distance": 515.29,
"face_audit_status": 12,
"period_start": "2023-09-01",
"period_end": "2024-08-31",
"period_days": 366,
"traffic": 50569,
"face_circ": 60274,
"face_ots": 60274,
"spot_length": null,
"share_of_voice": 1,
"face_share_of_voice": 1,
"spot_id": 50807190,
"spot_circ": 60274,
"spot_ots": 60274,
"dwell": 13.955967,
"total_population": 335954299,
"market_population": 21664898,
"total_reach_eff1": 11979,
"market_reach_eff1": 11501,
"total_reach_eff3": 3047,
"market_reach_eff3": 3047,
"percent_circ": {
"day": [
{
"id": "mo",
"description": "Monday",
"value": 0.1331,
"hourly": [
0.0139, 0.0127, 0.0092, 0.0043, 0.0053, 0.0055,
0.0063, 0.0245, 0.0246, 0.03, 0.041, 0.0472,
0.0697, 0.0788, 0.0865, 0.1038, 0.1079, 0.1045,
0.0653, 0.0451, 0.034, 0.0265, 0.0354, 0.0179
]
},
{
"id": "fr",
"description": "Friday",
"value": 0.1595,
"hourly": [
0.0139, 0.0127, 0.0092, 0.0043, 0.0053, 0.0055,
0.0063, 0.0245, 0.0246, 0.03, 0.041, 0.0472,
0.0697, 0.0788, 0.0865, 0.1038, 0.1079, 0.1045,
0.0653, 0.0451, 0.034, 0.0265, 0.0354, 0.0179
]
}
]
},
"history": {
"year": [
{
"id": "2025",
"period_start": "2025-01-01",
"traffic": 59934,
"face_circ": 71441,
"spot_circ": 71441,
"spot_ots": 71441,
"dwell": 14,
"period_days": 365
},
{
"id": "2024",
"period_start": "2024-01-01",
"traffic": 53783,
"face_circ": 64109,
"spot_circ": 64109,
"spot_ots": 64109,
"dwell": 14,
"period_days": 366
}
],
"month": [
{
"id": "2025-12",
"period_start": "2025-12-01",
"traffic": 56199,
"face_circ": 67,
"spot_circ": 67,
"spot_ots": 67,
"dwell": 14,
"period_days": 31
}
]
},
"assignment_status": "Industry Assigned",
"assignments": [
{
"id": "c29bb3e72c31eb27e6ad61f5ad369026",
"type": "path",
"audit_status_id": 12
}
],
"geopath": {
"face_id": 50675241,
"spot_id": 50807190,
"face_traffic": 69204,
"face_circ": 93035,
"spot_circ": 93035,
"spot_ots": 93035,
"spot_lts": 69827
}
}
]
}