Publish up to 100 events at once from a spreadsheet. This page explains every column, how images work, and what to expect on import day.
You upload a CSV. We show you a preview of what will import and what will skip. When you click Import, we look up every venue on the map, download each hero image and rehost it on our servers, and publish the events. You'll see them in My Events → Hosting.
Most organizers should pick a brand page here. Events published under a brand appear on the brand's public profile and get attributed to it everywhere on the site — not to your personal account.
If you own or manage a brand page on MotorFeed, pick it from the Publish as dropdown on the import screen before uploading. The dropdown appears automatically if you own at least one page. Every event in the file lands under the selected organizer.
To split events across two brands, upload two files. Don't own the brand page yet? Create one first at /clubs/new and come back.
Every row needs these eight columns filled in. Rows missing any of them get skipped:
Tip: In the downloadable template, required columns end with an asterisk — title*, type*, etc. — so you can spot them at a glance while editing in Excel or Google Sheets. The asterisk is optional; the parser ignores it either way.
| Column | Status | Notes |
|---|---|---|
| title | required | Event name |
| type | required | See event types below |
| start_date | required | Any common date format |
| end_date | optional | Multi-day events only |
| start_time | optional | e.g. 10:00 or 10am |
| end_time | optional | |
| venue_name | required | e.g. Riverside Plaza |
| address | required | Street address |
| city | required | |
| state | required | 2-letter code or full name |
| zip | required | Postal / ZIP code |
| description | optional | Body copy for the event page |
| hero_image_url | optional | Public image URL (we rehost it) |
| ticket_url | optional | Where to buy tickets / RSVP |
| spectator_price | optional | Number, $-price, or 'free' |
| entrant_price | optional | Show-car / driver entry fee |
| parking | optional | free, paid, or street |
| parking_price | optional | If parking is paid |
| amenities | optional | Comma-separated tokens — see below |
| raffle_prize | optional | Sets raffle=true and shows the prize |
| live_music_artist | optional | Sets live music=true with artist name |
| vendors | optional | Semicolon-separated; supports name|logo|booth |
| tags | optional | Comma-separated |
Use one of these values in the type column. Common aliases work too — coffee and cars & coffee both land as cnc, autox lands as autocross, and so on.
Dates: any of these formats work — we detect and normalize.
2026-08-1508/15/2026Aug 15, 202615 Aug 2026Times: 24-hour (14:30) or with AM/PM (2:30 PM, 8am). Leave blank if the event has no set time.
Prices can be a number (15, $15.00) or the word free. Leave the cell blank if you don't want to advertise a price — visitors will see "pricing on event page."
The parking column has to be one of these three values:
free — parking included on-sitepaid — put the dollar amount in parking_pricestreet — public street parking, find your own spotAnything else in this column gets ignored and the event renders with no parking info.
Either a 2-letter code (CA, NY) or the full name (California, New York) works. Common abbreviations like Cali, Mass, and DCall expand correctly. If we can't recognize the state we pass it through to the geocoder — usually that still works, but a bad state is one of the most common reasons a venue fails to place on the map.
The amenitiescolumn takes a comma-separated list of tokens. We match fuzzy — capitalization, hyphens, and word spacing don't matter. Example:
"coffee, food trucks, DJ, vendors, outdoor"
Recognized tokens:
Raffle prize and live music artist get their own columns since they carry a value:
"Custom OEM+ Wheel Package". Filling this sets the raffle amenity and displays the prize on the event page."Silver Lake Session". Same pattern: sets live music on and shows the artist.If you just want the amenity icon without naming a prize or artist, put raffle or live music in the amenities column and leave the value columns blank.
Unrecognized tokens are surfaced as heads-up notes on the preview — the event still imports.
Vendor names go in the vendors column, semicolon-separated(not comma — vendor names often contain commas, like "Bob's Auto, Inc.").
"Toyo Tires; HRE Wheels; Cars.com"
To include a logo and/or booth number, use pipes inside each vendor: name|logo_url|booth.
"Toyo Tires|https://example.com/toyo.png|A1; HRE Wheels||B2; Cars.com"
Name||A1).Tags are free-form. There's no preset list — put whatever helps people find the event. Use commas or semicolons to separate multiple tags in one cell:
weekly, all-makes, family-friendlyjudged; awards; trophyJDM, imports, hondasGood tags to consider:
Tags show up as pills on the event page and help visitors filter by interest.
Put a public URL in hero_image_url. We download the image and rehost it in our own storage during import so it can't 404 later. A few things to know:
If an image fails, we still create the event and flag it in the result screen so you can go back and add a photo manually.