AXS Scraper - US Events, Venues and Ticketing Status avatar

AXS Scraper - US Events, Venues and Ticketing Status

Pricing

from $2.20 / 1,000 results

Go to Apify Store
AXS Scraper - US Events, Venues and Ticketing Status

AXS Scraper - US Events, Venues and Ticketing Status

Extract US AXS events, venues, performers, series and promotions. Get dates, venue addresses and public ticketing status; inventory requires an invitation. Pay per delivered row plus a start fee.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

6

Monthly active users

14 hours ago

Last modified

Share

AXS Scraper

Extract US AXS events, venues and ticketing status as structured rows for calendars, research and alerts.

  • Event titles, dates, venues, addresses and public sale status.
  • Performers, series, promotions, genres and catalog URLs.
  • On-sale configuration and invitation-only inventory snapshots, when available.
  • Pay $3.00 per 1,000 delivered rows on the Free plan, plus a start fee.

What does AXS Scraper do?

AXS Scraper collects public information from AXS.com. It does not buy or reserve tickets and is not affiliated with AXS or AEG. The supported catalog market is us.

  • Find events: home, search, category, detail and venue.
  • Find entities: performer, series, offers, genres, catalog and discovery.
  • Check ticketing: onsale, inventory and watch.
  • Optional ticket-offer rows: includeOffers is off by default. Each additional row is billed at the same rate and counts toward the input's row limit.

What data can you extract from AXS?

Every row has rowType and a string id. The tables show selected fields, not a promise that every source supplies them. Catalog rows use the entity's row type with recordType: "catalog"; they contain IDs and URLs rather than full details.

Events (event)

FieldDescriptionExample
eventIdAXS event ID1445907
titleEvent nameExample concert
urlEvent pagehttps://www.axs.com/events/1445907
eventDateTimeUTCStart time in UTC2026-12-12T02:00:00Z
statusLabelPublic sale labelOn Sale
priceBasisHow to interpret pricesunavailable

Venues (venue)

FieldDescriptionExample
venueNameVenue nameExample Hall
addressVenue address fields{"locality":"Denver","country":"US"}
phonesPublic contact numbers, if shown[]
emailsPublic email addresses, if shown[]
leadAbsencesReasons contact fields are empty{"emails":"not_exposed_by_source"}

Performers (performer)

FieldDescriptionExample
performerIdArtist ID9
namePublic artist nameExample Band

Series (series)

FieldDescriptionExample
seriesIdSeries ID12

Promotions (offer)

FieldDescriptionExample
offerIdPromotion ID, not a seat ID1

Genres (genre)

FieldDescriptionExample
titleGenre labelRock

Tours (tour)

FieldDescriptionExample
tourIdTour ID from discovery123

Sale-status checks (watch)

FieldDescriptionExample
availabilityStatusPublic availability labelon_sale
changedFieldsChanges since the previous available check["availabilityStatus"]
becameAvailableTransition back to saletrue
recommendedIntervalSecSuggested time before another check180

On-sale configuration (onsale)

FieldDescriptionExample
ticketUrlKindTicket page categoryprimary
onsaleAvailable delivery methods, restrictions and configuration{}

Inventory snapshots (inventory)

FieldDescriptionExample
inventoryObservedWhether inventory was observedtrue
inventoryGranularityDetail level of the observationprice_level

Ticket offers (ticket_offer)

FieldDescriptionExample
parentIdParent event-level row ID1445907
offerGranularityOffer, product or price-level detailprice_level
availableQuantityObserved quantity, when supplied8

How to scrape AXS

  1. Open AXS Scraper in Apify Console.
  2. Fill one target field, such as searchQuery with concert.
  3. Set maxResults to 3 for a small first run.
  4. Click Start and wait for completion.
  5. Download the dataset or read it through the API.

An empty input starts a concert search using the form's example values, capped at 3 rows. It is billed normally. With mode: "auto", a target field selects the mode. Clear the prefilled keyword when switching to another target.

Home

Use home for upcoming events within the scanned pages, not a complete chronological calendar.

Use searchQuery for a keyword. Put locations in city, not in the keyword field.

Category

Choose music, sports, theatre, festival or comedy. A supported city or AXS city listing URL also selects a listing.

Detail

Supply eventIds or event URLs in startUrls. Replace example IDs with current events.

Venue

Supply venueIds or venue URLs. Results can include the venue and its listed events.

Catalog

Enumerate event, venue, performer or series URLs. Continue with RUN_SUMMARY.diagnostics.nextCursor as cursor, keeping the same entityTypes.

Performer

Supply performerIds for specific artists, or leave them empty to list performers.

Series

Supply seriesIds; use catalog to find IDs first.

Offers

List promotions, optionally selected by offerIds. These are not ticket-seat offers.

Genres

Use genres without a target to list genre labels.

Discovery

Export events, venues, performers or tours. Keyword, city, category and date filters are not supported in this mode.

Onsale

Use onsale with event IDs or purchase links for configuration, not guaranteed inventory. No inventory invitation key is needed. Supply at most 20 targets per run.

Inventory

Supply up to 10 targets and a developer-issued inventoryKey. Without valid access, no inventory rows are returned and warnings include inventory_locked. Access can still fail because of queues, expired links or rate limits.

Watch

Check up to 50 event IDs once per run. Schedule later runs to compare status. The suggested interval is 180 seconds, or 60 near the show; null means the show is over. inventoryOnChange optionally captures inventory after a return to sale, requires an invitation key and is limited to two events per run.

What to fill in

FieldWhat to enterDefault
modeA mode above, or automatic selectionauto
searchQuery, qKeyword; q is an aliasEmpty; prefill concert
startUrls, eventIdsAXS URLs or event IDsEmpty
venueIds, performerIds, seriesIds, offerIdsIDs for that entityEmpty
ticketUrlsAXS purchase links for onsale or inventoryEmpty
categoryOne of the five categories aboveEmpty
city, cityId, citySlugCity name, or ID and slug from an AXS city URLEmpty
marketSupported catalog: usus
maxResultsRows per input, 1–5,00070; prefill 3
maxPagesListing pages to scan, 1–51
page, pageOffsetContinuation page and position within it1, 0
cursorCatalog continuation stringEmpty
entityTypesEntity names supported by the selected mode["events"]
siteIdsOptional numeric AXS catalog partitions; at most 8US main catalog
startDate, endDateInclusive event-date bounds; ISO date or datetimeEmpty
enrichDetails, enrichVenueAdd event details and venue addressestrue
includeOffersSeparate ticket-offer rows in onsale or inventoryfalse
includeSeatsKeep observed seat labels on ticket-offer rowstrue
inventoryKeyInvitation key; keep it privateEmpty
nearShowHoursWatch's near-show window, 1–168 hours24
inventoryOnChangeCapture inventory after a return to salefalse
includeRaw, fieldsPublic source fields or selected output fieldsfalse, empty

Examples by mode:

Home

{"mode":"home","maxResults":3}

Search

{"mode":"search","searchQuery":"concert","maxResults":3}

Category

{"mode":"category","category":"music","city":"Denver, CO","maxResults":3}

Detail

{"mode":"detail","eventIds":["1445907"],"maxResults":1}

Venue

{"mode":"venue","venueIds":["124944"],"maxResults":3}

Catalog

{"mode":"catalog","entityTypes":["series"],"maxResults":3}

Performer

{"mode":"performer","maxResults":3}

Series

{"mode":"series","seriesIds":["12"],"maxResults":3}

Offers

{"mode":"offers","maxResults":3}

Genres

{"mode":"genres","maxResults":3}

Discovery

{"mode":"discovery","entityTypes":["tours"],"maxResults":3}

Onsale

{"mode":"onsale","eventIds":["1445907"],"includeOffers":true,"maxResults":3}

Inventory

{"mode":"inventory","eventIds":["1445907"],"inventoryKey":"YOUR_INVITATION_KEY","maxResults":1}

Watch

{"mode":"watch","eventIds":["1445907"],"maxResults":1}

maxItems and limit are accepted as maxResults. Close field-name misspellings are corrected; other unknown fields are ignored with a note. INPUT_REPORT in the default key-value store records how input was interpreted. Unusable input stops before row delivery with an INVALID_INPUT: message naming the problem and expected form. No rows are charged for that failure; the start fee still applies. A missing required target can instead select another filled target or the example run. Dates do not advance automatically.

Output example

Illustrative event row; the title and date are examples, not a live result:

{
"rowType": "event",
"id": "1445907",
"eventId": "1445907",
"title": "Example concert",
"url": "https://www.axs.com/events/1445907",
"eventDateTimeUTC": "2026-12-12T02:00:00Z",
"venueName": "Example Hall",
"market": "us",
"statusLabel": "On Sale",
"priceLow": null,
"priceHigh": null,
"priceBasis": "unavailable",
"phones": [],
"emails": [],
"source": "axs.com"
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. The key-value store also contains INPUT_ECHO, RUN_SUMMARY and, for terminal failures, ERROR_SUMMARY.

Why use this AXS scraper?

  • Pay for delivered rows: unsuccessful requests are not separate billable rows.
  • Keep delivered data: rows already written remain in the dataset. An abrupt stop does not guarantee delivery of unfinished collection.
  • Understand missing data: unavailable prices stay null; absent contact details stay empty.
  • Batch targets: send several IDs or URLs in one run.
  • No proxy setup: you do not need to set up proxies.

How much does it cost to scrape AXS?

Pricing is pay-per-event: a $0.005 start event plus a price per delivered row. The start charge is one event per GB of memory, with a minimum of one event. At the default 512 MB, the start charge is $0.005. Platform usage is included in these prices.

Apify planPrice per rowPrice per 1,000 rows
Free$0.003$3.00
Starter$0.003$3.00
Scale$0.0026$2.60
Business$0.0022$2.20
Platinum$0.002$2.00
Diamond$0.0016$1.60

maxResults applies to each input, defaults to 70 and allows up to 5,000. Larger requests are collected in parts of 70. All row types share that input's limit. Free-plan runs stop at 200 rows, and the developer allows 10 runs of this Actor on that plan. The whole run stops at Maximum cost per run (maxTotalChargeUsd in the API).

Example: one search delivering 3 rows on the Free plan at 512 MB costs 3 × $0.003 + $0.005 = $0.014.

What happens when the run timeout is too short

A run that needs longer can pause automatically. Its status message says "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." It temporarily appears as ABORTED, rather than a collection failure.

When results are ready, the same run resumes, reports "Resumed: delivering N rows.", writes to the same dataset and finishes as SUCCEEDED if collection succeeds. Already delivered rows are not delivered or charged twice. You do not need to restart it manually.

Automatic pauses are limited to 3 per run. Keep the default 600-second timeout to reduce interruptions. Other failures can still stop a run.

Synchronous endpoints (run-sync, run-sync-get-dataset-items) wait at most 300 seconds and may return an empty dataset while the run is paused. For longer jobs, start asynchronously and read the dataset after SUCCEEDED, or use a succeeded-event webhook.

Use with AI agents and the API

Apify MCP server (Claude, ChatGPT, Cursor, VS Code)

Add this remote server to your MCP client:

https://mcp.apify.com?tools=lentic_clockss/axs-scraper

Sign in with Apify using OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns run and dataset IDs; read rows with get-dataset-items. Clients without remote support can use npx @apify/actors-mcp-server --tools lentic_clockss/axs-scraper with APIFY_TOKEN set.

Example prompt: "Search AXS for concert and return at most 3 events with dates and venue names."

Apify API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/axs-scraper").call(
run_input={"searchQuery": "concert", "maxResults": 3}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/axs-scraper').call({
searchQuery: 'concert', maxResults: 3
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

For asynchronous HTTP use, send input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~axs-scraper/runs with an Authorization: Bearer <YOUR_APIFY_TOKEN> header. After completion, read GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Integrations tab to connect results to Google Sheets, Make, Zapier, n8n, Slack, Airtable or a webhook. Schedule repeat runs with Apify Schedules.

FAQ

The Actor collects public data. You are responsible for complying with applicable terms and data-protection law. Processing personal data requires a lawful basis; public availability alone does not establish one.

Why did my run end as ABORTED?

Check its status message. An automatic pause resumes without intervention; a manual abort is different. See the timeout section above.

How many results can I get?

Up to maxResults per input, subject to available matches, scanned pages, the run's cost cap and free-plan limits. It is a ceiling, not a guaranteed count.

Why are some fields empty?

AXS may not expose them. Metadata prices are not final ticket quotes, and a zero placeholder is not a free ticket. Most consumer pages expose few contact details.

Are inventory quantities individual seats?

Not necessarily. inventoryGranularity can be price_level. Quantity is stock, not price; raw price components are not a final tax-inclusive quote.

Does the Actor buy tickets?

No. Purchase links are inputs for observation only. It does not reserve tickets or complete checkout.

How do I continue a listing?

Read RUN_SUMMARY.diagnostics. Where present, use nextPage and nextPageOffset as page and pageOffset, keeping the same filters. Catalog uses nextCursor.

Which cities work?

Use a supported US city name or an AXS city URL. For an unknown city ID, supply its citySlug; do not put the city in searchQuery.

Limitations

  • Only market: "us" is supported; do not assume other storefront coverage.
  • City, category and date filters apply within scanned pages. Check coverageTruncated; a short page is not proof of complete coverage.
  • Inventory access and seat detail are not guaranteed. A sale-status label is not a seat count.
  • includeOffers works only in onsale and inventory. Offers are separate rows, not duplicate embedded lists; a target without offers may still return an event-level row.
  • Attribute lists are capped at 50 entries, with counts when truncated.
  • Watch comparisons require an available previous observation; they are not a permanent history.

More event and ticketing scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Found a problem or need another field? Open an issue in the Issues tab of this Actor's page and include the run ID and the input you used. Remove invitation keys and tokens before sharing input.