Indonesia operates approximately 5.8 million street food vendors according to the Ministry of Cooperatives and Small and Medium Enterprises, serving an estimated 60 percent of the urban population daily. The street food infrastructure divides into three primary formats: kaki lima mobile pushcarts named for the five feet of combined cart and pavement width, warung semi-permanent stalls with overhead shelter, and pasar malam night markets operating on fixed weekly schedules. Jakarta hosts an estimated 125,000 registered street food vendors as of the 2023 municipal census, with concentrations in Blok M, Sabang, and Pecenongan districts where vendor density exceeds 40 stalls per city block during evening hours.
The satay infrastructure represents Indonesia's most distributed street food system. Vendors operate from modified bicycles fitted with charcoal braziers, serving skewered proteins grilled over coconut shell charcoal that burns at temperatures between 260 and 315 degrees Celsius. Chicken satay dominates urban markets, priced at 1,500 to 3,000 rupiah per skewer of four pieces in 2024. Goat satay commands 3,000 to 5,000 rupiah per skewer in the same markets. Regional variants include satay Madura from East Java served with soy-based sauce rather than peanut, satay Padang from West Sumatra using yellow turmeric-based sauce, and satay lilit from Bali where minced seafood wraps around bamboo sticks. The Yogyakarta satay corridor along Jalan Malioboro operates 60 to 80 satay vendors nightly between 6 PM and midnight, collectively selling an estimated 15,000 to 20,000 skewers per evening according to the Yogyakarta Street Vendor Association 2023 report.
Nasi goreng street operations function as the primary late-night food infrastructure. Vendors operate from 8 PM to 4 AM, positioning near entertainment districts, transportation hubs, and residential neighborhoods. The preparation follows standardized procedure: day-old rice fried in palm oil or coconut oil at high heat with sweet soy sauce kecap manis, shallots, garlic, and optional additions of egg, chicken, or seafood. A standard portion weighs 250 to 350 grams and costs 10,000 to 20,000 rupiah in Jakarta as of 2024, with pricing scaling down to 7,000 to 12,000 rupiah in smaller cities like Solo or Malang. The dish appears at 98 percent of warung operations according to the 2022 Indonesian Street Food Survey conducted by Universitas Gadjah Mada, making it the most universally available prepared food in the country. Nasi goreng kambing using goat meat appears predominantly in Java and costs 15,000 to 25,000 rupiah, while nasi goreng seafood in coastal cities like Surabaya ranges from 18,000 to 30,000 rupiah.
Soto operates as a category of soups with distinct regional formulations. Soto Betawi from Jakarta uses beef and offal in coconut milk broth with tomatoes, selling at 15,000 to 25,000 rupiah per bowl at street stalls. Soto Lamongan from East Java employs chicken in turmeric-ginger broth with glass noodles, priced at 12,000 to 18,000 rupiah. Soto Banjar from South Kalimantan combines chicken with cinnamon-clove broth, available at 10,000 to 15,000 rupiah in Banjarmasin markets. Coto Makassar from South Sulawesi uses beef innards in peanut-based broth, selling at 18,000 to 28,000 rupiah in Makassar's Losari Beach night market which operates 120 to 150 food stalls daily. Each regional variant maintains separate vendor networks with apprenticeship transmission of recipes, creating geographic clustering where specific soto types dominate local markets.
Bakso represents the meatball soup infrastructure present in every Indonesian city. Vendors operate from modified motorcycles with attached serving carts, using compressed air horns or metal clanging to announce presence in residential neighborhoods. Standard bakso contains beef meatballs in beef bone broth with rice noodles, tofu, and fried wontons, priced at 10,000 to 18,000 rupiah per bowl in 2024 across Java. Bakso urat incorporating tendon costs 15,000 to 22,000 rupiah, while bakso ikan using fish paste appears at 12,000 to 20,000 rupiah in coastal regions. The Malang bakso variant from East Java includes siomay dumplings and costs 15,000 to 25,000 rupiah at source city locations. Mobile bakso vendors in Jakarta number approximately 8,000 according to the 2023 Jakarta Statistics Agency count, operating primarily between 11 AM and 9 PM with peak activity from 6 PM to 8 PM when residential demand concentrates.
Gado-gado vendors operate primarily from stationary warung rather than mobile carts due to the multiple component requirements. The dish assembles blanched vegetables including cabbage, bean sprouts, long beans, and water spinach with boiled potato, hard-boiled egg, tofu, tempeh, and rice crackers, served with peanut sauce containing ground roasted peanuts, palm sugar, tamarind, garlic, and chili. A complete serving weighs 400 to 500 grams and costs 12,000 to 20,000 rupiah in Jakarta, scaling to 8,000 to 15,000 rupiah in cities like Bandung or Semarang. Gado-gado Bon Bin in Jakarta's Pecenongan district has operated since 1960 and serves 300 to 400 portions daily according to ownership statements, representing the high-volume warung model. The peanut sauce preparation requires grinding roasted peanuts with stone mortar or mechanical grinder, mixing with 30 to 40 percent palm sugar by weight, and thinning with tamarind water to pourable consistency.
Nasi Padang service operates through a distinctive presentation system where 10 to 15 small dishes arrive at the table simultaneously, with payment calculated only for consumed items. Street-level Padang restaurants and warung number over 20,000 across Indonesia according to the 2021 Indonesian Restaurant Association census, with Jakarta hosting approximately 2,500 establishments. The dishes originate from West Sumatra Padang cuisine and include rendang slow-cooked beef in coconut milk and spices, gulai curry with multiple protein options, sambal balado chili paste, fried tempeh, cassava leaves in coconut milk, and fermented durian. A typical street warung meal selecting four to five dishes with rice costs 25,000 to 40,000 rupiah in Jakarta, or 18,000 to 30,000 rupiah in Padang source city locations. Rendang requires cooking beef in coconut milk with galangal, lemongrass, and chili for four to six hours until liquid completely reduces and meat caramelizes, creating the dry texture characteristic of properly prepared versions.
Martabak operates in two unrelated forms sharing only the name. Martabak manis represents sweet stuffed pancake sold from evening vendors using large circular griddles heated by propane burners. The batter contains wheat flour, eggs, yeast, and condensed milk, cooked as a thick pancake then filled with chocolate sprinkles, cheese, peanuts, or condensed milk before folding and cutting into pieces. A single martabak manis weighing 600 to 800 grams serves two to three people and costs 35,000 to 60,000 rupiah in Jakarta depending on filling combinations, with prices dropping to 25,000 to 45,000 rupiah in smaller cities. Martabak telur represents savory stuffed crepe using thin wheat dough filled with egg, minced meat, leeks, and served with curry sauce and pickled cucumbers, selling at 15,000 to 25,000 rupiah per piece. The two forms operate from separate vendor networks with no overlap, creating distinct martabak manis and martabak telur specialist stalls.
Nasi uduk vendors concentrate morning operations between 6 AM and 11 AM, serving coconut rice cooked in coconut milk with lemongrass and pandan leaf. The rice accompanies fried chicken, fried tempeh, scrambled egg, cucumber, and sambal, wrapped in banana leaf or served on plates. A complete portion costs 12,000 to 20,000 rupiah in Jakarta, or 8,000 to 15,000 rupiah in cities like Surabaya or Medan. The preparation requires soaking rice in coconut milk for 30 minutes before steaming with bay leaves, lemongrass, and galangal for 25 to 30 minutes. Jakarta's Kebon Kacang district operates a morning market from 6 AM to 10 AM with 40 to 50 nasi uduk vendors serving commuters heading to central business districts, with individual high-volume vendors selling 200 to 300 portions in the four-hour window according to vendor interviews conducted by Trisakti University food researchers in 2022.
Sate Padang vendors operate distinct sauce systems using thick yellow curry sauce rather than peanut sauce, incorporating beef tongue and offal alongside standard meat cuts. The sauce contains rice flour as thickener, turmeric, galangal, ginger, and chili, cooked to gravy consistency. Vendors serve this over ketupat compressed rice cakes rather than standard rice. Pricing ranges from 20,000 to 35,000 rupiah for eight to ten skewers with sauce and rice cake in Jakarta, dropping to 15,000 to 25,000 rupiah in Padang source locations. The Padang variant maintains separate vendor identity from standard peanut-sauce satay operations, with practitioners typically originating from West Sumatra Minangkabau communities and operating through kinship-based business networks that transmit recipes and establish new locations in other cities.
Pecel lele fried catfish stalls operate evening service from 5 PM to 11 PM, concentrating near residential areas and serving whole fried catfish with rice, raw vegetables, and sambal. The catfish weighs 150 to 250 grams before frying and costs 15,000 to 25,000 rupiah per fish with accompaniments in Jakarta, or 10,000 to 18,000 rupiah in East Java source regions where the dish originated. Vendors use large woks with palm oil heated to 170 to 190 degrees Celsius, frying catfish for eight to ten minutes until skin crisps. The sambal accompaniment uses raw red chili, shallots, garlic, tomato, and shrimp paste ground with mortar, distinguished from cooked sambal variants. Pecel lele operations in Yogyakarta number approximately 800 to 1,000 stalls according to the 2023 municipal vendor registry, creating density of one stall per 400 to 500 residents in the city proper.
Bubur ayam rice porridge vendors operate morning shifts from 6 AM to 11 AM, serving rice cooked in excess water until grain structure breaks down, topped with shredded chicken, fried soybeans, fried shallots, chopped scallions, and kerupuk crackers. A bowl weighing 350 to 450 grams costs 8,000 to 15,000 rupiah in Jakarta, or 5,000 to 10,000 rupiah in cities like Semarang or Solo. The rice requires cooking with water ratio of 1:8 to 1:10 for 45 to 60 minutes with continuous stirring to achieve smooth porridge consistency. High-volume vendors in transportation hubs like Gambir Station in Jakarta serve 400 to 600 bowls during morning hours according to station vendor reports, using 20 to 30 kilograms of raw rice daily per stall.
Siomay operations serve steamed fish dumplings with vegetables, tofu, bitter melon, and cabbage, covered in peanut sauce and sweet soy sauce. The fish paste uses Spanish mackerel ground with tapioca starch at 3:1 ratio, formed into dumplings and steamed for 12 to 15 minutes. Vendors operate from modified motorcycles with attached steamer boxes heated by small propane burners. A standard serving of six pieces with vegetables and sauce costs 12,000 to 18,000 rupiah in Bandung where the dish originated, or 15,000 to 22,000 rupiah in Jakarta. The Bandung variant adds bitter melon gourd that other regional versions omit. Siomay vendors in Bandung number approximately 500 according to the 2022 West Java street vendor census, with concentration along Jalan Cihampelas and near Institut Teknologi Bandung campus where student demand drives high turnover.
Es campur shaved ice dessert vendors operate afternoon and evening service from 2 PM to 10 PM, serving bowls of shaved ice with grass jelly, coconut flesh strips, fermented cassava, jackfruit, avocado, sweetened condensed milk, and colored sugar syrups. A bowl costs 8,000 to 15,000 rupiah in Jakarta, or 5,000 to 10,000 rupiah in smaller cities. Vendors use manual or electric ice shavers producing fine ice texture, assembling ingredients to order in plastic bowls. The grass jelly component uses Platostoma palustre leaves boiled with water then cooled to form gel, cut into cubes before serving. Yogyakarta's Malioboro night market operates 25 to 30 es campur vendors nightly serving the tourist and local population, with individual vendors selling 100 to 150 bowls per evening during peak tourist season from June to August according to vendor association data.
Klepon operations produce glutinous rice balls filled with palm sugar and coated in grated coconut, sold by street vendors and at traditional markets. The dough uses glutinous rice flour mixed with pandan leaf juice for green color, formed around solid palm sugar pieces, then boiled for six to eight minutes until the balls float. After draining, vendors coat them in fresh grated coconut. Vendors sell klepon in sets of five to eight pieces for 5,000 to 10,000 rupiah across Java. The palm sugar melts during boiling, creating liquid center that bursts when bitten. Traditional market vendors in Yogyakarta's Beringharjo Market produce klepon in morning batches of 200 to 300 pieces, selling complete inventory by noon according to market trader interviews.
Mie ayam chicken noodle vendors operate from stationary warung and mobile carts, serving wheat noodles with chicken pieces, wontons, and chicken broth. The noodles use wheat flour mixed with egg and alkaline water, rolled thin and cut into 2 to 3 millimeter strands. Vendors blanch noodles for 90 to 120 seconds, drain, toss with lard or chicken fat, then top with seasoned chicken pieces and pour broth. A bowl costs 10,000 to 18,000 rupiah in Jakarta, or 7,000 to 13,000 rupiah in cities like Malang or Solo. The chicken preparation involves marinating thigh meat in sweet soy sauce, garlic, and ginger, then stir-frying with oyster sauce. Mie ayam vendors in Surabaya number approximately 1,200 according to the 2023 East Java culinary census, with Chinese-Indonesian operated stalls representing 70 to 80 percent of vendors due to the dish's origin in Chinese immigrant communities.
Pempek fishcake vendors concentrate in Palembang where the dish originated, though distribution extends throughout Sumatra and Java. The fishcake uses Spanish mackerel or tenggiri fish ground with tapioca starch at 2:1 ratio, formed into various shapes including pempek kapal selam with egg filling, pempek lenjer cylindrical form, and pempek bulat spherical form. Vendors deep-fry pieces in palm oil at 170 to 180 degrees Celsius for five to seven minutes, serving with cuko sauce made from palm sugar, tamarind, garlic, and chili boiled to syrupy consistency. A serving of four to five pieces with sauce costs 15,000 to 25,000 rupiah in Palembang, or 20,000 to 30,000 rupiah in Jakarta. Palembang's Pempek Vico location has operated since 1970 and produces 800 to 1,000 pieces daily according to ownership reports, representing high-volume production scale.