Citing websites in APA style with Zotero

Using natbib and apa-good as style, I am having problems displaying a citation of type website or blog post.

\usepackage{natbib}
\bibliographystyle{apa-good}
\bibliography{msc_thesis}



msc_thesis.bib contains, when taking the metadata directly from a website using Zotero:

@misc{schroeder_facebook_2012,
title = {Facebook Hits One Billion Active Users},
abstract = {Facebook just officially reached one billion active users, Facebook {CEO} and co-founder Mark Zuckerberg has announced.},
urldate = {2013-07-17},
journal = {Mashable},
author = {Schroeder, Stan},
month = oct,
year = {2012},
}


APA style should be, according to http://www.studygs.net/citation.htm:

Author. (Date published if available; n.d.--no date-- if not). Title of article. Title of web site . Retrieved date. From URL.

But what I get is:

Schroeder, S. (2012). Facebook hits one billion active users.

I don't know whether apa-good is a "good" choice, it has always worked well for other type of media.

• the answer to Internet citation using APA helps to figure out why the url doesn't appear at all. As to the formatting you're after, apa-good might not be a good choice... (BTW, you should add a link to it, since it's not available on CTAN) Jul 17 '13 at 19:42

A biblatex solution

As I mentioned in the comments, Mico's answer to Internet citation using APA points out that apa-good.bst requires the url. But since the apa-good.bst style I found didn't produce the output you're expecting, I'd suggest biblatex, which has an APA style (called biblatex-apa).

\documentclass{article}
\begin{filecontents}{\jobname.bib}
title = {Facebook Hits One Billion Active Users},
abstract = {Facebook just officially reached one billion active users, Facebook {CEO} and co-founder Mark Zuckerberg has announced.},
urldate = {2013-07-17},
journal = {Mashable},
author = {Schroeder, Stan},
month = oct,
year = {2012},
}
\end{filecontents}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\begin{document}
\printbibliography
\end{document}


Although the output is the same, a more adequate entry type in biblatex would be @online (notice also the date field):

@online{schroeder2012,
title = {Facebook Hits One Billion Active Users},
abstract = {Facebook just officially reached one billion active users, Facebook {CEO} and co-founder Mark Zuckerberg has announced.},
urldate = {2013-07-17},
journal = {Mashable},
author = {Schroeder, Stan},
date = {2012-10},
}


N.B. According to the manual (§1, "Important Changes"), biblatex-apa relies on the usage of biber instead of bibtex as the backend (It's the default behavior of biblatex, but I added the corresponding option to the MWE to make it clear).

About moving to biblatex, I'd suggest the following questions:

• Well... I understand that biblatex might be the right solution.. but I can't get it to run correctly in my TeXnicCenter. Jul 23 '13 at 12:32
• That's because biblatex-apa requires biber instead of bibtex as the backend. You'd probably need to configure TeXnicCenter to run it, as suggested in this answer Jul 23 '13 at 12:55
• I know about biber - and it finally worked (was a compat problem between biblatex and the former). Thanks for your advice, I'll accept. Jul 23 '13 at 14:59