Faits: A. Y._, représentée par son mari, a confié à l'architecte A._ la direction de travaux concernant des immeubles dont elle est propriétaire. Dans ce cadre, celui-ci a contacté X._ SA pour lui proposer de soumissionner en vue de la pose d'une conduite de gaz, tracé qui était entièrement compris sur la parcelle de Y._. Le 27 novembre 2006, l'architecte a adjugé les travaux de fouille à X._ SA selon une soumission faisant état d'un prix total net de 12'000 fr. hors taxes, arrêté à 12'900 fr. TVA comprise. En janvier 2007, le contremaître de X._ SA a proposé à A._ un autre tracé afin de raccorder directement l'un des immeubles au réseau public du gaz sur la voie publique adjacente, la distance étant sensiblement plus courte. Le contremaître a invité l'architecte à vérifier que cette variante soit effectivement moins chère; A._ a effectué ce contrôle sur la base des prix mentionnés dans la soumission, complétés par différents éléments dont les taxes liées aux travaux sur la voie publique, estimées à environs 7'000 fr., qui devaient être acquittées avant le début des travaux; l'architecte a évalué le coût des travaux de X._ SA, selon cette variante, à quelque 5'000 fr., soit un coût total de 12'000 fr. légèrement inférieur à celui découlant de la soumission. A._ a alors donné son accord à X._ SA pour procéder selon cette variante; cette modification n'a toutefois pas fait l'objet d'un document écrit; il n'a pas non plus été établi, ni même allégué, que A._ ait fait part oralement à X._ SA de son estimation du nouveau coût des travaux. Le déroulement des travaux a été compliqué et prolongé en raison du délai d'intervention des Services industriels de Genève, qui devaient eux-mêmes procéder au raccordement du gaz après l'ouverture de la tranchée mais n'avaient pas d'équipe immédiatement disponible; ils n'avaient en effet pas été prévenus de la date de ces travaux. L'allongement de la durée du chantier a eu des répercussions sur son coût car il a fallu faire repartir, puis revenir l'équipe et les machines de X._ SA. Par ailleurs, le choix du tracé de la fouille sur la voie publique a impliqué des prestations en partie différentes de celles prévues initialement. Le 28 février 2007, X._ SA a adressé à A._, aux noms de Y._ et de son mari, une facture détaillée pour les travaux de terrassement qu'elle avait effectués sur la voie publique à la demande de l'architecte. Cette facture présentait un montant total, TVA comprise, de 20'540 fr. 85. A._ a fait établir, par un collaborateur de X._ SA, le métré des travaux accomplis par cette entreprise. Pour les postes qui figuraient dans le devis initial, il a retenu les prix unitaires de ce devis; les quantités mesurées par X._ SA ont été admises par l'architecte; le montant total accepté par celui-ci s'élevait à 5'499 fr. 45 toutes taxes comprises, arrondi à 5'500 fr. Le 6 mai 2007, Y._ a versé à X._ SA la somme de 5'500 fr. correspondant selon l'architecte à la valeur des travaux effectués. B. Le 21 mai 2007, X._ SA a requis l'inscription préprovisoire et provisoire d'une hypothèque légale des artisans et entrepreneurs à concurrence de 20'540 fr. 85 avec intérêt à 5 % l'an dès le 30 mai 2007 sur la parcelle de Y._. L'inscription a été ordonnée comme telle à titre préprovisoire le jour même et pour un montant de 15'040 fr. 85 à titre provisoire le 13 juin 2007. Le 18 juillet 2007, X._ SA a formé contre Y._ une requête en inscription définitive d'une hypothèque légale, ainsi qu'une demande en paiement. Elle concluait en particulier à la condamnation de son adverse partie à lui verser la somme de 15'040 fr. 85 avec intérêt à 5 % l'an dès le 28 février 2007 et à la validation de la mesure d'inscription provisoire de l'hypothèque légale. Par jugement du 6 octobre 2008, le Tribunal de première instance du canton de Genève a condamné Y._ à payer à X._ SA la somme de 15'040 fr. 85 avec intérêt à 5 % l'an dès le 30 mai 2007 et ordonné que soit inscrite une hypothèque légale d'entrepreneur définitive à due concurrence. En substance, il a considéré que le prix de l'ouvrage réalisé par X._ SA devait être déterminé selon l'art. 374 CO - qui dispose que si le prix n'a pas été fixé d'avance, ou s'il ne l'a été qu'approximativement, il doit être déterminé d'après la valeur du travail et les dépenses de l'entrepreneur -; il a estimé que l'architecte avait accepté, sous réserve de deux contestations mineures, tant le métré des travaux que la facture établis par X._ SA; le coût des travaux, supérieur à celui devisé initialement, était justifié par la complexité et la difficulté accrues du chantier qui s'était déroulé en définitive sur une voie publique goudronnée et non pas en pleine terre sur une propriété privée. Saisie d'un appel de Y._ et statuant par arrêt du 24 avril 2009, la Chambre civile de la Cour de justice du canton de Genève a annulé le jugement du 6 octobre 2008 et débouté X._ SA de toutes ses conclusions. En bref, elle a considéré que les parties avaient implicitement renoncé au contrat d'entreprise initial pour en conclure un autre, oral, relatif au nouveau tracé de la fouille, pour lequel aucun accord préalable sur le prix et aucun devis n'avait été requis; la valeur de ce travail devait dès lors être déterminée selon l'art. 374 CO; X._ SA n'avait pas démontré, par des preuves susceptibles d'emporter la conviction de la Cour, l'existence et l'étendue des prestations qu'elle avait facturées sur la base d'heures comptées à un tarif de régie, que ce soit pour la main d'oeuvre ou l'utilisation des machines, ces postes se montant à 13'740 fr., alors qu'ils ne figuraient pas dans le devis initial et que, dans la règle, le coût des machines devait être supporté par l'entrepreneur; il en allait de même des matériaux fournis dont les prix unitaires, à l'exception du sable, avaient été facturés à des prix qu'elle avait fixés unilatéralement; ainsi, X._ SA n'avait pas fait signer par la direction des travaux les bons de régie qui auraient démontré le bien-fondé des heures facturées; elle n'avait pas fait entendre le ou les machinistes et ouvriers ayant oeuvré sur ce chantier, lesquels auraient pu confirmer l'utilisation des différents types de machines et le temps nécessaire à l'accomplissement des travaux; enfin, elle n'avait pas sollicité d'expertise, qui lui aurait permis de démontrer, le cas échéant, que le prix facturé correspondait aux prix usuels; l'application de l'art. 8 CC commandait ainsi de faire droit à l'appel, X._ SA n'ayant pas prouvé, comme elle en avait le devoir, que la valeur de son travail et de ses dépenses excédait le montant de 5'500 fr. que Y._ lui avait versé pour la rémunérer. C. X._ SA (la recourante) interjette un recours constitutionnel subsidiaire au Tribunal fédéral, dans lequel elle conclut à l'annulation de l'arrêt du 24 avril 2009 et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants, avec suite de dépens. Y._ (l'intimée) propose le rejet du recours, sous suite de frais et dépens. 