{"description":"Price a Pioneer Valley Gazette print and/or digital ad buy. Same rate card as https://pioneervalleygazette.com/advertise/ad-builder.","endpoint":"/api/v1/ad-quote","examples":{"GET":"/api/v1/ad-quote?advertiser=business&print_section=local&print_size=quarter_page&print_color=full&print_days=thu,sun&print_weeks=4&digital_format=medium_rectangle&digital_weekly_impressions=25000&digital_weeks=4&digital_counties=hampshire,franklin&extras=design","POST":{"advertiser":"business","digital":{"counties":["hampshire","franklin"],"format":"medium_rectangle","weekly_impressions":25000,"weeks":4},"extras":["design"],"print":{"color":"full","days":["thu","sun"],"section":"local","size":"quarter_page","weeks":4}}},"fields":{"advertiser":{"default":"business","options":["business","nonprofit","political"]},"digital.counties":{"default":["hampshire","hampden","franklin"],"options":["hampshire","hampden","franklin"],"type":"list"},"digital.format":{"options":["leaderboard","medium_rectangle","half_page","newsletter"],"required_with":"digital"},"digital.weekly_impressions":{"max":500000,"min":10000,"required_with":"digital","step":5000,"type":"int"},"digital.weeks":{"default":1,"max":52,"min":1,"type":"int"},"extras":{"default":[],"note":"tear_sheets requires print","options":["design","rush","tear_sheets"],"type":"list"},"print.color":{"default":"bw","options":["bw","spot","full"]},"print.days":{"options":["mon","tue","wed","thu","fri","sat","sun"],"required_with":"print","type":"list"},"print.position":{"default":"run_of_section","note":"back_cover requires size full_page","options":["run_of_section","right_hand","guaranteed_page","back_cover"]},"print.section":{"options":["front","local","sports","business","arts","classifieds"],"required_with":"print"},"print.size":{"options":["full_page","half_page","quarter_page","eighth_page","business_card"],"required_with":"print"},"print.weeks":{"default":1,"max":52,"min":1,"type":"int"}},"methods":{"GET":"Flat query params: advertiser, print_<field>, digital_<field>, extras. List fields are comma-separated.","POST":"JSON body: {advertiser, print?: {...}, digital?: {...}, extras?: [...]}"},"openapi":"/api/v1/openapi.json"}
